第 2 章 选择要进行免疫的程序

目录

2.1. 对发授权限的程序进行免疫
2.2. 检测开放端口以对程序进行免疫

NovellŪ AppArmor 对程序进行检疫,以防止系统的其它部分被已丧失安全性的进程损坏。您应当对端口进行检测,以了解需要对哪些程序构建配置文件(请参见第 2.2 节 “检测开放端口以对程序进行免疫” (↑Novell AppArmor 2.0 管理指南)),然后为所有发授权限的程序构建配置文件(第 2.1 节 “对发授权限的程序进行免疫” (↑Novell AppArmor 2.0 管理指南))。


2.1. 对发授权限的程序进行免疫

需要构建配置文件的程序是那些调解权限的程序。以下程序可以访问使用此程序的用户所不能访问的资源,因此使用这些程序时可以授予用户权限:

cron 作业

cron 定期运行的程序。此类程序读取来自多个来源的输入,运行时可以具备特权,有时甚至能够获得 root 用户权限。例如,cron 可以每天运行 /usr/bin/updatedb 以使本地数据库保持最新,它具备足够的权限,可读取系统中每个文件的文件名。要了解如何查找此类程序,请参见第 2.2.1 节 “对 Cron 作业进行免疫” (↑Novell AppArmor 2.0 管理指南)

万维网应用程序

万维网浏览器可以调用的程序,包括 CGI Perl 脚本、PHP 页面以及更复杂的万维网应用程序。要了解如何查找此类程序,请参见第 2.2.2 节 “对万维网应用程序进行免疫” (↑Novell AppArmor 2.0 管理指南)

网络代理

具有开放网络端口的程序(服务器端和客户端)。令人惊讶的是,邮件客户程序和万维网浏览器等用户客户程序也会调解权限。这些程序在运行时具有书写用户主目录的权限,而且他们会处理来自恶意远程来源的输入,如恶意的万维网网站和通过电子邮件发送的恶意代码。要了解如何查找此类程序,请参见第 2.2.3 节 “对网络代理进行免疫” (↑Novell AppArmor 2.0 管理指南)

相反,您不必为未非特权程序构建配置文件。例如,shell 脚本可以调用 cp 程序以复制文件。cp 不具备自身的配置文件,它继承父 shell 脚本的配置文件,因此可以复制父 shell 脚本的配置文件可读写的所有文件。