我公司的政策规定 Linux 机器必须使用 SELinux 进行保护(这样安全审计员就可以选中每台服务器的“是的,我们非常安全!”复选框)。我曾希望利用 Ubuntu 出色的默认 AppArmor 安全性。同时运行 Apparmor 和 SELinux 是否不明智?(如果是这样,是否可以通过一些 apparmor 和/或 selinux 调整来缓解这个坏主意?)
答案1
Linux 内核提供Linux 安全模块接口,SELinux 和 AppArmor 都是该接口的实现。(其他接口包括 TOMOYO、Smack 等)此接口当前设计为一次仅允许一个 LSM 运行。无法同时运行两个,因此您必须选择一个。关于如何“堆叠”多个 LSM 的讨论时有发生,但尚未实现。
答案2
我不会同时使用两者。
SELinux 和 AppArmor 都执行相同的基本操作:将文件和文件夹的访问权限限制为仅真正需要访问的应用程序。
但两者实现这一想法的方式却截然不同。
- SELinux 会为文件系统中的每个文件附加一个标签,并限制应用程序对某些标签的访问权限。
例如:Apache 只能使用明确标记为 Web 文件的文件和文件夹,而其他应用程序则不能。 - AppArmor 无需使用标签即可完成相同的操作,它仅使用文件路径。
(这是对 SELinux 和 AppArmor 如何运行的非常基本的解释。)
如果同时使用它们,它们可能会互相干扰,而且我真的认为同时使用它们没有必要或没有任何优势。
答案3
您不能同时运行这两个 LSM。它们都是“主要”LSM,并且不可能同时堆叠两个主要 LSM。 参考。