同时运行SELinux和AppArmor是一个坏主意吗?

我的公司政策规定必须使用SELinux保护Linux机箱(以便安全审计员可以检查每个服务器的’是,我们非常安全!’复选框)。 我原本希望利用Ubuntu的默认AppArmor安全性。 同时运行Apparmor和SELinux是不明智的吗? (如果是这样,通过一些apparmor和/或selinux调整可以减轻这个坏主意吗?)

Linux内核提供Linux安全模块接口,其中SELinux和AppArmor都是其实现。 (其他包括TOMOYO,Smack,…)此接口目前设计为仅允许单个LSM一次运行。 没有办法同时运行两个,所以你必须选择一个。 已经不时讨论如何“堆叠”多个LSM,但尚未完成。

我不会同时使用两者。

SELinux和AppArmor都做同样的基本事情:将对文件和文件夹的访问限制为只需要真正需要访问的应用程序。

但两者都以非常不同的方式实现这一想法。

  • SELinux将标签附加到文件系统中的每个文件,并限制应用程序对某些标签的访问。
    例如:Apache只能使用明确标记为Web文件的文件和文件夹,而其他应用程序则不能。
  • AppArmor在不使用标签的情况下完成同样的事情,它只使用文件路径。

(这是SELinux和AppArmor如何运作的非常基本的解释。)

如果你要同时使用它们,它们可能会互相支持,我真的认为没有必要或优势使用它们。