Linux操作系统十大高级安全管理技巧( 二 )



●;其它方式的备份虽然/etc中的许多文件经常会变化 , 但/etc中的许多内容仍然可以放到光盘上用于系统完整性验证 。其它不经常进行修改的文件 , 可以备份到另一个系统(如磁带)或压缩到一个只读的目录中 。这种办法可以在使用光盘映像进行验证的基础上再进行额外的系统完整性检查 。;

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

三、改进系统内部安全机制;

可以通过改进Linux操作系统的内部功能来防止缓冲区溢出攻击这种破坏力极强却又最难预防的攻击方式 , 虽然这样的改进需要系统管理员具有相当丰富的经验和技巧 , 但对于许多对安全级别要求高的Linux系统来讲还是很有必要的 。;

●;SolarisDesigner的安全Linux补丁SolarisDesigner用于2.0版内核的安全Linux补丁提供了一个不可执行的栈来减少缓冲区溢出的威胁 , 从而大大提高了整个系统的安全性 。;

缓冲区溢出实施起来是相当困难的 , 因为入侵者必须能够判断潜在的缓冲区溢出何时会出现以及它在内存中的什么位置出现 。缓冲区溢出预防起来也十分困难 , 系统管理员必须完全去掉缓冲区溢出存在的条件才能防止这种方式的攻击 。正因为如此 , 许多人甚至包括LinuxTorvalds本人也认为这个安全Linux补丁十分重要 , 因为它防止了所有使用缓冲区溢出的攻击 。但是需要引起注意的是 , 这些补丁也会导致对执行栈的某些程序和库的依赖问题 , 这些问题也给系统管理员带来的新的挑战 。;

不可执行的栈补丁已经在许多安全邮件列表(如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系统的内部和本地安全是一个很有用的 。;

四、设置陷井和蜜罐;

所谓陷井就是激活时能够触发报警事件的软件 , 而蜜罐(honeypot)程序是指设计来引诱有入侵企图者触发专门的报警的陷井程序 。通过设置陷井和蜜罐程序 , 一旦出现入侵事件系统可以很快发出报警 。在许多大的网络中 , 一般都设计有专门的陷井程序 。陷井程序一般分为两种:一种是只发现入侵者而不对其采取报复行动 , 另一种是同时采取报复行动 。;

推荐阅读