29 AppArmor 简介 #
许多安全漏洞是可信赖程序中的错误产生的。可信赖程序是使用攻击者想要拥有的特权运行的。如果该程序中存在的 bug 导致攻击者获得了此特权,则该程序将丧失可信赖性。
AppArmor® 是一套应用程序安全解决方案,专门用于针对可疑程序应用特权限制。AppArmor 允许管理员通过开发安全配置文件来指定程序可执行的活动域。安全配置文件是程序可访问的文件以及可执行的操作的列表。AppArmor 不依赖攻击特征,而是以强制方式使应用程序保持良好行为,从而保障应用程序的安全,因此即使是以前未知的漏洞遭到恶意利用,它也能预防攻击。
29.1 AppArmor 组件 #
AppArmor 由以下部分组成:
常用 Linux* 应用程序的 AppArmor 配置文件库,描述程序需要访问的文件。
进行常见的应用程序活动(如 DNS 查找和用户身份验证)所需的 AppArmor 配置文件基础类(配置文件构建基块)库。
用于开发和增强 AppArmor 配置文件的工具套件,使用它可以对现有配置文件进行更改以适应您的需要,还可以为您自己的本地和自定义应用程序创建新的配置文件。
若干经过特别修改的应用程序,这些应用程序支持 AppArmor,能够通过独特的子进程限制方式来提升安全性,其中包括 Apache。
AppArmor 相关的内核代码和关联的控制脚本,用于在 SUSE® Linux Enterprise Desktop 系统上强制实施 AppArmor 策略。
29.2 有关 AppArmor 配置文件构建的背景信息 #
有关 AppArmor 的科学和安全性的详细信息,请参见以下文献:
- SubDomain: Parsimonious Server Security,作者:Crispin Cowan、Steve Beattie、Greg Kroah-Hartman、Calton Pu、Perry Wagle 和 Virgil Gligor
介绍 AppArmor 的初始设计和实施。在 2000 年 12 月在路易斯安娜州新奥尔良召开的 USENIX LISA 会议期间出版。此文献目前已过时,介绍的语法和功能与最新的 AppArmor 产品不同。此文献仅可用于了解背景知识,不能用作技术文档。
- Defcon Capture the Flag: Defending Vulnerable Code from Intense Attack,作者:Crispin Cowan、Seth Arnold、Steve Beattie、Chris Wright 和 John Viega
是很好的战略和战术上的 AppArmor 使用指导,可以帮助您在很短的时间内解决严重的安全问题。2003 年 4 月在华盛顿召开 DARPA Information Survivability Conference and Expo (DISCEX III) 会议期间出版
- AppArmor for Geeks,作者:Seth Arnold
此文档的目标是让读者更好地了解 AppArmor 的技术细节。https://en.opensuse.org/SDB:AppArmor_geeks 上提供了该文档。