快捷搜索:

高级Linux安全管理技巧之十剑

因为Linux操作系统是一个开放源代码的免费操作系统,是以受到越来越多用户的迎接。跟着Linux操作系统在我国的赓续遍及,有关确政府部门更是将基于Linux开拓具有自立版权的操作系统前进到保卫国乡信息安然的高度来看待,是以我们不难猜测往后Linux操作系统在我国将获得更快更大年夜的成长。虽然Linux与UNIX很类似,但它们之间也有一些紧张的区别。对付浩繁的习气了UNIX和Windows的系统治理员来讲,若何包管Linux操作系统的安然将面临许多新的寻衅。本文先容了一系列实用的Linux安然治理履历。

一、文件系统

在Linux系统中,分手为不合的利用安装零丁的主分区将关键的分区设置为只读将大年夜大年夜前进文件系统的安然。这主要涉及到Linux自身的ext2文件系统的只添加(只添加)和弗成变这两大年夜属性。

●文件分区Linux的文件系统可以分成几个主要的分区,每个分区分手进行不合的设置设置设备摆设摆设和安装,一样平常环境下至少要建立/、/usr/local、/var和/home中分区。/usr可以安装成只读并且可以被觉得是弗成改动的。假如/usr中有任何文件发生了改变,那么系统将急速发出安然报警。当然这不包括用户自己改变/usr中的内容。/lib、/boot和/sbin的安装和设置也一样。在安装时应该只管即便将它们设置为只读,并且对它们的文件、目录和属性进行的任何改动都邑导致系统报警。

当然将所有主要的分区都设置为只读是弗成能的,有的分区如/var等,其自身的性子就抉择了不能将它们设置为只读,但应该不容许它具有履行权限。

●扩展ext2应用ext2文件系统上的只添加和弗成变这两种文件属性可以进一步前进安然级别。弗成变和只添加属性只是两种扩展ext2文件系统的属性标志的措施。一个标记为弗成变的文件不能被改动,以致不能被根用户改动。一个标记为只添加的文件可以被改动,但只能在它的后面添加内容,纵然根用户也只能如斯。

可以经由过程chattr敕令来改动文件的这些属性,假如要查看其属性值的话可以应用lsattr敕令。要想懂得更多的关于ext2文件属性的信息,可应用敕令man chattr来寻求赞助。这两上文件属性在检测黑客妄图在现有的文件中安装入侵后门时是很有用的。为了安然起见,一旦检测到这样的活动就应该急速将其阻拦并发出报警信息。

假如你的关键的文件系统安装成只读的并且文件被标记为弗成变的,入侵者必须从新安装系统才能删除这些弗成变的文件但这会立即孕育发生报警,这样就大年夜大年夜削减了被不法入侵的时机。

●保护log文件当与log文件和log备份一路应用时弗成变和只添加这两种文件属性分外有用。系统治理员应该将活动的log文件属性设置为只添加。当log被更新时,新孕育发生的log备份文件属性应该设置成弗成变的,而新的活动的log文件属性又变成了只添加。这平日必要在log更新脚本中添加一些节制敕令。

二、备份

在完成Linux系统的安装今后应该对全部系统进行备份,今后可以根据这个备份来验证系统的完备性,这样就可以发明系统文件是否被不法修悛改。假如发生系统文件已经被破坏的环境,也可以应用系统备份来规复到正常的状态。

●CD-ROM备份当前最好的系统备份介质便是CD-ROM光盘,今后可以按期将系统与光盘内容进行对照以验证系统的完备性是否遭到破坏。假如对安然级其余要求分外高,那么可以将光盘设置为可启动的并且将验证事情作为系统启动历程的一部分。这样只要可以经由过程光盘启动,就阐明系统尚未被破坏过。

假如你创建了一个只读的分区,那么可以按期从光盘映像从新装载它们。纵然象/boot、/lib和/sbin这样不能被安装成只读的分区,你仍旧可以根据光盘映像来反省它们,以致可以在启动时从另一个安然的映像从新下载它们。

●其它要领的备份虽然/etc中的许多文件常常会变更,但/etc中的许多内容仍旧可以放到光盘上用于系统完备性验证。其它不常常进行改动的文件,可以备份到另一个系统(如磁带)或压缩到一个只读的目录中。这种法子可以在应用光盘映像进行验证的根基上再进行额外的系统完备性反省。

既然现在绝大年夜多半操作系统现在都在随光盘一路供给的,制作一个CD-ROM紧急启动盘或验证盘操作起来是十分方便的,它是一种十分有效而又可行的验证措施。

三、改进系统内部安然机制

可以经由过程改进Linux操作系统的内部功能来防止缓冲区溢出进击这种破坏力极强却又最难预防的进击要领,虽然这样的改进必要系统治理员具有相称富厚的履历和技术,但对付许多对安然级别要求高的Linux系统来讲照样很有需要的。

●Solaris Designer的安然Linux补丁Solaris Designer用于2.0版内核的安然Linux补丁供给了一个弗成履行的栈来削减缓冲区溢出的要挟,从而大年夜大年夜前进了全部系统的安然性。

缓冲区溢出实施起来是相称艰苦的,由于入侵者必须能够判断潜在的缓冲区溢出何时会呈现以及它在内存中的什么位置呈现。缓冲区溢出预防起来也好不轻易,系统治理员必须完全去掉落缓冲区溢出存在的前提才能防止这种要领的进击。正由于如斯,许多人以致包括Linux Torvalds本人也觉得这个安然Linux补丁十分紧张,由于它防止了所有应用缓冲区溢出的进击。然则必要引起留意的是,这些补丁也会导致对履行栈的某些法度榜样和库的依附问题,这些问题也给系统治理员带来的新的寻衅。

弗成履行的栈补丁已经在许多安然邮件列表(如linux.org">securedistros@nl.linux.org)中进行分发,用户很轻易下载到它们等。

●StackGuardStackGuard是一个十分强大年夜的安然补丁对象。你可以应用经StackGuard修补过的gcc版原先从新编译和链接关键的利用。

StackGuard进行编译时增添了栈反省以防止发生栈进击缓冲区溢出,虽然这会导致系统的机能略有下降,但对付安然级别要求高的特定利用来讲StackGuard仍旧是一个十分管用的对象。

现在已经有了一个应用了SafeGuard的Linux版本,用户应用StackGuard将会加倍轻易。虽然应用StackGuard会导致系统机能下降约10~20%,但它能够防止全部缓冲区溢出这一类进击。

●增添新的造访节制功能Linux的2.3版内核正试图在文件系统中实现一个造访节制列表,这要可以在原本的三类(owner、group和other)造访节制机制的根基上再增添更具体的造访节制。

在2.2和2.3版的Linux内核中还将开拓新的造访节制功能,它终极将会影响当前有关ext2文件属性的一些问题。与传统的具有ext2文件系统比拟它供给了一个加倍正确的安然节制功能。有了这个新的特点,利用法度榜样将能够在不具有超级用户权限的环境下造访某些系统资本,如初始套接等。

●基于规则集的造访节制现在有关的Linux团体正在开拓一个基于规则的造访节制(RSBAC)项目,该项目声称能够使Linux操作系统实现B1级的安然。RSBAC是基于造访节制的扩展框架并且扩展了许多系统调用措施,它支持多种不合的造访和认证措施。这对付扩展和加强Linux系统的内部和本地安然是一个很有用的。

四、设置陷井和蜜罐

所谓陷井便是激活时能够触发报警事故的软件,而蜜罐(honey pot)法度榜样是指设计来蛊惑有入侵妄图者触发专门的报警的陷井法度榜样。经由过程设置陷井和蜜罐法度榜样,一旦呈现入侵事故系统可以很快发出报警。在许多大年夜的收集中,一样平常都设计有专门的陷井法度榜样。陷井法度榜样一样平常分为两种:一种是只发明入侵者而纰谬其采取报复行动,另一种是同时采取报复行动。

设置蜜罐的一种常用措施是有意声称Linux系统应用了具有许多脆弱性的IMAP办事器版本。当入侵者对这些IMAP办事器进行大年夜容量端口扫瞄就会落入陷井并且引发系统报警。

另一个蜜罐陷井的例子便是很着名的phf,它是一个异常脆弱的Web cgi-bin脚本。最初的phf是设计来查找电话号码的,但它具有一个严重的安然破绽:容许入侵者应用它来得到系统口令文件或履行其它恶意操作。系统治理员可以设置一个假的phf脚本,然则它不是将系统的口令文件发送给入侵者,而是向入侵者返回一些假信息并且同时向系统治理员发出报警。

别的一类蜜罐陷井法度榜样可以经由过程在防火墙中将入侵者的IP地址设置为黑名单来急速回绝入侵者继承进行造访。回毫不友好的造访既可所以短期的,也可所以经久的。Linux内核中的防火墙代码异常得当于这样做。

五、将入侵祛除在发芽状态

入侵者进行进击之前最常做的一件工作便是端号扫瞄,假如能够及时发明和阻拦入侵者的端号扫瞄行径,那么可以大年夜大年夜削减入侵事故的发生率。反映系统可所以一个简单的状态反省包过滤器,也可所以一个繁杂的入侵检测系统或可设置设置设备摆设摆设的防火墙。

●Abacus Port SentryAbacus Port Sentry是开放源代码的对象包,它能够监视收集接口并且与防火墙交互操作来关闭端口扫瞄进击。当发生正在进行的端口扫瞄时,Abacus Sentry可以迅速阻拦它继承履行。然则假如设置设置设备摆设摆设欠妥,它也可能容许敌意的外部者在你的系统中安装回绝办事进击。

Abacus PortSentry假如与Linux中透明的代理对象一路应用可以供给一个异常有效地入侵警备步伐。这样可以将为所有IP地址供给通用办事的未应用端口重定向到Port Sentry中,Port Sentry可以在入侵者采取进一步碾儿动之前及时检测到并阻拦端口扫瞄。

Abacus Port Sentry能够检测到慢扫瞄(slow scan),但它不能检测到布局化进击(structured attack)。这两种要领终纵目的都要试图掩饰笼罩进击意图。慢扫瞄便是经由过程将端口扫瞄分散到很长的光阴内来完成,而在布局化的进击中,进击者试图经由过程扫瞄或探测多个源地址中来掩饰笼罩自己的真实进击目标。

精确地应用这个软件将能够有效地防止对IMAP办事大年夜量的并行扫瞄并且阻拦所有这样的入侵者。Abacus Sentry与Linux 2.2内核的IPChains对象一路应用时最有效,IPChains能够自动将所有的端口扫瞄行径定向到Port Sentry。

Linux 2.0内核可以应用IPChains进行修补,Abacus Port Sentry也可以与早期的2.0版内核中的ipfwadm对象一路应用,ipfwadm在2.2版本今后被IPChains取代了。

Abacus Port Sentry还可以被设置设置设备摆设摆设来对Linux系统上的UDP扫瞄作出反映,以致还可以对各类半扫瞄作出反映,如FIN扫瞄,这种扫描试图经由过程只发送很小的探测包而不是建立一个真正的连接来避免被发明。

当然更好的法子便是应用专门的入侵检测系统,如ISS公司的RealSecure等,它们可以根据入侵报警和进击署名从新设置设置设备摆设摆设防火墙。但这样的产品一样平常价格较高,遍及的用户遭遇起来有艰苦。

六、鞭挞击检测

系统主要经由过程阻拦入侵妄图来防止入侵,而鞭挞击系统则可以反向进行端口扫瞄或提议其它的进击,这一着让入侵者不仅入侵阴谋未能得逞,反而“开门揖盗”,招致鞭挞击。

有些安然系统如Abacus Sentry具有必然的鞭挞击能力。比如有的站点有了防止用户经由过程telnet进行连接,在应答telnet连接哀求时,系统将返回一些不受迎接的恶意信息。这只是一种最简单也是最稍微的鞭挞击步伐。

一样平常环境下并不提倡应用鞭挞击功能,由于这样的鞭挞击步伐很轻易被不法使用来进击其它的系统。

七、改进登录

办事器将系统的登录办事器移到一个零丁的机械中会增添系统的安然级别,应用一个更安然的登录办事器来取代Linux自身的登录对象也可以进一步前进安然。

在大年夜的Linux收集中,最好应用一个零丁的登录办事器用于syslog办事。它必须是一个能够满意所有系统登录需求并且拥有足够的磁盘空间的办事器系统,在这个系统上应该没有其它的办事运行。更安然的登录办事器会大年夜大年夜削弱入侵者透过登录系统修改日志文件的能力。

●安然syslog纵然应用零丁的登录办事器,Linux自身的syslog对象也是相称不安然的。是以,有人开拓了所谓的安然log办事器,将密码署名集成到日志中。这会确保入侵者纵然在修改系统日志今后也无法做到不被发明。现在最常用的用于取代syslog的安然log办事器称为“安然syslog(ssyslong)”,用户可以从Core SDI站点http://www.core-sdi.com/ssylog处下载这个对象。这个守护法度榜样实现一个称为PEQ-1的密码协议来实现对系统日志的远程审计。纵然在入侵者得到系统超级用户权限的环境下也仍旧可以进行审计,由于协议包管了曩昔以及入侵历程中的的log信息没有审计者(在远程可托任的主机上)的看护无法被改动。

●syslog-ng另一个取代syslog的对象是syslog-ng(下一代的syslog)。这是一个加倍可设置设置设备摆设摆设的守护进程,它供给了密码署名来检测对日志文件的修改。密码安然登录办事器和远程审计功能一路可以使入侵者极难进行日志修改并且异常轻易被检测到这样的不良妄图。用户可以从www.babit.hu/products/syslog-ng.html处下载这个对象。

八、应用单一登录

系统掩护分散的大年夜收集情况中的多个用户帐号对付系统治理员来讲是一件异常头疼的工作。现在有一些单一的登录(sign on)系统不仅可以减轻治理员的包袱,而同时还前进了安然级别。

收集信息办事(NIS)是一个很好的单一登录系统,它在Sun公司的Yellow Page办事的根基上成长来的,它的基础安然特点不敷健状,因为赓续有一些bug和脆弱性被公布,是以有人戏称它为收集入侵者办事(Network Intruder Service)。NIS的更新版本NIS+原NIS的不够进行了改进,现在已经有了用于Linux的NIS+版本。

Kerberos也是一种异常着名的单一登录系统。Kerberos v4具有一些很着名的安然破绽,如入侵者可以离线进行穷尽进击Kerberos cookie而不会被发明。Ketberos v5大年夜大年夜进行了改进,不会再有v4的问题。

在大年夜的收集中,象NIS和Kerberos这样的单一的登录系统虽然有有利的一壁,但也有它晦气的一壁。一方面,在不合系统上都具有认证机制有助于隔离该功能并且削减它与其它办事互相之间的影响。另一方面,一旦一个系统中的某个帐号被破坏,所有可经由过程这个帐号造访的系统都将同样遭到破坏。是以在单一的登录系统平分外要求具有较高防预测水平的口令字。

基于Windows的收集在Windows NT域系统中有自己的单一登录系统。Linux系统可以根据Windows系统进行认证。这容许用户在Windows系统下改动、掩护和治理它们的帐号和口令字并且改动结果会在同时在UNIX登录中获得表现。如应用pam_smb,Linux系统可以根据Windows SMB Domain进行认证。这在以Windows收集治理为中间的收集中是相称方便的,但它也带来了Windows认证系统自身的一些不安然性。

九、掌握最新平安产品和技巧

作为一个系统治理员,还必须时候跟踪Linux安然技巧的成长动向,并且合时采纳更先辈的Linux安然对象。今朝国际上有许多有关Linux安然的钻研和开拓项目,今朝至少有三个安然Linux项目已经启动,每个项目的目标都有自己的偏重点,它们分手是:

●安然Linux(Secure Linux) 安然Linux(www.reseau.nl/securelinux)项目的目标是供给一个用于Internet办事器系统的安然的Linux分发。该项目治理者正寻求在这个产品中集成强大年夜的密码和一些额外的Web办事器功能。既然它是在美国之外创建的,人们可望能够获得改进的密码安然而不会受到美国平安产品出口司法的限定。

●Bastille LinuxBastille Linux(www.bastille-linux.org)项目寻求在Linux情况中建立一个类似OpenBSD的标准。该项目传播鼓吹的目标是为台式机创建一个安然的分发,使收集治理者可以不用担心用户的安然。

●Kha0s LinuxKha0s Linux(www.kha0s.org)正寻求创建了一个具有强加密和类似OpenBSD的安然政策的最小的安然Linux分发。该小组今朝正在它的Web站点上哀求举世用户和厂商的介入和相助。

除此之外,下面两点对付治理员前进Linux安然治理水平也是十分有用的:

造访安然Linux邮件列表现在有许多关于Linux安然的邮件列表,如securedistros@nl.linux.org、Kh a0s-dev@kha0s.org等,常常造访这些邮件列表可以获得大年夜量的安然信息。

还有另一个通用的邮件列表是security-audit@ferret.lmh.ox.ac.uk,它是专门评论争论源代码的安然审计的。这个列表可能与其它的邮件列表有大年夜量的重复,但假如想懂得源代码审计和相关的安然问题的话照样很值得一读的。

十、多管齐下

任何一种单一的安然步伐其警备能力都是有限的,一个安然的系统必须采取多种安然步伐,多管齐下才能更好的包管安然。要是一个Linux系统采取了以上各类安然步伐,那么要想侵入你的系统,进击者将不得不绕过防火墙、避开入侵检测系统、跳过陷井法度榜样、经由过程系统过滤器、逃过你的日志监视器、改动文件系统属性、破坏安然登录办事器才能终极达到目的。因为此中任何一个环节都可能引发报警,是以入侵者要想侵入这样的系统而又不被发明险些是弗成能的。

您可能还会对下面的文章感兴趣: