AppArmor

✍ dations ◷ 2025-09-11 21:23:32 #AppArmor

AppArmor (“Application Armor”,意为“应用盔甲”) 是一个Linux内核安全模块,允许系统管理员通过每个程序的配置文件限制程序的功能。如它的帮助页面所说,“AppArmor 是一个对内核的增强工具,将程序限制在一个有限的资源集合中。AppArmor 独特的安全模型将对访问属性的控制绑定到程序而非用户。”

AppArmor 通过提供强制访问控制(MAC)来补充传统的Unix自主访问控制(DAC)模型。 从Linux内核的2.6.36版本开始,它已经被包含在主流分支中,并且自2009年它的开发得到了 Canonical 公司的支持。

AppArmor 对相关程序的约束与控制通过 apparmor_parser 加载到内核的配置文件来提供,这一般通过 /etc/init.d/apparmor 中的 SysV initscript ,如:

# /etc/init.d/apparmor start# /etc/init.d/apparmor stop# /etc/init.d/apparmor restart

AppArmor可以以两种模式运行:执行(enforcement)模式或学习(complain/learning)模式:

AppArmor 是使用Linux安全模块(LSM)内核接口实现的。在2009年,Linux 2.6.30 中包含了一个名为 Tomoyo(英语:Tomoyo) 的新解决方案;像 AppArmor 一样,它也使用基于路径的访问控制。

AppArmor 是作为 SELinux 的替代品出现的,因为对 SELinux 的批评者认为它难以让管理员设置和维护。与基于将标签应用于文件的 SELinux 不同,AppArmor 使用文件路径来确认文件。 AppArmor 的支持者声称,它对普通用户而言要比 SELinux 更简单、更易学习。 他们还认为 AppArmor 对现有系统的要求更低:例如 SELinux 需要支持“安全标签”的文件系统,因此无法为通过 NFS 挂载的文件提供访问控制。 AppArmor 则对文件系统没有要求。

但不论如何,这两个软件产品对让管理员加强系统的安全性都非常有帮助。他们都专注于访问控制,强化了标准的Linux访问控制策略。他们都生成日志,并提供审计活动的工具。他们都在应用程序层内工作。从技术上讲,他们同样地使用LSM与Linux内核进行交互。它们允许管理员使用GUI与非GUI工具。最后,它们都允许管理员在没有真正阻止访问的情况下尝试策略(而只是警告),以便仅在足够数量的测试之后才应用安全加固策略。

SELinux 和 AppArmor 的不同主要体现在管理方式和集成方式上。例如一个重要的区别: SELinux 通过 inode 编号而不是路径标识文件系统对象。这意味着如果给一个无法访问的文件创建了硬链接,在 AppArmor 中它将可以访问,但 SELinux 通过新创建的硬链接仍然会拒绝访问——由 inode 引用的基础数据是一样的。另外,在文档数量上 AppArmor 要比 SELinux 略逊一筹,这意味着网上寻找解决方案的难易程度同样有所差异。

AppArmor 在1998~2003年首先在 Immunix(英语:Immunix) Linux中被使用。当时,AppArmor被称为SubDomain,这个名字意在将特定程序的安全配置文件分割成不同的域,而程序可以动态地在不同的域中进行切换。 AppArmor 首先在 SLES 和 openSUSE 中可用,并且在 SLES(英语:SUSE_Linux_Enterprise) 10 和 openSUSE 10.1 中默认首先启用。

2005年5月,Novell 收购了 Immunix 并将 SubDomain 重命名为 AppArmor,并开始对其 Linux 内核进行代码清理和重写。从2005年到2007年9月,AppArmor 由 Novell 维护。从那时起,SUSE 就是商标名 AppArmor 的合法所有者。

AppArmor 在2007年4月第一次成功移植并打包于 Ubuntu。它成为Ubuntu 7.10版本的默认软件包,并最终作为Ubuntu 8.04发行版的一部分,默认设置只保护 CUPS。从 Ubuntu 9.04 开始,更多的项目(如MySQL)已经安装了配置文件。在 Ubuntu 9.10 中,AppArmor 的功能不断得到改进,因为它提供了客户会话、libvirt 虚拟机、Evince文档查看器的配置文件。它还提供了一个可选的 Firefox 的配置文件。

AppArmor 第一次被集成到 Linux 内核中是在2010年10月的2.6.36版本。

2014年,AppArmor 已经集成到了 Synology 的 DSM 5.1 Beta中。

相关

  • 白化病白化症(Albinism、albino)是由于体内黑色素缺乏,导致眼呈红色、毛发与皮肤颜色呈现白色;若虹膜并非红色而呈蓝或灰色,且肤色及毛发偏淡或颜色不均而非纯白,则是白色亚种而非白化症
  • 儋州话儋州话是一种粤语方言,有70多万人使用,又称乡话,在海南岛,使用人数仅次于海南话和黎语。分布地域为除儋州市东南角和几个小镇外的大部分地区,昌江县北部沿海的南罗、海尾一带和县
  • 小东京小东京(Little Tokyo)位于美国加州洛杉矶市区,是美国的三个正式的日本街之一,另外两个也都位于加州,分别在旧金山和圣荷西。它形成于20世纪初,是南加州日本裔美国人的文化中心。19
  • 李·博德曼李·博德曼(Lee Boardman,1972年7月2日-)是英国的一位演员和旁白。他最著名的作品是在肥皂剧加冕街中饰演Jez Quigley角色。他出生在曼彻斯特。
  • 拉蒂巴蒂拉蒂巴蒂(Ratibati),是印度西孟加拉邦Barddhaman县的一个城镇。总人口4370(2001年)。该地2001年总人口4370人,其中男性2393人,女性1977人;0—6岁人口572人,其中男294人,女278人;识字率5
  • 克里斯蒂安·拉科夫斯基克里斯蒂安·拉科夫斯基(保加利亚语:Кръстьо Раковски,俄语:Христиа́н Гео́ргиевич Рако́вский,1873年8月13日-1941年9月11日),保加
  • 拉托山坐标:45°0′2″N 6°17′1.1″E / 45.00056°N 6.283639°E / 45.00056; 6.283639拉托山(法语:Le Râteau),是法国的山峰,位于该国东南部,由上阿尔卑斯省负责管辖,属于多芬阿尔卑斯
  • 新兴町新兴町为新竹州新竹市自1935年实施町名改正所成立的行政区之一,位于新竹市东区,大约为西大路、铁路和客雅溪之间的街廓。荣町在町名改正前,位于新竹大字下的南门外和客雅小自。日治时期的町名在战后改为地籍划分,新竹市新兴町大致为现今地籍的新兴段和新兴段一小段。
  • 磁盘镜像磁盘镜像(英语:Disk mirroring),是为硬盘或光盘制作镜像(mirror)的过程。“磁盘镜像”一词一般有两种不同含义。一种是指复制到相同功能的存储设备中以起到增强数据集成度、增强容错功能、增加吞吐量等作用(如RAID)。这时对应英文一般为Disk Mirror,以下称为磁盘镜像。另一种含义是指复制到不同的设备或数据格式,主要用于数据备份。这时对应英文一般为Disk Image,以下称为“磁盘映像”。通常在使用中这两者都称为“镜像”或“磁盘镜像”。Disk Mirror在台湾IT界被称为“磁盘镜
  • 张兴海张兴海(1963年8月-),男,汉族,重庆人,中华人民共和国政治人物,无党派人士,第十三届全国人民代表大会重庆市代表。2018年2月24日,当选为第十三届全国人大代表。