selinux的实际应用

selinux的实际应用

几乎所有教程和我见过的大多数系统似乎都禁用了 selinux。现实世界中是否有实际实施 selinux 安全性?

答案1

SELinux 是强制访问控制的一种形式,其中使用一组标签来控制进程可以做什么或不能做什么。 Linux 上涉及权限的默认访问控制方法ugo是自行决定的 - 它让用户自行决定实际确定哪些权限应该放在哪里。使用 SELinux 的强制访问控制的一个“问题”是,应用程序有时会因为明显神秘的原因而拒绝按您希望的方式工作。

我们以rsyslog守护进程为例。下面的目录和文件/var/log具有可以使用的正确 SELinux 标签rsyslog。但是,如果您尝试在系统的其他位置定义日志文件(例如 )/optrsyslog则将无法写入该日志文件,因为该文件上的 SELinux 上下文错误。由于访问控制是强制性的,因此即使您777在新日志文件上设置权限,也会发生这种情况。在这种特定情况下,SELinux 上下文可以使用chcon.但是等等,这些上下文将在下次重新标记文件系统时丢失。所以你真正需要的是semanage fcontext

正如我试图用上面的例子来说明的,SELinux 具有很强的学习曲线。即使您了解了其工作原理的基础知识,您仍然需要使用大量命令(semanagesestatussealertchconrestoreconaudit2allow)才能达到预期结果。即使这样,文档有时也会让您对哪里出了问题感到困惑。

考虑到实际使用 SELinux 的挑战,大多数人发现禁用它是一个更方便的选择。事实上,U&L 上 SELinux 标签下得票最高的问题是关于禁用 SELinux 的。

另一件需要注意的事情是,与 Red Hat 相关的发行版都启用了 SELinux(Fedora、RHEL 及其衍生产品)。这些系统附带的 SELinux 策略已经足够好,以至于很多人通常不会注意到他们的系统上运行着 SELinux。

答案2

是的;红帽企业 Linux默认情况下启用它,例如:

强制模式是默认且推荐的操作模式;在强制模式下,SELinux 正常运行,在整个系统上强制执行加载的安全策略。

相关内容