第 V 部分 通过 AppArmor 限制特权 #
- 31 AppArmor 简介
许多安全漏洞是可信赖程序中的错误产生的。可信赖程序是使用攻击者想要拥有的特权运行的。如果该程序中存在的 bug 导致攻击者获得了此特权,则该程序将丧失可信赖性。
- 32 入门
请仔细考虑以下事项,以便为在系统上成功部署 AppArmor 做好准备:
- 33 使程序免疫
要有效强化计算机系统,您需要将可调解特权的程序数量降至最低,然后尽可能保护程序的安全。利用 AppArmor,您只需为环境中曝露于攻击下的程序构建配置文件,这极大地减少了强化计算机所需执行的工作量。AppArmor 配置文件可强制策略以确保程序仅执行所限定操作。
- 34 配置文件组件和语法
构建 AppArmor 配置文件来限制应用程序的操作非常简单且直观。AppArmor 附带了多种工具来帮助创建配置文件。您无需编程或处理脚本。管理员唯一需要执行的任务是为每个需要强化的应用程序确定最严格的访问和执行权限策略。
- 35 AppArmor 配置文件储存库
AppArmor 随附了一组默认已启用的配置文件。这些配置文件由 AppArmor 开发人员创建,存储在
/etc/apparmor.d
中。除了这些配置文件以外,SUSE Linux Enterprise Server 还为各应用程序及相关应用程序随附了配置文件。这些配置文件默认未启用,存储在与标准 AppArmor 配置文件不同的另一个目录中:/usr/share/apparmor/extra-profiles
。- 36 使用 YaST 构建和管理配置文件
YaST 提供了用于构建配置文件以及管理 AppArmor® 配置文件的基本途径。它提供了两个界面:一个图形界面和一个基于文本的界面。基于文本的界面消耗的资源和带宽更少,因此,需要进行远程管理或者当本地图形环境不够方便时,基于文本的界面是更好的选择。尽管这两个界面的外观不同,但它们以类似的方式提供相同的功能。另一种方法是使用 AppArmor 命令,这些命令可以从终端窗口或通过远程连接控制 AppArmor。第 37 章 “从命令行构建配置文件”中介绍了命令行工具。
- 37 从命令行构建配置文件
AppArmor® 可让用户使用命令行界面而不是图形界面来管理和配置系统安全性。可以使用 AppArmor 命令行工具来跟踪 AppArmor 的状态,以及创建、删除或修改 AppArmor 配置文件。
- 38 使用 ChangeHat 构建 Web 应用程序的配置文件
AppArmor® 配置文件表示单个程序实例或进程的安全策略。它适用于一个可执行程序,但是,如果该程序的一部分需要与其它部分不同的访问权限,该程序可以“变换帽子”以使用有别于主程序访问权限的安全环境。这称作帽子或子配置文件。
- 39 使用
pam_apparmor
限制用户 AppArmor 配置文件将应用于可执行程序;如果该程序的某个部分所需的访问权限不同于其他部分,该程序可以通过 change_hat 将帽子更改为另一角色(也称为子配置文件)。
pam_apparmor
PAM 模块允许应用程序基于组名、用户名或默认配置文件将已通过身份验证的用户限制到子配置文件。要实现此目的,需将pam_apparmor
注册为 PAM 会话模块。- 40 管理已构建配置文件的应用程序
创建配置文件并使应用程序免疫后,如果您保持对 AppArmor® 配置文件的维护(包括分析日志文件、优化配置文件、备份配置文件集并使其保持最新),SUSE® Linux Enterprise Server 的效率就会提升并得到更好的保护。您可以通过设置事件电子邮件通知、运行 aa-logprof 工具以根据系统日志项更新配置文件,以及处理维护问题,在这些问题造成影响之前对其妥善处理。
- 41 支持
本章简要介绍维护方面的任务。您将了解到如何更新 AppArmor®,还会获得一个可用手册页的列表,这些手册页提供有关如何使用 AppArmor 所提供的命令行工具的基本帮助。查错一节提供了使用 AppArmor 时会遇到的常见问题及其解决方法。请遵循本章中的指导报告 AppArmor 的缺陷或提出增强请求。
- 42 AppArmor 术语表
请参见下面的配置文件基础类。