SDB:AppArmor
概述
AppArmor 随 openSUSE 和 SUSE Linux Enterprise 一起提供,是一种应用程序安全工具,旨在为您的应用程序提供易于使用的安全框架。AppArmor 积极主动地保护操作系统和应用程序免受外部或内部威胁,甚至包括零日攻击,通过强制执行良好行为并防止利用未知的应用程序漏洞。AppArmor 安全策略,称为“配置文件”,完全定义了单个应用程序可以访问哪些系统资源以及具有哪些权限。AppArmor 包含许多默认配置文件,并且通过结合使用高级静态分析和基于学习的工具,即使对于非常复杂的应用程序,AppArmor 配置文件也可以在数小时内成功部署。
可以在 AppArmor 的详细描述 中讨论 AppArmor 旨在解决的问题、AppArmor 解决方案的技术和范例。 还有一个 面向极客的指南,其中包含更多细节和更少的营销信息。
获取软件
可以从构建服务获取 AppArmor 包,并且 AppArmor RPM 包包含在 openSUSE 10.1 及更高版本中。
集成包也包含在所有 SUSE 发行版中,从 SUSE Linux Enterprise Server 9 Service Pack 3 (SLES9 SP3) 开始,包括 SLES10、SLED10 和 openSUSE。所有这些包都已获得 GPL2 许可。
AppArmor 集成到 openSUSE 和 SUSE Linux Enterprise
AppArmor 由以下部分组成
- 一个内核模块,随 SUSE Linux 内核一起提供,用于强制执行安全配置文件
- 一组 RPM 包,也随 SUSE Linux 一起提供,这些包提供
- 一组适用于随 SUSE Linux 提供的众多程序的 AppArmor 配置文件
- 用于创建和管理新的和现有的 AppArmor 配置文件的工具
- 一个 YaST 用户界面,用于管理安全事件的报告和通知
- 关于 AppArmor 工具的文档
完成安装后最好重新启动系统,以便 AppArmor 可以限制所有系统守护进程。
AppArmor 的 RPM 包
这些可以在安装期间或之后从 SUSE Linux 包管理 YaST 用户界面中选择。
libapparmor apparmor-profiles apparmor-utils apparmor-parser yast2-apparmor apparmor-docs
AppArmor 的开发版本
对于当前正在积极开发的新功能,AppArmor wiki 托管源代码下载,用于审查和社区反馈。当功能已稳定并准备好进行集成测试和使用时,它们将成为 SUSE Linux 的一部分。
沟通
AppArmor 开发人员在 上游 AppArmor 邮件列表 中处理问题。该邮件列表面向最终用户和开发人员 - 欢迎在那里提问关于如何使用 AppArmor 保护您的应用程序的问题,也欢迎关于 AppArmor 未来发展的讨论。
从 SELinux 切换到 AppArmor (适用于 Leap 16.0 和 Tumbleweed)
首先我们需要安装 AppArmor 模式
# zypper install patterns-base-apparmor
之后我们需要更改启动加载程序的配置文件。对于 Grub2,我们可以在 /etc/default/grub 中找到配置文件。对于 systemd-boot,位置在 /etc/kernel/cmdline。在那里,我们需要更改以 GRUB_CMDLINE_LINUX_DEFAULT (如果使用 Grub2) 开头的行,并将其更改为
security=selinux selinux=1 enforcing=1
到
security=apparmor
之后我们需要使用以下命令重新生成 grub
# update-bootloader
最后,重新启动后,我们可以使用以下命令进行验证
# aa-status
当 AppArmor 正在运行时,我们会获得一个 AppArmor 正在强制执行的配置文件的长列表。此外,我们应该确保
# getenforce
响应为 Disabled。
贡献
您可以提供帮助的方式有很多:创建您运行的应用程序的 AppArmor 配置文件或报告您发现的错误将有助于使 openSUSE/SUSE Linux Enterprise 成为运行应用程序更安全的平台。
AppArmor 配置文件
SUSE Linux 发行版包含集成的 AppArmor 工具和配置文件,供您用于保护应用程序并创建新的配置文件。您可以按照生成新配置文件的配方,或增强现有配置文件,为感兴趣的应用程序贡献新的配置文件。该过程在 安全指南中的 AppArmor 部分 中详细说明
如果您有新的或修改后的配置文件,可以在 bugzilla 中上传它们,或将其提交到 AppArmor 邮件列表,并附带您所练习的应用程序行为的用例。AppArmor 团队将审核并可能将工作提交到 SUSE Linux。我们不能保证包含每个配置文件,但我们会尽心尽力包含尽可能多的配置文件,以便最终用户可以为 SUSE Linux 中提供的安全配置文件做出贡献。
修复错误
如果您发现 AppArmor 工具或配置文件的存在问题,可以使用 bugzilla (产品:SUSE LINUX X.Y,组件:AppArmor) 提交问题描述。有关哪些信息最能帮助我们修复错误,请参阅 openSUSE:Bugreport_AppArmor。
新闻文章
- 精美的描述和带有屏幕截图的快速概述:使用 AppArmor 保护您的应用程序。
- Linux Magazine 对 AppArmor 和 SELinux 的比较:Linux Magazine 第 69 期:2006 年 8 月。
- eWeek 对 AppArmor 和 SELinux 的比较:挥舞盾牌:您的操作系统有多可靠?。
其他链接
- Crispin Cowan(AppArmor 项目负责人)在 FOSDEM 2006 上发表了一次有趣的演讲:http://ftp.heanet.ie/mirrors/fosdem-video/2006/FOSDEM2006-apparmor.avi (271 MB)