您还应该将打算如何运行一个服务记入文档。需要考虑的一些事情:
使用 xinetd 让您可以调整哪个服务可以提供给谁,可以强制限制防止拒绝服务(denial-of-service)攻击, 可以将服务调用日志记录到一个集中的位置。
TCP 包装器 提供了一种方法,以将服务限制在特定范围的请求地址内,并将请求记录到日志。
chroot jails 创建一个环境,这个环境是您实际安装的一个子集。即使服务受到攻击, 被影响的也只是这个子集环境。由于它基于目录树的隐藏部分,所以它最适用于那些操作在可以方便地包括到那个树中的小的而且独立的文件集上的服务器。
附加的软件程序包
除了计划的使用情形所需要的软件之外,安装过程很可能还会安装其他软件。您需要的软件 (实际的操作系统:Linux 内核、共享库、基本的实用程序等等),您想要的软件(增强安全性 的软件,比如配额、防火墙和审计),以及您不想要的软件(不必需的程序包)。
为了方便,发行版本通常向默认安装添加保持系统运行和满足其用途所不必要的软件程序包。在运行期没有用户 交互的系统中,图形用户界面、多媒体软件和游戏都属于这种不必要的软件。
任何安装到机器上的软件都必然会占用资源并降低机器的安全性,引入可能被利用的潜在的 bug:
外部攻击者可以利用不必要的服务在服务器上执行代码,比如通过缓存溢出。
管理员也是人,所以容易犯错误。没有安装的软件不可能被错误地配置,这样就封住了另外的潜在安全 漏洞。
即使软件不是一直在运行,也没有暴露在网络上,也会增加管理员的负担,因为在发现 bug 时管理员要 进行安全修订。假定某个服务中的一个瑕疵被发现,而且发生了入侵。攻击者现在可以在用户的 安全上下文中在服务器上执行程序。现在,机器上任何可用的程序都可能被攻击者利用,或者是 提升他/她的特权,获取安全相关的信息,或者攻击可能深藏在组织的防火墙之后的其他系统。
社交工程技巧(social engineering techniques)经常欺骗合法用户(乃至管理员)去运行最终 影响安全的程序,这是为什么要尽可能少地安装程序的另一个原因。
关于增强安全性的程序包,您应该考虑安装下面这些:
配额: 应该使用配额来限制用户(包括 ftpd 或 httpd 等后台进程的用户)可用的资源。 这样可以挫败本地拒绝服务(DoS)攻击,那种攻击可能通过“fork bomb”用光所有可用的进程 ID,启动 很多极其消耗内存的程序,或者消耗分区的全部空闲空间。大部分当前发行版本都包含配额,在大部分情况 下其程序包称为“quota”。通过 PAM 可以实现除了磁盘配额以外的其他限制,它默认也会安装。在本系列 的下一篇文章中将描述那些限制的配制。
计划安装让Linux linux系统安全(3)
内容版权声明:除非注明,否则皆为本站原创文章。