详解保护Linux服务器七步骤

运维 系统运维
对于那些安装Linux操作系统的人,主要是想有一个安全的操作系统,怎样才能拥有一个安全的Linux服务器呢?本文列出七条管理员能够也应该可以做到的步骤,从而帮助他们建立更加安全Linux服务器,并显著降低他们所面临的风险。

对于那些安装Linux操作系统的人,主要是想有一个安全的操作系统,怎样才能拥有一个安全的Linux服务器呢?许多刚接触Linux的网络管理员发现,他们很难由指向点击式的安全配置界面转换到另一种基于编辑复杂而难以捉摸的文本文件的界面。

本文列出七条管理员能够也应该可以做到的步骤,从而帮助他们建立更加安全Linux服务器,并显著降低他们所面临的风险。

请任何大型机构的网络管理员对Linux和网络操作系统(如Windows NT或Novell)进行比较,可能他会承认Linux是一个内在更加稳定,扩展性更强的解决方案。可能他还会承认,在保护系统免受外部攻击方面,Linux可能是三者中最难配置的系统。

这种认识相当普遍——许多刚接触Linux的网络管理员发现,他们很难由指向点击式的安全配置界面转换到另一种基于编辑复杂而难以捉摸的文本文件的界面。多数管理员充分认识到他们需要手工设置阻碍和障碍,以阻止可能的黑客攻击,从而保护公司数据的安全。只是在他们并不熟悉的Linux领域内,他们不确定自己的方向是否正确,或该从何开始。

这就是本文的目的所在。它列出一些简易的步骤,帮助管理员保障Linux的安全,并显著降低他们面临的风险。本教程列出了七个这样的步骤,但您也可以在Linux手册和讨论论坛中发现更多内容。

保护根账户

Linux系统上的根账户(或超级用户账户)就像是滚石演唱会上的后台通行证一样——它允许您访问系统中的所有内容。因此,值得采取额外的步骤对它加以保护。首先,用密码命令给这个账户设置一个难以猜测的密码,并定期进行修改,而且这个密码应仅限于公司内的几个主要人物(理想情况下,只需两个人)知晓。

然后,对/etc/securetty文件进行编辑,限定能够进行根访问的终端。为避免用户让根终端“开放”,可设置TMOUT当地变量为非活动根登录设置一个使用时间;并将HISTFILESIZE当地变量设为0,保证根命令记录文件(其中可能包含机密信息)处于禁止状态。最后,制订一个强制性政策,即使用这个账户只能执行特殊的管理任务;并阻止用户默认以根用户服务登录。

提示:关闭这些漏洞后,再要求每一个普通用户必须为账户设立一个密码,并保证密码不是容易识别的启示性密码,如生日、用户名或字典上可查到的单词。

安装一个防火墙

防火墙帮助您过滤进出服务器的数据包,并确保只有那些与预定义的规则相匹配的数据包才能访问系统。有许多针对Linux的优秀防火墙,而且防火墙代码甚至可直接编译到系统内核中。首先应用ipchains或iptables命令为进出网络的数据包定义输入、输出和转寄规则。可以根据IP地址、网络界面、端口、协议或这些属性的组合制订规则。这些规则还规定匹配时应采取何种行为(接受、拒绝、转寄)。规则设定完毕后,再对防火墙进行详细检测,保证没有漏洞存在。安全的防火墙是您抵御分布式拒绝服务(DDoS)攻击这类常见攻击的第一道防线。

使用OpenSSH处理网络事务

在网络上传输的数据安全是客户-服务器构架所要处理的一个重要问题。如果网络事务以纯文本的形式进行,黑客就可能“嗅出”网络上传输的数据,从而获取机密信息。您可以用OpenSSH之类的安全壳应用程序为传输的数据建立一条“加密”通道,关闭这个漏洞。以这种形式对连接进行加密,未授权用户就很难阅读在网络主机间传输的数据。

禁用不必要的服务

大多数Linux系统安装后,各种不同的服务都被激活,如FTP、telnet、UUCP、ntalk等等。多数情况下,我们很少用到这些服务。让它们处于活动状态就像是把窗户打开让盗贼有机会溜进来一样。您可以在/etc/inetd.conf或/etc/xinetd.conf文件中取消这些服务,然后重启inetd或xinetd后台程序,从而禁用它们。另外,一些服务(如数据库服务器)可能在开机过程中默认启动,您可以通过编辑/etc /rc.d/*目录等级禁用这些服务。许多有经验的管理员禁用了所有系统服务,只留下SSH通信端口。

使用垃圾邮件和反病毒过滤器

垃圾邮件和病毒干扰用户,有时可能会造成严重的网络故障。Linux有极强的抗病毒能力,但运行Windows的客户计算机可能更易受病毒攻击。因此,在邮件服务器上安装一个垃圾邮件和病毒过滤器,以“阻止”可疑信息并降低连锁崩溃的风险,会是一个不错的主意。

首先安装SpamAssassin这个应用各种技术识别并标注垃圾邮件的一流开源工具,该程序支持基于用户的白名单与灰名单,提高了精确度。接下来,根据常规表达式安装用户级过滤,这个工具可对收件箱接收的邮件进行自动过滤。最后再安装Clam Anti-Virus,这个免费的反病毒工具整合 Sendmail和SpamAssassin,并支持电子邮件附件的来件扫描。

安装一个入侵检测系统

入侵检测系统(IDS)是一些帮助您了解网络改变的早期预警系统。它们能够准确识别(并证实)入侵系统的企图,当然要以增加资源消耗与错误线索为代价。您可以试用两种相当知名的IDS:tripwire,它跟踪文件签名来检测修改;snort,它使用基于规则的指示执行实时的信息包分析,搜索并识别对系统的探测或攻击企图。这两个系统都能够生成电子邮件警报(以及其它行为),当您怀疑您的网络受到安全威胁而又需要确实的证据时,可以用到它们。

定期进行安全检查

要保障网络的安全,这最后一个步骤可能是最为重要的。这时,您扮演一个反派的角色,努力攻破您在前面六个步骤是建立的防御。这样做可以直接客观地对系统的安全性进行评估,并确定您应该修复的潜在缺陷。

有许多工具可帮助您进行这种检查:您可以尝试用Crack和John the Ripper之类的密码破解器破译您的密码文件;或使用nmap或 netstat来寻找开放的端口;还可以使用tcpdump探测网络;另外,您还可以利用您所安装的程序(网络服务器、防火墙、Samba)上的公开漏洞,看看能否找到进入的方法。如果您设法找到了突破障碍的办法,其他人同样也能做到,您应立即采取行动关闭这些漏洞。

保护Linux服务器是一项长期的任务,完成上述步骤并不表示你可以高枕无忧。还需要你经常的去维护你的Linux服务器。

Linux操作系统的强大功能让很多人选择去应用它,这就不得不说说Linux防火墙,Linux防火墙的安全性能让很多用户所钟爱。你应用Linux防火墙可以实现不让其他主机扫描本机。

如果企业网络中有独立防火墙的话,再也可以实现类似的限制。如有些企业部署了入侵检测系统可以主动的阻止可疑的恶意行为,如NMAP扫描等等。但是NMAP命令结合一些选项使用,却可以跟Linux防火墙或者入侵检测系统躲猫猫。

虽然有的管理员质疑NMAP开发者提供这些选项的意图,这些选项容易被攻击者利用。但是工具没有好坏,就看人怎么利用了。一些系统管理员往往利用NMAP命令的这些选项来提高网络部署的安全性。如我就喜欢利用这个命令来跟防火墙等安全软件玩躲猫猫的游戏。也就是说笔者伪装成一个攻击者,来测试这些安全系统能否阻挡我的攻击或者能否在安全系统日志内留下我的踪迹。换个角度思考,或许就能够发现企业的安全漏洞。

类似的选项有很多。出于篇幅的限制,不能够过多的阐述。我就只拿一些常用的选项来进行说明。

一、把报文进行分段。

像防火墙等类似的安全设备,都可以用来过滤扫描报文。但是这个过滤的策略并不是很安全。如现在利用NMAP命令的-f选项,可以将Tcp头分段在好几个包中。如此的话,防火墙或者入侵检测系统中的包过滤器就很难过滤这个TCP包。从而可以让SNMP扫描命令跟这些安全措施玩躲猫猫的游戏。

当使用-f选项时,一个20字节的TCP头会被分割成三个包,其中两个包分别有TCP头的八个字节;另外一个包具有TCP头剩下的四个字节。通常情况下安全措施所采用的包过滤器会对所有的IP分段进行排队,而不会直接使用这些分段包。由于对报文进行了分段,那么这些过滤器就很难识别这些包的类型。然后这些包会在主机处重新进行整合,变成一个合法的TCP包。在大多数情况下这些安全措施应该禁止这些包。因为这些包会给企业的网络带来很大的性能冲击,无论是防火墙或者终端设备都会受到影响。如Linux系统的防火墙中有一个配置项,就可以通过禁止对IP分段进行排队而限制对TCP包进行分段。

可见nmap –f命令对防火墙等安全措施具有一定的欺骗性。我们刚好可以利用这个命令来测试我们所采用的安全软件是否真的安全。据我了解,虽然这个安全隐患已经出现许多年了,但是现在不是所有的安全产品都能够对此进行有效的预防。所以采用这个-f选项可以帮助系统管理员一针见血的判断所采用的安全产品能否应对这个可能的攻击。如在防火墙上设置禁止扫描,然后系统管理员再利用nmap –f命令无法得到应有的结果时,则表明防火墙策略有效。但是相反其仍然可以正常的返回结果(可能时间会长一点),则表明nmap –f命令可以成功的跟防火墙玩猫猫。系统管理员需要注意一下Linux防火墙的安全性了。

二、利用假的IP地址进行扫描。

通常情况下像防火墙或者客户端电脑都可以记录下访问者的相关信息,如IP地址等等。为此如果采用nmap命令来进行扫描的话,那就会在防火墙或者客户端主机上留下扫描着的IP地址。留下这个“罪证”对于扫描着可就非常不利了。另外在防火墙的配置上,系统管理员可能允许某个特定的IP地址可以进行扫描作业。而其他IP地址发出的扫描数据包都会被过滤掉。在这种情况下,无论是为了隐藏自己的真实身份,又或者是冒用合法地址进行NMAP扫描,都需要用到一种叫做源地址哄骗的技术。

说到这种技术,我不得不说说最近出现的一种手机诈骗手段,跟这个源地址哄骗非常类似。有时候我们会接到朋友打过来的电话或者发过来的短消息,要求我们汇钱过去。虽然此时手机上显示的是朋友的手机号码,其实发短信的人不一定是你的朋友。因为现在有一种技术可以把发送者的手机号码进行修改。发送者想显示什么号码就是什么号码。其实这个源地址哄骗跟这个手机号码欺骗是类似的道理。通过“nmap –s 扫描者IP地址 被扫描者IP地址”这种方式,攻击者可以把自己的IP地址隐藏掉,而采用一个假冒的IP地址。无论这个IP地址是否在网络中存在,都可以使用。在防火墙或者操作系统的日志上显示的都是伪装过的那个IP地址。

为此在选购防火墙等安全产品的时候,Linux系统管理员可以利用nmap –s命令来测试防火墙是否具有应对源地址哄骗攻击的手段。如先在Linux防火墙上启用日志功能,然后利用nmap –s命令来扫描防火墙或者其他主机设备。再去查看相关的日志。看看这个日志中纪录的IP地址信息是伪装的IP地址还是扫描者真实的IP地址。通过这种方式就可以简单的判断出防火墙等安全产品能否应对类似的源地址欺骗攻击。虽然日志记录的攻击者真实身份有点像放马后炮,但是对于我们迅速查找攻击者,防止其再次发动攻击具有很大的价值。为此一些安全产品中需要具备一些源地址哄骗的预防功能。

三、利用诱饵实现隐蔽扫描。

通过源地址哄骗可以隐藏扫描者的身份,不过这种技术的话在一次扫描过程中之能够伪装一个IP地址。而目前比较流行的隐藏IP地址的方法是使用诱饵主机。简单的说,非法供给者可以采用网络中正在使用的几个IP地址当作自己的IP地址,对网络主机进行扫描。而安全设备的话,并不知道哪个IP地址是真实的IP地址。如在防火墙上可能会纪录某个IP地址的5-8个端口扫描。这是一种比较隐蔽的隐藏自身IP地址的有效手段。

更有趣的是攻击者还可以把自己的真实IP地址也放入进去,以增加攻击的挑战性,挑战防守者的智慧。如系统管理员可以通过ME选项将自己的IP地址放入到诱饵IP地址当中。通常情况下把自己的IP地址放在靠后的位置,则防火墙就很难检测到这个真实的IP地址。不过这个诱饵的IP地址数量不在于多,而在于精。如把这一些具有比较高的权限的IP地址(如在Linux服务器上根据IP地址来实现一些防火墙策略)加入到诱饵主机列表中,将起到出奇制胜的效果。而过多的诱饵地址反而会使得扫描时间过长或者结果不准确。最要命的是可能会导致被扫描网络性能下降,从而引起对方网络管理员的注意。

其实诱饵技术现在也有了预防的方法。如通过路由追踪、响应丢弃等方法,可以用来防止攻击者使用诱饵隐蔽扫描。有时候这种安全机制对于企业很重要。因为诱饵隐蔽攻击不但可以秘密收集到企业网路主机的重要信息,为其后续攻击做好准备。而且nmap –D命令还容易引起SYN洪水攻击。如当非法攻击者所采用的诱饵主机并不在工作状态时,就会对目标主机发起SYN洪水攻击。这是一个比较危险的攻击手段。

既然现在已经有了解决方案来应对诱饵隐蔽扫描,那么Linux系统管理员或者网络工程师所要做的就是来测试防火墙或者其他的安全产品是否提供了类似的解决方案。有时候往往不能够光靠对方业务员的描述,而需要我们来进行测试。那么利用这个nmap 命令显然可以帮助我们来进行这方面的测试。

在nmap命令中,类似的选项还有很多。如可以通过source-port选项,来实现源端口哄骗;如利用date-length选项,在发送报文时附加有害的数据;通过spoof-mac选项,实现MAC地址哄骗,这个跟源地址欺骗结合可以让MAC地址与IP地址捆绑等安全策略失效;等等。这些选项如果被非法攻击者利用,无疑会威胁到Linux网络的安全。但是,如果我们能够事先采用这些选项来测试自己网络与主机的安全性,并率先把这些漏洞补上了。

那么非法攻击者也只好无功而返了。所以我认为工具无所谓好坏,主要就看使用者的心态了。为此我建议各位不妨利用NMAP命令跟自己企业的Linux防火墙等安全产品玩玩躲猫猫的游戏,来判断一下所谓的安全防护体系是否真的安全。

计算机世界里微软称霸,不过Linux也走出了自己之路,你是在应用Linux桌面系统么?你对于Linux桌面系统了解么?Linux是GNU/Linux桌面系统的泛称,其典型代表是Ubuntu 9.10发行版。计算机预装Linux是人们多年来的梦想。如今,这个梦想终于实现了。此话当真?

Ubuntu 9.10中的各类程序bugs,目前还有7万6千个左右,呈现波浪式下降趋势。根据明显的道理,如果局限在某一特定款式的计算机硬件体系上,这种bugs总数将急剧下降。Dell公司内部有一支力量强大的测试团队,扫除程序bugs,实现完美预装,专门对付这种局面。近日,Dell推出mini 10和mini 10v两种新款式的上网本,预装 Ubuntu 9.10(Dell修订版)桌面系统,被业内专家(如:Steven J. Vaughan-Nichols)称为上网本之精品(见Dell官方网站)。

Dell的这两款新机型,采用Intel最新的低功耗Pine Trail芯片组(Atom N450,1.66GHz),可连续运行10小时(6-Cell电池),11.1英寸显示屏,1GB内存,64GB固态硬盘,重3磅,无线上网,支持蓝牙,6种外观颜色,等等,定价仅为299美元。从mini 10的18张不同角度的图片来看,这款新机型一定让你心动。

从2007年5月,Dell公司就出售Ubuntu电脑,至今已有两年半了。Dell mini 10上网本宣告了一个新时代的到来:低价格、高性能的上网本登上了历史舞台,这是新一代上网本的标杆性代表作。这种产品为何不能到中国来销售?原因很简单,2千元人民币买回家,再装上盗版Win 7,身价顿时就会倍增(5千元人民币一台)。在购置电脑方面,某些国人很舍得花钱,上网本也要预装Win 7旗舰版(6千元一台),显得个人身价很高。这些人的手机也要玩数千元款式的新潮手机(我的新手机360元),他们对Linux电脑根本不屑一顾。

我相信,我周边的人并不都是很富裕,对4~5千元的上网本也会嫌贵。由此,我主张大家玩U盘。昨晚,我去喀纳斯专卖店(www.Kanasshop.com)转悠了一趟,发现4GB的自启动U盘才85元人民币一块,其实,一般而言,Ubuntu 9.10中文定制版只占U盘的800多MB的空间(专门压缩格式),用2GB的U盘就已足矣,价格还有进一步下降的余地。一块小小的U盘(比如,内装Mint 8)可使你的电脑焕然一新,何乐而不为?

说明:Live USB(即自启动U盘,不是LiveCD)的本意就是直接从U盘启动操作系统,未必一定要包含操作系统的安装功能。如果你想把U盘内容安装到自己的硬盘上去,那就得自己另外想法子了。也许在未来Linux桌面系统也学会赶超微软。

【编辑推荐】

  1. 命令手册:Linux中的ipvsadm命令
  2. 今天你预装Linux桌面系统了么?
  3. Linux中NMAP工具的强大功能
  4. Linux防火墙与NMAP命令捉迷藏
  5. 应用WinScp完成Linux操作系统与微软文件互换
责任编辑:小霞 来源: 51CTO.com
相关推荐

2009-12-21 17:13:14

宽带路由器设置

2018-02-24 18:12:30

2009-10-12 11:11:49

2015-01-15 11:33:34

2010-06-17 10:23:38

SQL Server服

2023-01-12 07:57:26

2013-01-14 14:56:33

2010-05-12 15:02:41

Subversion服Ubuntu

2010-09-24 15:50:03

2012-12-17 11:07:22

虚拟机快照虚拟服务器备份

2019-12-02 14:30:59

服务器SNMP网络协议

2019-10-12 10:00:17

Linux服务器网络

2011-07-18 16:11:32

域控制器

2009-04-17 10:29:13

项目需求管理

2018-09-12 10:21:12

价格保护高并缓存

2010-05-13 17:27:04

IIS 7.0

2019-03-10 20:37:14

Python编程语言

2010-08-10 13:15:36

Flex配置

2010-05-28 10:10:49

2013-11-06 13:55:27

AngularJS服务
点赞
收藏

51CTO技术栈公众号