收藏 分享(赏)

Linux系统高级安全管理技巧new.doc

上传人:dzzj200808 文档编号:2310985 上传时间:2018-09-10 格式:DOC 页数:6 大小:44.50KB
下载 相关 举报
Linux系统高级安全管理技巧new.doc_第1页
第1页 / 共6页
Linux系统高级安全管理技巧new.doc_第2页
第2页 / 共6页
Linux系统高级安全管理技巧new.doc_第3页
第3页 / 共6页
Linux系统高级安全管理技巧new.doc_第4页
第4页 / 共6页
Linux系统高级安全管理技巧new.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、由于 Linux 操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着 Linux 操作系统在我国的不断普及,有关的政府部门更是将基于 Linux 开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后 Linux 操作系统在我国将得到更快更大的发展。虽然 Linux 与 UNIX 很类似,但它们之间也有一些重要的差别。对于众多的习惯了 UNIX 和 Windows NT 的系统管理员来讲,如何保证Linux 操作系统的安全将面临许多新的挑战。本文介绍了一系列实用的 Linux 安全管理经验。一、文件系统在 Linux 系统中,分别为不同的应用安

2、装单独的主分区将关键的分区设置为只读将大大提高文件系统的安全。这主要涉及到 Linux 自身的 ext2 文件系统的只添加(只添加)和不可变这两大属性。文件分区 Linux 的文件系统可以分成几个主要的分区,每个分区分别进行不同的配置和安装,一般情况下至少要建立/、/usr/local、/var 和/home 等分区。/usr 可以安装成只读并且可以被认为是不可修改的。如果/usr 中有任何文件发生了改变,那么系统将立即发出安全报警。当然这不包括用户自己改变/usr 中的内容。/lib、/boot 和/sbin 的安装和设置也一样。在安装时应该尽量将它们设置为只读,并且对它们的文件、目录和属性

3、进行的任何修改都会导致系统报警。当然将所有主要的分区都设置为只读是不可能的,有的分区如/var 等,其自身的性质就决定了不能将它们设置为只读,但应该不允许它具有执行权限。扩展 ext2.使用 ext2 文件系统上的只添加和不可变这两种文件属性可以进一步提高安全级别。不可变和只添加属性只是两种扩展 ext2 文件系统的属性标志的方法。一个标记为不可变的文件不能被修改,甚至不能被根用户修改。一个标记为只添加的文件可以被修改,但只能在它的后面添加内容,即使根用户也只能如此。可以通过 chattr 命令来修改文件的这些属性,如果要查看其属性值的话可以使用 lsattr 命令。要想了解更多的关于 ext

4、2 文件属性的信息,可使用命令 man chattr 来寻求帮助。这两上文件属性在检测黑客企图在现有的文件中安装入侵后门时是很有用的。为了安全起见,一旦检测到这样的活动就应该立即将其阻止并发出报警信息。如果你的关键的文件系统安装成只读的并且文件被标记为不可变的,入侵者必须重新安装系统才能删除这些不可变的文件但这会立刻产生报警,这样就大大减少了被非法入侵的机会。保护 log 文件当与 log 文件和 log 备份一起使用时不可变和只添加这两种文件属性特别有用。系统管理员应该将活动的 log 文件属性设置为只添加。当 log 被更新时,新产生的 log备份文件属性应该设置成不可变的,而新的活动的

5、log 文件属性又变成了只添加。这通常需要在 log 更新脚本中添加一些控制命令。二、备份在完成 Linux 系统的安装以后应该对整个系统进行备份,以后可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法窜改过。如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。CD-ROM 备份当前最好的系统备份介质就是 CD-ROM 光盘,以后可以定期将系统与光盘内容进行比较以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,那么可以将光盘设置为可启动的并且将验证工作作为系统启动过程的一部分。这样只要可以通过光盘启动,就说明系统尚未被破坏过。如果你创建了一个只读

6、的分区,那么可以定期从光盘映像重新装载它们。即使象/boot 、/lib和/sbin 这样不能被安装成只读的分区,你仍然可以根据光盘映像来检查它们,甚至可以在启动时从另一个安全的映像重新下载它们。其它方式的备份虽然/etc 中的许多文件经常会变化,但/etc 中的许多内容仍然可以放到光盘上用于系统完整性验证。其它不经常进行修改的文件,可以备份到另一个系统(如磁带)或压缩到一个只读的目录中。这种办法可以在使用光盘映像进行验证的基础上再进行额外的系统完整性检查。既然现在绝大多数操作系统现在都在随光盘一起提供的,制作一个 CD-ROM 紧急启动盘或验证盘操作起来是十分方便的,它是一种十分有效而又可行

7、的验证方法。三、改进系统内部安全机制可以通过改进 Linux 操作系统的内部功能来防止缓冲区溢出攻击这种破坏力极强却又最难预防的攻击方式,虽然这样的改进需要系统管理员具有相当丰富的经验和技巧,但对于许多对安全级别要求高的 Linux 系统来讲还是很有必要的。Solaris Designer 的安全 Linux 补丁 Solaris Designer 用于 2.0 版内核的安全 Linux 补丁提供了一个不可执行的栈来减少缓冲区溢出的威胁,从而大大提高了整个系统的安全性。缓冲区溢出实施起来是相当困难的,因为入侵者必须能够判断潜在的缓冲区溢出何时会出现以及它在内存中的什么位置出现。缓冲区溢出预防起

8、来也十分困难,系统管理员必须完全去掉缓冲区溢出存在的条件才能防止这种方式的攻击。正因为如此,许多人甚至包括Linux Torvalds 本人也认为这个安全 Linux 补丁十分重要,因为它防止了所有使用缓冲区溢出的攻击。但是需要引起注意的是,这些补丁也会导致对执行栈的某些程序和库的依赖问题,这些问题也给系统管理员带来的新的挑战。不可执行的栈补丁已经在许多安全邮件列表(如 linux.org“securedistrosnl.linux.org)中进行分发,用户很容易下载到它们等。StackGuardStackGuard 是一个十分强大的安全补丁工具。你可以使用经 StackGuard 修补过的

9、gcc 版本来重新编译和链接关键的应用。StackGuard 进行编译时增加了栈检查以防止发生栈攻击缓冲区溢出,虽然这会导致系统的性能略有下降,但对于安全级别要求高的特定应用来讲 StackGuard 仍然是一个十分管用的工具。现在已经有了一个使用了 SafeGuard 的 Linux 版本,用户使用 StackGuard 将会更加容易。虽然使用 StackGuard 会导致系统性能下降约 1020%,但它能够防止整个缓冲区溢出这一类攻击。增加新的访问控制功能 Linux 的 2.3 版内核正试图在文件系统中实现一个访问控制列表,这要可以在原来的三类(owner、group 和 other)访

10、问控制机制的基础上再增加更详细的访问控制。在 2.2 和 2.3 版的 Linux 内核中还将开发新的访问控制功能,它最终将会影响当前有关 ext2文件属性的一些问题。与传统的具有 ext2 文件系统相比它提供了一个更加精确的安全控制功能。有了这个新的特性,应用程序将能够在不具有超级用户权限的情况下访问某些系统资源,如初始套接等。基于规则集的访问控制现在有关的 Linux 团体正在开发一个基于规则的访问控制(RSBAC)项目,该项目声称能够使 Linux 操作系统实现 B1 级的安全。 RSBAC 是基于访问控制的扩展框架并且扩展了许多系统调用方法,它支持多种不同的访问和认证方法。这对于扩展和

11、加强 Linux 系统的内部和本地安全是一个很有用的。四、设置陷井和蜜罐所谓陷井就是激活时能够触发报警事件的软件,而蜜罐(honey pot)程序是指设计来引诱有入侵企图者触发专门的报警的陷井程序。通过设置陷井和蜜罐程序,一旦出现入侵事件系统可以很快发出报警。在许多大的网络中,一般都设计有专门的陷井程序。陷井程序一般分为两种:一种是只发现入侵者而不对其采取报复行动,另一种是同时采取报复行动。设置蜜罐的一种常用方法是故意声称 Linux 系统使用了具有许多脆弱性的 IMAP 服务器版本。当入侵者对这些 IMAP 服务器进行大容量端口扫瞄就会落入陷井并且激发系统报警。另一个蜜罐陷井的例子就是很有名

12、的 phf,它是一个非常脆弱的 Web cgi-bin 脚本。最初的phf 是设计来查找电话号码的,但它具有一个严重的安全漏洞:允许入侵者使用它来获得系统口令文件或执行其它恶意操作。系统管理员可以设置一个假的 phf 脚本,但是它不是将系统的口令文件发送给入侵者,而是向入侵者返回一些假信息并且同时向系统管理员发出报警。另外一类蜜罐陷井程序可以通过在防火墙中将入侵者的 IP 地址设置为黑名单来立即拒绝入侵者继续进行访问。拒绝不友好的访问既可以是短期的,也可以是长期的。Linux 内核中的防火墙代码非常适合于这样做。五、将入侵消灭在萌芽状态入侵者进行攻击之前最常做的一件事情就是端号扫瞄,如果能够及

13、时发现和阻止入侵者的端号扫瞄行为,那么可以大大减少入侵事件的发生率。反应系统可以是一个简单的状态检查包过滤器,也可以是一个复杂的入侵检测系统或可配置的防火墙。Abacus Port SentryAbacus Port Sentry 是开放源代码的工具包,它能够监视网络接口并且与防火墙交互操作来关闭端口扫瞄攻击。当发生正在进行的端口扫瞄时,Abacus Sentry 可以迅速阻止它继续执行。但是如果配置不当,它也可能允许敌意的外部者在你的系统中安装拒绝服务攻击。 Abacus Port Sentry 如果与 Linux 中透明的代理工具一起使用可以提供一个非常有效地入侵防范措施。这样可以将为所有

14、 IP 地址提供通用服务的未使用端口重定向到 Port Sentry 中,Port Sentry 可以在入侵者采取进一步行动之前及时检测到并阻止端口扫瞄。 Abacus Port Sentry 能够检测到慢扫瞄(slow scan),但它不能检测到结构化攻击 (structured attack)。这两种方式最终目的都要试图掩盖攻击意图。慢扫瞄就是通过将端口扫瞄分散到很长的时间内来完成,而在结构化的攻击中,攻击者试图通过扫瞄或探测多个源地址中来掩盖自己的真实攻击目标。 正确地使用这个软件将能够有效地防止对 IMAP 服务大量的并行扫瞄并且阻止所有这样的入侵者。Abacus Sentry 与 L

15、inux 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 扫瞄,这种扫描试图通过只发送很小的探测包而不是建立一个真正的连接来避免被发现。

16、 当然更好的办法就是使用专门的入侵检测系统,如 ISS 公司的 RealSecure 等,它们可以根据入侵报警和攻击签名重新配置防火墙。但这样的产品一般价格较高,普及的用户承受起来有困难。六、反攻击检测系统主要通过阻止入侵企图来防止入侵,而反攻击系统则可以反向进行端口扫瞄或发起其它的攻击,这一着让入侵者不仅入侵阴谋未能得逞,反而“引狼入室” ,招致反攻击。有些安全系统如 Abacus Sentry 具有一定的反攻击能力。比如有的站点有了防止用户通过telnet 进行连接,在应答 telnet 连接请求时,系统将返回一些不受欢迎的恶意信息。这只是一种最简单也是最轻微的反攻击措施。一般情况下并不提

17、倡使用反攻击功能,因为这样的反攻击措施很容易被非法利用来攻击其它的系统。七、改进登录服务器将系统的登录服务器移到一个单独的机器中会增加系统的安全级别,使用一个更安全的登录服务器来取代 Linux 自身的登录工具也可以进一步提高安全。在大的 Linux 网络中,最好使用一个单独的登录服务器用于 syslog 服务。它必须是一个能够满足所有系统登录需求并且拥有足够的磁盘空间的服务器系统,在这个系统上应该没有其它的服务运行。更安全的登录服务器会大大削弱入侵者透过登录系统窜改日志文件的能力。安全 syslog 即使使用单独的登录服务器,Linux 自身的 syslog 工具也是相当不安全的。因此,有人

18、开发了所谓的安全 log 服务器,将密码签名集成到日志中。这会确保入侵者即使在窜改系统日志以后也无法做到不被发现。现在最常用的用于取代 syslog 的安全 log 服务器称为“安全 syslog(ssyslong)“,用户可以从 Core SDI 站点下载这个工具。这个守护程序实现一个称为 PEQ-1 的密码协议来实现对系统日志的远程审计。即使在入侵者获得系统超级用户权限的情况下也仍然可以进行审计,因为协议保证了以前以及入侵过程中的的 log信息没有审计者(在远程可信任的主机上 )的通知无法被修改。syslog-ng 另一个取代 syslog 的工具是 syslog-ng(下一代的 sysl

19、og)。这是一个更加可配置的守护进程,它提供了密码签名来检测对日志文件的窜改。密码安全登录服务器和远程审计功能一起可以使入侵者极难进行日志窜改并且非常容易被检测到这样的不良企图。用户可以下载这个工具。八、使用单一登录系统维护分散的大网络环境中的多个用户帐号对于系统管理员来讲是一件非常头疼的事情。现在有一些单一的登录(sign on)系统不仅可以减轻管理员的负担,而同时还提高了安全级别。网络信息服务(NIS)是一个很好的单一登录系统,它在 Sun 公司的 Yellow Page 服务的基础上发展来的,它的基本安全特性不够健状,由于不断有一些 bug 和脆弱性被公布,因此有人戏称它为网络入侵者服务

20、(Network Intruder Service)。NIS 的更新版本 NIS+原 NIS 的不足进行了改进,现在已经有了用于 Linux 的 NIS+版本。Kerberos 也是一种非常有名的单一登录系统。Kerberos v4 具有一些很有名的安全漏洞,如入侵者可以离线进行穷尽攻击 Kerberos cookie 而不会被发现。Ketberos v5 大大进行了改进,不会再有 v4 的问题。在大的网络中,像 NIS 和 Kerberos 这样的单一的登录系统虽然有有利的一面,但也有它不利的一面。一方面,在不同系统上都具有认证机制有助于隔离该功能并且减少它与其它服务相互之间的影响。另一方面

21、,一旦一个系统中的某个帐号被破坏,所有可通过这个帐号访问的系统都将同样遭到破坏。因此在单一的登录系统中特别要求具有较高防猜测水平的口令字。基于 Windows 的网络在 Windows NT 域系统中有自己的单一登录系统。Linux 系统可以根据 Windows 系统进行认证。这允许用户在 Windows 系统下修改、维护和管理它们的帐号和口令字并且修改结果会在同时在 UNIX 登录中得到体现。如使用 pam_smb,Linux 系统可以根据 Windows SMB Domain 进行认证。这在以 Windows 网络管理为中心的网络中是相当方便的,但它也带来了 Windows 认证系统自身的

22、一些不安全性。九、掌握最新安全产品和技术作为一个系统管理员,还必须时刻跟踪 Linux 安全技术的发展动向,并且适时采用更先进的 Linux 安全工具。目前国际上有许多有关 Linux 安全的研究和开发项目,目前至少有三个安全 Linux 项目已经启动,每个项目的目标都有自己的侧重点,它们分别是:安全 Linux(Secure Linux)安全 Linux 项目的目标是提供一个用于 Internet 服务器系统的安全的 Linux 分发。该项目管理者正寻求在这个产品中集成强大的密码和一些额外的 Web 服务器功能。既然它是在美国之外创建的,人们可望能够得到改进的密码安全而不会受到美国安全产品出

23、口法律的限制。Bastille LinuxBastille Linux 项目寻求在 Linux 环境中建立一个类似 OpenBSD 的标准。该项目宣称的目标是为台式机创建一个安全的分发,使网络管理者可以不用担心用户的安全。Kha0s LinuxKha0s Linux 正寻求创建了一个具有强加密和类似 OpenBSD 的安全政策的最小的安全 Linux 分发。该小组目前正在它的 Web 站点上请求全球用户和厂商的参与和合作。除此之外,下面两点对于管理员提高 Linux 安全管理水平也是十分有用的:访问安全 Linux 邮件列表现在有许多关于 Linux 安全的邮件列表,如securedistro

24、snl.linux.org、Kh a0s-devkha0s.org 等,经常访问这些邮件列表可以得到大量的安全信息。 还有另一个通用的邮件列表是 security-auditferret.lmh.ox.ac.uk,它是专门讨论源代码的安全审计的。这个列表可能与其它的邮件列表有大量的重复,但如果想了解源代码审计和相关的安全问题的话还是很值得一读的。 十、多管齐下任何一种单一的安全措施其防范能力都是有限的,一个安全的系统必须采取多种安全措施,多管齐下才能更好的保证安全。假如一个 Linux 系统采取了以上各种安全措施,那么要想侵入你的系统,攻击者将不得不绕过防火墙、避开入侵检测系统、跳过陷井程序、通过系统过滤器、逃过你的日志监视器、修改文件系统属性、破坏安全登录服务器才能最终达到目的。由于其中任何一个环节都可能激发报警,因此入侵者要想侵入这样的系统而又不被发现几乎是不可能的。转载自:http:/ http:/www.sz-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报