如果我们禁用 selinux 会出现什么问题

如果我们禁用 selinux 会出现什么问题

我们从另一个团队继承了一堆用过的服务器。其中一些启用了 SELinux,一些则没有。由于 SELinux,我们在设置无密码 ssh、我们的网络服务器等方面遇到了麻烦。我们找到了一个解决方法这个堆栈交换网站,即运行:

restorecon -R -v ~/.ssh

然而,由于我们不需要运行 SELinux 来完成我们所做的事情,因此关闭它可能比我们记住让每个人在任何需要权限的目录上运行上述 cmd 更容易。

我们是否可以关闭 SELinux 而不会产生任何影响,还是直接重新映像服务器会更好?需要注意一件事;我们的 IT 团队真的很忙,因此重新映像服务器并不是他们的首要任务,除非绝对有必要(需要一个非常好的业务案例)......或者有人用一瓶苏格兰威士忌或威士忌贿赂他们的老板。

更新:感谢大家的建议和建议。这些服务器都将用作内部开发服务器。这些机器不会有任何外部访问,因此安全性并不是我们高度关注的问题。我们当前使用的服务器(据我所知)都没有启用 SELinux。我的经理刚刚获得的一些功能是可以的,我们正在考虑禁用这些功能,以便集群中的所有内容都是统一的。

答案1

SELinux 是一个安全功能操作系统的。它旨在帮助保护服务器的某些部分免受其他部分的影响。

例如,如果您运行一个 Web 服务器,并且有一些“易受攻击”的代码,允许攻击者运行任意命令,那么 SELinux 可以通过阻止您的 Web 服务器访问不允许其查看的文件来帮助缓解这种情况。

现在轮到你禁用 SELinux 它不会破坏任何东西。服务器将继续正常工作。

但您将禁用其中一项安全功能。

答案2

对于 SELinux 有不同的看法。在许多情况下,某些应用程序不能很好地与 SELinux 兼容,因此这一决定没有实际意义(Oracle 就是一个例子)。
一般来说,SELinux 是一种保护机制,可以为想要破坏您系统的坏人设置另一个障碍。

在我之前在大公司担任系统管理员的过程中……我通常禁用 SELinux。我没有时间追踪用户、开发人员和管理者使用的所有系统上的所有 SELinux 错误。

在禁用某些功能之前,您可能需要首先将系统上的文件重新标记回它们应有的状态。我发现的最简单的方法是输入命令:

 # /sbin/fixfiles onboot

或者

 # touch /.autorelabel

然后,重新启动并等待,因为系统将花费大约相同的时间来验证和重置系统中错误的 SELinux 标签。之后您可能会没事,因为它修复并纠正了不合格的 SELinux 标签,这些标签可能在您尝试管理服务器之前已被修改。

但是,如果不这样做,系统不会因不让 SELinux 处于强制模式而受到损害。这只是一个额外的保护层。

答案3

简而言之,禁用强制访问控制(MAC)机制,例如SELinux这不是一个好主意,如果坏人成功规避由自主访问控制 (DAC) 实现的基于名称的访问控制,可能会让您处于安全劣势。

如果是我,我会做类似的事情

semanage fcontext -a -t ssh_home_t ~/.ssh # Adding the policy
restorecon -R -v ~/.ssh # Applying the policy

更加确定类型标签递归地分配自~/.ssh

答案4

一般来说,您不应该禁用 SELinux。有一些工具可以帮助您了解出了什么问题。我最喜欢的是 sealert 示例用法:

sealert -a /var/log/audit/audit.log

OFC 您始终可以将 SELinux 设置为宽松模式以进行调试,但保持 SELinux 禁用或宽松状态被红帽视为严重的安全缺陷。

相关内容