如何设置 SELinux 策略
人们选择 Linux 的主要原因之一是它提供的安全性。这就是为什么您会在服务器和专业工作站上找到 Linux。 SELinux 就是 Linux 的此类安全功能之一。它成为标准 Linux 内核的一部分已经有一段时间了,任何现代发行版都支持 SELinux。
SELinux 有多种不同的操作方式。这是由 SELinux 策略定义的。在本指南中,您将了解有关 SELinux 策略以及如何在 SELinux 中设置策略的更多信息。
SELinux 政策概述
让我们快速了解一下 SELinux 及其政策。 SELinux 是“安全增强型 Linux”的缩写。它包含一系列针对 Linux 内核的安全补丁。 SELinux 最初由美国国家安全局 (NSA) 开发,并于 2000 年以 GPL 许可证发布给开源开发社区。它于 2003 年与主线 Linux 内核合并。
SELinux 提供 MAC(强制访问控制)而不是默认的 DAC(自由访问控制)。这允许实施一些否则无法实施的安全策略。
SELinux 策略是指导 SELinux 安全引擎的规则集。策略定义文件对象的类型和进程的域。角色用于限制对域的访问。用户身份决定了可以获得哪些角色。有两种可用的 SELinux 策略:
目标:默认策略。实施对目标进程的访问控制。这些进程在受限域中运行,该进程对文件的访问受到限制。如果受限过程受到损害,损害就会减轻。对于服务,只有特定的服务被放入这些域中。
MLS:代表多级安全。查看有关 SELinux MLS 策略的 Red Hat 文档。
非目标进程将在不受限制的域中运行。在不受限制的域中运行的进程几乎享有完全的访问权限。如果此类进程遭到破坏,SELinux 不会提供任何缓解措施。攻击者可能会获得对整个系统和资源的访问权限。但是,DAC 规则仍然适用于无限制域。以下是无限制域示例的简短列表:
initrc_t 域:初始化程序
kernel_t域:内核进程
unconfined_t域:登录Linux系统的用户
更改 SELinux 政策
以下示例在CentOS 8中执行,本文所有命令均以root用户运行。对于其他发行版,请查看有关如何启用 SELinux 的相应教程。要更改 SELinux 中的策略,请首先检查 SELinux 状态。默认状态应该是在“强制”模式下启用 SELinux,并使用“目标”策略。
要更改 SELinux 策略,请在您喜欢的文本编辑器中打开 SELinux 配置文件。
在这里,我们的目标是定义 SELinux 策略的“SELINUXTYPE”变量。正如您所看到的,默认值是“targeted”。 ”
本示例中演示的所有步骤均在 CentOS 8 中执行。对于 CentOS,默认情况下不会安装 MLS 策略。其他发行版中也可能出现这种情况。在此了解如何在 Ubuntu 上配置 SELinux。请务必先安装该程序。对于 Ubuntu、CentOS、openSUSE、Fedora、Debian 等,包名称为“selinux-policy-mls”。 ”
在这种情况下,我们会将策略切换为 MLS。相应地更改变量的值。
保存文件并退出编辑器。要使这些更改生效,您必须重新启动系统。
通过发出以下命令来验证更改。
更改 SELinux 模式
SELinux 可以在三种不同的模式下运行。这些模式决定了策略的执行方式。
强制:任何违反策略的操作都会被阻止并在审核日志中报告。
宽松:任何针对策略的操作仅在审核日志中报告。
禁用:SELinux 已禁用。
要临时更改 SELinux 中的模式,请使用 setenforce 命令。如果系统重新启动,系统将恢复到默认设置。
要永久更改 SELinux 中的模式,您必须调整 SELinux 配置文件。
保存并关闭编辑器。重新启动系统以使更改生效。您可以使用 sestatus 命令验证更改。
结论
SELinux 是一种增强安全性的强大机制。希望本指南能帮助您学习如何配置和管理 SELinux 的行为。快乐计算!