通过我迄今为止的(短暂的)工作经历,我从实施的角度以及如何管理 SELinux 获得了相当多的有关 SELinux 如何运作的知识。
我个人对 SELinux 有几点不满,比如它在许多方面似乎过于复杂,以至于安全性似乎很难推理。所以,我想知道业界对 SELinux 的热情程度。
您是否在生产服务器上使用 SELinux?如果是,您取得了什么样的成功?不想透露太多细节,但您是否为与政府有关的组织工作(国防部/司法部、国防承包商等)?有没有非政府公司认为这很有用?
答案1
SELinux 在揭示整个 Linux 系统的复杂性方面做得很好。现代 Fedora 和 RHEL 系统得到了很多 [SELinux] 的关注,而且大多数情况下您不会知道 SELinux 正在“运行”(它不是守护进程,它主要是内核中的钩子,并结合了用于决策的安全策略)。
安全的一个有趣(有时令人沮丧)的方面是“它在做什么?”或“它在工作吗?”的问题。如果它在工作,你可能永远不会知道。如果你正在运行一个网络服务器,而且它刚刚开始运行,那么你可能不知道有人甚至试图利用你的系统进行攻击。
至于政府,有公共资源(政府项目列表等)似乎指出 MAC(强制访问控制,即 SELinux)正在被使用,而且可能被大量使用。政府系统必须满足某些标准才能使用,具体取决于部署和系统所保存的信息。
至于私营公司,我不知道。如果他们需要 SELinux 带来的完整性,那么他们应该这样做。
归根结底,安全其实就是风险管理和选择正确的努力程度。此外,安全是一项持续不断的努力,而不是你只需“打开”即可
答案2
据我所知,很多商店都想使用 SELinux,但无法做到。例如,许多为 RHEL 构建产品的供应商明确要求关闭 SELinux。只要像 Oracle 这样的公司不能正确支持 SELinux,我认为它不会大受欢迎,除非是在 Web 服务器上(我会总是别管它在!SELinux 不再那么复杂了。如果你看看 RHEL4 和 RHEL5,并比较一下两者的 SELinux 有多复杂,你会发现差别很大。如果你比较 Fedora 11 和 RHEL5,你会发现差别又很大。虽然取得了很大进步,但只要像 Oracle 这样的人认为 SELinux 不值得支持,你就会看到很多人关闭它。
答案3
如果您只想为许多知名服务器和守护程序提供额外的安全保护,则无需自定义 SELinux 并编写自己的配置文件。某些优质 Linux 发行版中的默认配置将在服务受到有效漏洞攻击时提高系统的安全级别。