我不知道 SELinux 在哪里使用,以及它如何防止攻击者。我浏览了 SELinux 网站并阅读了基本内容,但仍然没有找到有关 SELinux 的线索。对于提供 SSH shell、Apache 前端、基于角色的 Web 应用程序、MySQL DB、memcached 的 Linux 系统,几乎所有系统都受密码保护,那么我们为什么需要 SELinux?
答案1
您可能将 SELinux 视为系统调用防火墙:每个应用程序的策略指定了应用程序可以合理执行的操作:名称服务器可以侦听端口 53、处理特定目录中的某些区域文件、发送系统日志等,但尝试处理 /home 中的文件则毫无意义。SELinux 强制实施此类策略意味着名称服务器中的弱点将更难传播到系统的其他部分。
我发现 SELinux 确实提供了安全价值。但是,尽管多年来它确实变得越来越容易使用,但不幸的是,它仍然是一个相当复杂的系统。好处是,您可以轻松地关闭某些服务,而不必关闭整个系统。太多(初级?)系统管理员在遇到一项服务出现最轻微问题时,就会全面关闭 SELinux,而不是有选择地关闭造成问题的服务。
答案2
并非所有安全问题都可以提前预测。如果攻击者设法利用第三方 httpd 模块中的弱点,那么他们就可以访问用户 httpd 正在运行的相同文件。SELinux 通过将攻击者限制在其 SELinux 域可以访问的操作和文件上下文来进一步限制这一点。
答案3
答案4
SELinux很好地揭示了整个 Linux 系统的复杂性。
安全性的一个有趣方面是“它在做什么?”的问题。
如果它在工作,你可能永远不会知道。如果你正在运行一个 Web 服务器,并且它刚刚启动,那么你可能不知道甚至有人试图利用你的系统进行攻击。
至于私营公司,我不知道。如果他们需要 SELinux 带来的完整性,那么他们应该这样做。
至于政府,有公共来源(政府项目列表等)似乎指出 MAC 正在被使用,而且可能被大量使用。政府系统,取决于部署和系统所保存的信息,在使用前必须满足某些标准。
最终,安全实际上是风险管理和选择正确的努力程度。
此外,安全是一项持续的努力,而不是你仅仅打开的东西。