SELinux是否使Redhat更安全?
我不记得当我禁用SELinux的次数,因为它一直让我无法运行。 很多时候,没有明显的原因,为什么东西不工作,我不得不谷歌发现为什么。
考虑到大多数临时用户会阻碍或削弱安全性,因为排除严重的企业级Redhat用户,SELinux真的很有用吗?
PS。 是否有一些工具可以帮助您在所有应用程序中logging,跟踪和pipe理SELinux问题?
是的,Selinux使系统更安全。 但是你需要去理解它的概念,至less要有关于selinux和审计工具的基本知识。
Selinux正在logging到/var/log/audit/audit.log(但确保auditd正在运行),并且有许多工具可以解决selinux问题。 可能最简单的方法是使用audit2allow
是的,SELinux使Red Hat(以及任何实际使用它的Linux发行版)更安全,假设它实际上正在使用。
SELinux实现强制访问控制 。 普通的Unix权限,ACL等,实现自主的访问控制 。 两者相辅相成。
为了工作,SELinux需要一个策略,定义系统上可能允许的操作。 虽然可以从头创build整个系统策略,但大多数Linux发行版都会根据所谓的参考策略发布策略 。 这意味着,除了别的以外,configurationSELinux的分布将非常相似。 (大多数Linux发行版都会在其软件包存储库中提供SELinux引用策略,但默认情况下可能不会安装它。)
SELinux通过限制用户和进程仅执行策略中允许的操作来工作。 默认情况下,政策是拒绝,所以如果政策没有明确允许一个行动,那么它不会发生。 这就是为什么你经常遇到SELinux阻碍你尝试做的事情的麻烦。
在光明的一面,这也阻止了漏洞利用,甚至是0天的漏洞。 例如,如果您的Web服务器(Apache)被利用,损害仅限于Apache可以访问的东西。 它将无法读取您的/etc/shadow文件,例如,即使使用远程root攻击。 虽然Unix权限(DAC)允许root读取文件,但SELinux(MAC)不允许被破坏的进程跳出界限。
最大的问题是必须为服务加载一个SELinux策略模块。 如果你在你的盒子上安装了一个不包含SELinux策略模块的服务,那么它将运行在非限制状态,并能够做任何想要的事情。 SELinux将不适用于它。
你应该知道的另一件事是布尔人 。 这些可调参数由SELinux策略提供,以针对特定安装对其进行自定义,并根据本地configuration需要允许或拒绝访问。 例如,您可以让Apache访问Samba共享,启用Samba共享用户主目录,以及许多其他可能有用的东西,这些东西对于某些设置而不是其他设置是必需的。
我目前看到的SELinux最佳指南是“红帽安全增强型Linux用户指南” 。 它可以帮助你快速起床,并填写正在发生的事情的背景细节。 它还包含一个全面的故障排除指南 ,帮助您在SELinux下运行您的进程。
它有用吗?
SELinux可以防止进程(和用户,如果你限制了你的用户)做出意想不到的事情。 这严重限制了远程利用的破坏。 如果你从来没有遭受过远距离的妥协,你是(1)幸运的,(2)可能是新的。 如果你已经做了一个远程的妥协,你肯定不希望它再次发生。
这在家庭环境中并没有那么有用,除非你碰巧在家(和一些人)正在运行面向互联网的服务。 在这种情况下,上面所说的一切都适用。
SELinux可能是您的数据和攻击者之间的最后一件事情,他们真的需要0天的攻击。 如果你可以使用它,为什么不呢?
我认为SELinux只是扩展传统的权限系统,通过引入扩展的权限设置。 它是否使您的系统更安全? 我认为这取决于您在应用程序中如何使用SELinux。 另外我对SELinux不太擅长,但是configuration它需要更多的知识来解决它可以提供给你的限制。 但它也引入了许多问题,需要手动调查才能克服
有一个包可以帮助用户find由SELinux命名的setroubleshoot引起的问题。 安装它,将其设置为在开始时运行。 那么当你得到一个SELinux拒绝时,它会在/var/log/messages注明。 如果您也login到GUI,则会收到通知。