什么是 SELinux? 为什么您可能要禁用它?

如果您已经了解 SELinux,并且完全了解禁用它会遇到的风险,那么这里是如何做到这一点的。

  • 打开配置文件 /etc/selinux/config 或其符号链接 /etc/sysconfig/selinux.
  • 将线路从 SELINUX=强制执行SELINUX=禁用
  • 重启系统或使用 设置强制 0 立即调用更改。

阅读这篇文章,了解有关什么是 SELinux、如何禁用 SELinux 以及为什么禁用 SELinux 并不总是一个好主意的更多详细信息。

什么是 SELinux?

SELinux 代表安全增强Linux。 它是一种标记机制,可以为系统中的文件和其他对象提供高安全性,使其免受未经授权的进程以及没有或不需要此类访问权限的授权进程的影响,以避免滥用。

可以在任何现有的 Linux 系统中安装 SELinux。 这种用法不会对所有个人用户有用,但对服务器系统至关重要。

它的安全刚性可以通过以下事实来理解:使用 SELinux,即使被黑客入侵,root 拥有的进程也无法访问未被授予访问权限的文件。

SELinux 是如何工作的?

当进程需要访问文件或对象时,SELinux 会强制执行内核遵循的访问策略。 根据该策略,每个文件或进程都被分配了一个标签。 因此,当带有标签 a:a:a 的进程需要访问文件(带有标签 b:b:b)时,两者都应该匹配(除了 MLS 配置,其中将按照策略遵循层次结构)。

阅读有关标签的更多信息 这里这里.

请注意,在服务器中禁用 SELinux 会给系统带来很多威胁。 请确保您这样做既不是因为方便,也不是因为文章中的推测内容,而是有正当理由。

禁用 SE Linux 的缺点

禁用 SELinux 后,每个进程都可以像在普通 Linux 系统中一样访问文件。 不能防止滥用权利。 被黑客入侵的进程可以访问其原始目的不需要并且可能被滥用的秘密文件。 这是一个严重的问题。

如果具有 root 权限的进程受到损害,则整个系统都处于危险之中。 SELinux 提供的是更严格的安全性。 学习更多关于 这里的风险.

如果 SELinux 是一项安全功能,为什么要禁用它?

因为通常极端的安全功能会成为一种痛苦。 SELinux 也是如此。

因为对哪些文件可以通过什么进程访问过于严格,所以您将很难让各种服务在您的服务器上正常工作。

为了 example,如果 /var/lib 中的文件由 root 拥有并且文件权限为 000,则需要这些文件的程序将无法运行。

此外,当您调试应用程序时,SELinux 会变得很痛苦。 禁用它可以让您头疼。

提示:在 SELinux 中使用许可模式

相对更好的做法是在部署应用程序或调试问题之前将 SELinux 置于许可模式,然后再次启用它。

permissive 模式就像 SELinux 被禁用一样工作,但同时,它会像 SELinux 被启用一样记录。

通过这种方式,您可以从 /var/log/messages 日志中了解如果启用了 SELinux,您的应用程序会发生什么。 检查拒绝消息。

请注意,在 permissive 模式下,您的系统不受 SELinux 策略的保护。

在 CentOS 和其他 Linux 发行版中禁用 SELinux

您可以使用以下步骤禁用 SELinux。 尽管这些命令在 中央操作系统,它应该在 Fedora 和红帽 Linux。

我认为同样的步骤也应该适用于其他 Linux 发行版。 如果没有,请在评论部分告诉我们。

首先,使用检查 SELinux 状态 sestatus 命令。

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

如果 SELinux 已启用并处于强制模式,您可以使用以下步骤禁用它。

第1步: 打开配置文件 /etc/selinux/config 或其符号链接 /etc/sysconfig/selinux

第2步: 将线路从 SELINUX=enforcingSELINUX=disabled.

第 3 步: 重启系统或使用 setenforce 0 更改当前会话的 SELinux 模式,更改将在重新启动时生效。

笔记: 要将 SELinux 置于许可模式,请将配置文件更改为 SELINUX=permissive

如何再次启用 SELinux?

如前所述,您可能希望在调试问题或部署应用程序后再次启用 SELinux。 事实上,暂时禁用 SELinux 或许是最好的主意。

您可以通过恢复之前所做的更改来重新启用 SELinux。

第1步: 再次打开 /etc/selinux/config 或 /etc/sysconfig/selinux 文件。

第2步: 这次将行更改为 SELINUX=enforcing

第 3 步: 最后重启系统或者使用命令 设置强制 1 立即强制执行 SELinux。

我希望我澄清了一些关于 SELinux 的事情,比如许可模式与强制、禁用 SELinux 等。

如果您有改进本文的问题或建议,请在下面的评论部分告诉我们。 还请分享您对禁用 SELinux 的想法。