1.3. SELinux 示例


安全增强型 Linux (SELinux)在许多实际场景中可以正常工作的安全优势。通过查看进程隔离和用户限制的实际示例,您可以看到 SELinux 如何缓解特权升级、配置错误和常见漏洞。

SELinux 通过几种方法增强系统安全性,例如:

  • 默认操作为 deny(拒绝)。如果 SELinux 策略规则不存在允许访问(例如,允许进程打开文件),SELinux 将拒绝访问。
  • 限制用户限制特权。您可以将 Linux 用户映射到受限的 SELinux 用户,以应用安全规则。例如,将 Linux 用户映射到 user_u 可防止用户运行设置的用户 ID (setuid)应用程序,如 sudosu
  • SELinux 增加进程和数据分割。使用域来定义哪些进程可以访问特定的文件和目录。例如,入侵 Samba 服务器的攻击者无法使用它访问由其他进程(如 MariaDB 数据库)使用的文件。
  • SELinux 可缓解配置错误。攻击者可以利用域名系统(DNS)区域传送来注入错误信息。如果您在 RHEL 上运行 Berkeley Internet Name Domain (BIND)作为 DNS 服务器,且没有限制区域传送,默认的 SELinux 策略会阻止 命名 守护进程和其他进程使用区传输来更新区文件 [1].
  • SELinux 缓解了路径遍历攻击。攻击者可以利用 Apache Web 服务器漏洞,使用特殊元素(如 ../ )来访问文件系统。如果您在 enforcing 模式下运行 SELinux,策略会阻止 httpd 进程访问未授权的文件。
  • SELinux 可防止在非 SMAP 平台上利用内核 NULL pointer dereferences。攻击者可以利用 mmap 功能中的一个漏洞将任意代码放在空页面(CVE-2019-9213)中。如果您以 enforcing 模式运行 SELinux,策略会阻止此类攻击。
  • SELinux 可防止 *PTRACE_TRACEME exploitsReact,您可以使用 deny_ptrace 布尔值来保护您的系统不受 PTRACE_TRACEME 漏洞(CVE-2019-13272)的影响。这可防止攻击者获得 root 权限。
  • SELinux 会阻止 NFS 错误配置。您可以使用 nfs_export_all_rwnfs_export_all_ro 布尔值来防止网络文件系统(NFS)错误配置,如意外共享 /home 目录。


[1] 包括 DNS 信息(如主机名到 IP 地址映射)的文本文件。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部