AppArmor
AppArmor 是什么?
AppArmor基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。
AppArmor 是一种 Linux Security Module,通过基于文件路径、capabilities 与网络原语的每程序配置文件来实施强制访问控制,而非 SELinux 使用的 inode 标签。它源自 Immunix,由 SUSE 与 Canonical 维护,自 2000 年代后期起成为 Ubuntu 与 openSUSE 默认的 MAC 框架。配置文件位于 /etc/apparmor.d,可加载为 enforce 或 complain 模式,并配套 aa-genprof、aa-logprof、aa-easyprof 等工具。基于路径的设计通常比 SELinux 策略更易编写与审计,代价是对重命名、bind mount 与 chroot 的语义较弱。AppArmor 被 snapd、libvirt、LXD、Firefox 及众多发行版软件包使用。
● 示例
- 01
Ubuntu 默认提供 Firefox、MySQL、Evince 的 AppArmor 配置文件。
- 02
snapd 使用 AppArmor(配合 seccomp)隔离每个已安装的 snap。
● 常见问题
AppArmor 是什么?
基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。 它属于网络安全的 密码学 分类。
AppArmor 是什么意思?
基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。
AppArmor 是如何工作的?
AppArmor 是一种 Linux Security Module,通过基于文件路径、capabilities 与网络原语的每程序配置文件来实施强制访问控制,而非 SELinux 使用的 inode 标签。它源自 Immunix,由 SUSE 与 Canonical 维护,自 2000 年代后期起成为 Ubuntu 与 openSUSE 默认的 MAC 框架。配置文件位于 /etc/apparmor.d,可加载为 enforce 或 complain 模式,并配套 aa-genprof、aa-logprof、aa-easyprof 等工具。基于路径的设计通常比 SELinux 策略更易编写与审计,代价是对重命名、bind mount 与 chroot 的语义较弱。AppArmor 被 snapd、libvirt、LXD、Firefox 及众多发行版软件包使用。
如何防御 AppArmor?
针对 AppArmor 的防御通常结合技术控制与运营实践,详见上方完整定义。
AppArmor 还有哪些其他名称?
常见的别称包括: AA。
● 相关术语
- cryptography№ 1006
SELinux
由美国国家安全局开发的安全增强型 Linux,通过 LSM 钩子与类型强制策略实现强制访问控制(MAC)框架。
- cryptography№ 979
seccomp
Linux 内核机制,用于限制进程可发起的系统调用;现代 seccomp-BPF/eBPF 模式可针对单个 syscall 进行精细过滤。
- identity-access№ 652
强制访问控制(MAC)
由中心策略而非资源拥有者强制执行的访问控制模型,基于赋予主体与客体的密级和许可级别做出决策。
- cloud-security№ 213
容器安全
保护容器镜像、镜像仓库、编排平台以及容器运行时环境的一整套实践。
● 参见
- № 120BPF LSM