如何将 SELinux 设置为宽容模式?
SELinux 或安全增强型 Linux,即基于 Linux 的系统的安全机制默认运行在强制访问控制 (MAC) 上。为了实现此访问控制模型,SELinux 使用安全策略,其中明确规定了有关访问控制的所有规则。根据这些规则,SELinux 做出有关授予或拒绝用户访问任何对象的决定。
在今天的文章中,我们将在向您介绍 SELinux 的重要细节后,与您分享将 SELinux 设置为“Permissive”模式的方法。
什么是 SELinux 宽容模式?
“Permissive”模式也是 SELinux 运行的三种模式之一,即“Enforcing”、“Permissive”和“Disabled”。这是 SELinux 模式的三个特定类别,而一般来说,我们可以说在任何特定情况下,SELinux 要么“启用”,要么“禁用”。 “强制”和“宽容”模式都属于“启用”类别。换句话说,这意味着每当 SELinux 启用时,它要么运行在“Enforcing”模式,要么运行在“Permissive”模式。
这就是为什么大多数用户对“强制”和“许可”模式感到困惑,因为毕竟它们都属于“启用”类别。我们希望通过首先定义它们的目的,然后将其映射到示例来明确区分两者。 “强制”模式的工作原理是实施 SELinux 安全策略中规定的所有规则。它阻止安全策略中不允许访问特定对象的所有用户的访问。此外,此活动也会记录在 SELinux 日志文件中。
另一方面,“宽容”模式不会阻止不需要的访问,而是简单地将所有此类活动记录在日志文件中。因此,这种模式主要用于跟踪错误、审计和添加新的安全策略规则。现在,考虑一个用户“A”希望访问名为“ABC”的目录的示例。 SELinux 安全策略中提到,用户“A”将始终被拒绝访问目录“ABC”。
现在,如果您的 SELinux 已启用并在“强制”模式下运行,那么每当用户“A”尝试访问目录“ABC”时,访问都会被拒绝,并且此事件将记录在日志文件中。另一方面,如果你的SELinux运行在“Permissive”模式下,那么用户“A”将被允许访问目录“ABC”,但该事件仍然会被记录在日志文件中,以便管理员可能知道安全漏洞发生在哪里。
CentOS 8上将SELinux设置为宽容模式的方法
现在,当我们完全理解了SELinux“Permissive”模式的目的后,我们就可以轻松地讨论在CentOS 8上将SELinux设置为“Permissive”模式的方法了。但是,在讨论这些方法之前,最好先了解一下通过在终端中运行以下命令来检查 SELinux 的默认状态:
SELinux 的默认模式如下图所示:
CentOS 8上临时将SELinux设置为Permissive模式的方法
通过暂时将 SELinux 设置为“Permissive”模式,我们的意思是该模式将仅在当前会话中启用,一旦您重新启动系统,SELinux 将恢复其默认操作模式,即“Enforcing”模式。要将 SELinux 临时设置为“Permissive”模式,您需要在 CentOS 8 终端上运行以下命令:
通过将“setenforce”标志的值设置为“0”,我们实质上是将其值从“Enforcing”更改为“Permissive”。运行此命令不会显示任何输出,您可以从下面附加的图像中看到。
现在要验证 CentOS 8 中 SELinux 是否已设置为“Permissive”模式,我们将在终端中运行以下命令:
运行此命令将返回 SELinux 的当前模式,并且该模式将是“Permissive”,如下图突出显示。然而,一旦您重新启动系统,SELinux 将返回“强制”模式。
CentOS 8上永久将SELinux设置为宽容模式的方法
我们已经在方法#1中指出,按照上述方法只会暂时将SELinux设置为“Permissive”模式。但是,如果您希望在重新启动系统后这些更改仍然存在,那么您将需要通过以下方式访问 SELinux 配置文件:
SELinux的配置文件如下图所示:
现在,您需要将“SELinux”变量的值设置为“permissive”,如下图突出显示,然后您可以保存并关闭文件。
现在,您需要再次检查SELinux的状态,看看它的模式是否已更改为“Permissive”。您可以通过在终端中运行以下命令来完成此操作:
从下图中突出显示的部分可以看到,现在只是配置文件中的模式更改为“Permissive”,而当前模式仍然是“Enforcing”。
现在,为了使更改生效,我们将通过在终端中运行以下命令来重新启动 CentOS 8 系统:
重新启动系统后,当您再次使用“sestatus”命令检查SELinux的状态时,您会注意到当前模式也已设置为“Permissive”。
结论:
在本文中,我们了解了 SELinux 的“Enforcing”和“Permissive”模式之间的区别。接下来我们分享了在CentOS 8中将SELinux设置为“Permissive”模式的两种方法。第一种方法是暂时更改模式,而第二种方法是永久将模式更改为“Permissive”。您可以根据您的要求使用这两种方法中的任何一种。