Security 对于Docker集装箱,SELinux是否比AppArmor更安全?

Security 对于Docker集装箱,SELinux是否比AppArmor更安全?,security,ubuntu,docker,selinux,apparmor,Security,Ubuntu,Docker,Selinux,Apparmor,我的理解是,AppArmor和SELinux都实现了一个强制访问控制(MAC)系统,该系统在容器之间提供了额外的隔离安全层,Docker为这两个容器都提供了默认策略 但是,SELinux特别可以使用多类别安全性(MCS)强制要求系统上的每个容器只能访问主机上标记为该特定容器的文件(更多详细信息:,)。也就是说,如果两个Docker容器A和B在一台主机上旋转,Docker附带的默认SELinux安全策略实际上将强制执行,在发生中断时,容器A中的linux进程将无法访问属于容器B的文件。不仅如此,但

我的理解是,AppArmor和SELinux都实现了一个强制访问控制(MAC)系统,该系统在容器之间提供了额外的隔离安全层,Docker为这两个容器都提供了默认策略

但是,SELinux特别可以使用多类别安全性(MCS)强制要求系统上的每个容器只能访问主机上标记为该特定容器的文件(更多详细信息:,)。也就是说,如果两个Docker容器A和B在一台主机上旋转,Docker附带的默认SELinux安全策略实际上将强制执行,在发生中断时,容器A中的linux进程将无法访问属于容器B的文件。不仅如此,但是,将文件从主机装入容器的唯一方法是使用“:Z”,从而告诉Docker确保将相关MCS标签添加到主机上该路径中的文件中,以便容器可以访问这些文件

相反,我在AppArmor中找不到任何类似机制的参考。相反,Docker的主要目的似乎是拒绝访问特定的文件系统路径和主机资源,而不是拒绝容器之间的访问


我的问题是,如果我使用Docker的默认AppArmor配置文件,我会得到与使用上述SELinux相同的有效保护吗?AppArmor是否会阻止从一个容器访问另一个容器的文件?如果是,它是如何实现的?

这是一个很好的问题,但我担心这与StackOverflow无关。也许你应该发到,或者可能。我知道这是一个困难的问题,是服务器管理和安全性之间的多学科问题,也涉及到软件开发。