网站搜索

如何为 Apache 启用/禁用 SELinux 布尔值


SELinux,或安全增强型Linux,是一种在 Linux 内核中实现的强制访问控制 (MAC) 安全机制,用于添加额外的层通过控制对文件、进程和资源的访问来提供保护。

SELinux 的一方面是管理布尔值,它是控制各种安全策略的开关。

在本文中,我们将重点关注启用或禁用特定的 SELinux 布尔值,特别是对于基于 RHEL 的发行版上的 Apache,以确保最佳的安全性和功能。

了解 SELinux 布尔值

SELinux 中的布尔值 就像开关一样,决定是否允许或拒绝某些操作。可以切换这些布尔值以启用或禁用特定的安全策略。

对于Apache,有几个布尔值控制它与SELinux的交互。

启用或禁用 Apache SELinux 布尔值

要查看所有 SELinux 布尔值,请结合使用 getsebool 命令 和 less 命令。

getsebool -a | less

要查看 Apache 程序(或守护程序)的所有布尔值,请使用“getsebool”命令和 grep 实用程序,该命令将列出所有与 httpd 相关的布尔值。

getsebool -a | grep httpd

以下是一些常见的与 Apache 相关的 SELinux 布尔值:

  • httpd_can_network_connect:允许 Apache 建立网络连接。
  • httpd_can_network_connect_db:允许 Apache 通过网络连接到数据库。
  • httpd_can_sendmail:允许 Apache 发送电子邮件。
  • httpd_enable_cgi:允许 Apache 执行 CGI 脚本。
  • httpd_enable_homedirs:允许 Apache 读取用户主目录。

这些布尔值控制 Apache 与 SELinux 交互的各个方面,有助于维护安全性,同时允许必要的功能。

要启用布尔值,您可以使用开关“On”或数值(1)。要禁用布尔值,您可以使用开关“Off”或使用setsebool命令使用数值(0),如下所述。

为 Apache 启用布尔值

如果您的系统上安装了 Web 服务器,则可以通过启用 allow_httpd_sys_script_anon_write 布尔值来允许 HTTPD 脚本在标记为 public_content_rw_t 的目录中写入文件。

getsebool allow_httpd_sys_script_anon_write 
setsebool -P allow_httpd_sys_script_anon_write on
OR
setsebool -P allow_httpd_sys_script_anon_write 1

setebool 命令中的 -P 选项可确保更改在系统重新引导后持续存在,这对于维护一致的安全策略非常重要。

禁用 Apache 的布尔值

同样,要禁用或关闭上述 SELinux 布尔值,请运行以下命令。

setsebool allow_httpd_sys_script_anon_write off
setsebool allow_mount_anyfile off
OR
setsebool allow_httpd_sys_script_anon_write  0
setsebool allow_mount_anyfile  0

不要忘记阅读以下与安全相关的文章。

  • 如何临时或永久禁用 SELinux
  • SELinux 的强制访问控制要点
  • Linux 服务器强化的 20 个有用的安全提示

SELinux 布尔值提供了一种灵活的方法来控制 Linux 系统上的安全策略。对于 Apache,启用或禁用特定布尔值可以增强安全性,同时允许必要的功能。

通过了解如何管理这些布尔值,管理员可以定制 SELinux 策略,以有效地满足其组织的需求。