每天都有新的漏洞被曝光,网络犯罪报告也在增加,安全问题已成为重点。提升系统安全有多种方式。如果你使用(或计划使用)CentOS 或 Fedora 服务器,SELinux 是一个理想的起点。SELinux 是一个快速高效的安全协议和应用,帮助你检查和控制用户及其对系统文件和应用的访问权限。在这篇文章中,我会先简介 SELinux,然后展示如何在 CentOS 7 上启用 SELinux。
什么是 SELinux?
Security-Enhanced Linux(SELinux)是一个安全框架,为 Linux 系统管理员提供对用户系统访问权限的精细控制。它最初由美国国家安全局(NSA)开发,作为对 Linux 内核的一系列补丁和升级,使用 Linux Security Modules(LSM)实现。SELinux 在 2000 年作为开源工具发布,随后在 2003 年并入 Linux 内核主线。
SELinux 如何工作?
SELinux 控制系统中所有文件、进程和应用程序的访问权限。通过一套预定义的规则作为安全策略,SELinux 可以定义安全且有效的访问策略。SELinux 将保护系统并防止未经授权的资源访问尝试。这种方法遵循最小权限原则,即程序用户只被授予访问文件、目录、套接字和其他服务所必需的权限。
当应用程序或进程(称为"主体")请求以对象形式访问文件时,SELinux 使用访问向量缓存 (AVC) 来评估该访问。此缓存存储主体和对象的所有权限缓存,即进程及其尝试访问的内容。如果没有存储任何权限缓存,SELinux 将无法做出任何决定。在这种情况下,SELinux 只需联系安全服务器并请求信息以评估访问请求。安全服务器应用 SELinux 策略来评估访问,然后根据该策略授予或拒绝请求。您始终可以查看消息日志(位于"/var/log.messages")以查看哪些请求已被接受或拒绝。
SELinux 有哪些模式?
SELinux 允许管理员将其功能设置为以下三种模式之一。每种模式都有不同的安全限制和用途:
执行模式 这是默认模式,会阻止并记录不符合策略标准的操作。
宽松模式 此模式让你能够详细查看和处理日志及事件。它特别有助于测试 SELinux 功能。在此模式下,在强制和宽松操作模式之间切换无需重启系统。
禁用模式: 启用此模式后,你可以执行所有操作而不记录日志。切换到此模式需要重启系统。
如何在 CentOS 7 中启用 SELinux
-
检查 SELinux 状态:
第一步:检查您的 SELinux 开关状态
在尝试启用 SELinux 之前,您应该先检查它是否已被禁用。
在终端中输入以下命令检查设置:
sestatus
输出显示 SELinux 已在你的系统上禁用。
第二步:检查启用 SELinux 的要求
- 拥有 sudo 权限的用户账户
- 终端/控制台访问权限
- 基于 RHEL 的系统,如 CentOS 7
- 文本编辑器工具 nano
在拥有 root 权限、NVMe 与 AMD EPYC 强大性能的 Linux VPS 上构建应用。
查看 Linux 套餐-
正在启动 SELinux :
第 3 步:使用 nano 编辑器打开配置文件
设置 SELinux 服务的状态。然后转到 /etc/selinux/config 文件,然后用 Nano 这样的文本编辑器打开。
sudo nano /etc/selinux/config
步骤 4:更改 SELinux 模式
现在,您可以将 SELinux 模式更改为 宽容的 or enforcing.
你可以在这里将标记的行改为需要的模式。

第5步:保存更改
然后按下 CTRL + X 点击应用并保存。之后,按 y,然后 Enter 确认整个流程
第 6 步:重启服务器
现在需要重启系统。请输入下面的命令,然后按 <Enter>:
sudo reboot
步骤 7:重新检查 SELinux 状态
如果您想查看 SELinux 的状态,请输入 ""状态" 在命令行中再次运行。
现在,结果确认了你已经在系统中启用了强制模式。
如何在 CentOS 7 上禁用 SELinux
执行以下命令将 SELinux 模式从目标模式临时切换到许可模式:
sudo setenforce
但要注意,这个改动仅对当前的运行会话有效。
要在 CentOS 7 系统上永久禁用 SELinux,请按照以下步骤操作:
步骤 1: 将 SELinux 模式设置为"disabled"
Open the /etc/selinux/config file, then you should set the SELINUX mode to “disabled”
第 2 步:保存更改并重启
现在保存文件,然后用以下命令重启你的 CentOS 系统:
sudo shutdown -r now
步骤 3:重新检查 SELinux 状态
系统启动时,通过提供以下内容来确认更改 sestatus 命令:
sestatus
如何更改 SELinux 模式
与其完全禁用 SELinux,不如将其改为宽松模式。执行的操作会在日志文件中留下记录。
现在按照以下步骤将 SELinux 模式从 enforcing to 宽容的 输入:
sudo setenforce 0
现在你应该打开 enforcing 模式已启用,请运行下面的命令:
sudo setenforce 1
这些更改仅对当前会话有效。系统重启后会恢复为默认值。要使更改永久生效,你需要用文本编辑器(例如 nano,例如)。
在拥有 root 权限、NVMe 与 AMD EPYC 强大性能的 Linux VPS 上构建应用。
查看 Linux 套餐保护您的 CentOS 7 服务器,超越 SELinux
现在您已在 CentOS 7 上安装了 SELinux,可以放心您的系统比之前更安全了。当然,没有任何办法能保证系统完全安全。总有更多的工作要做,比如看看这里的项目 Linux VPS 安全防护指南。实际上,即使使用 SELinux,我们也只采用了它最基础的安全功能。除此之外,如果服务器托管商本身不够安全,你设置的任何防护措施都形同虚设。这正是为什么在 Cloudzy,我们维持最高级别的安全防护——包括硬件防火墙、AI 防火墙、DDoS 防护和其他专有技术。享受我们的 CentOS VPS 解决方案 并运行一个真正安全的服务器。
