2.7. Apache HTTP 服务器的 SELinux 策略


您可以使用 Security-Enhanced Linux (SELinux)策略为 Apache HTTP 服务器定义访问控制。这些策略是一组规则,用于决定产品的访问权限。

2.7.1. SELinux 策略信息

SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。

Apache HTTP 服务器安装中的 jbcs-httpd24-httpd-selinux 软件包提供 mod_proxy_cluster 策略。下表包含有关提供的 SELinux 策略的信息。

Expand
表 2.1. RPM 和默认 SELinux 策略
Name端口信息策略信息

mod_proxy_cluster

httpd_port_t 添加两个端口( TCP6666UDP23364) 以允许 httpd 进程使用它们。

安装后脚本配置 /var/cache/mod_proxy_cluster 的上下文映射,以启用 httpd 进程在此位置写入。

2.7.2. 为 Apache HTTP 服务器归档安装 SELinux 策略

在这个发行版本中,归档软件包提供 SELinux 策略。root Apache HTTP Server 文件夹包含一个 .postinstall.selinux 文件。如果需要,您可以运行 .postinstall.selinux 脚本。

重要

默认情况下,Apache HTTP 服务器提供的 SELinux 策略未激活,且 Apache HTTP 服务器进程在 unconfined_t 域中运行。这个域不会限制进程。如果您选择不启用提供的 SELinux 策略,请限制 apache 用户的文件访问权限,以便 apache 用户只能访问 Apache HTTP 服务器运行时所需的文件和目录。

流程

  1. 安装 selinux-policy-devel 软件包:

    yum install -y selinux-policy-devel
    Copy to Clipboard Toggle word wrap
  2. 运行 .postinstall.selinux 脚本:

    cd <httpd_home>
    sh .postinstall.selinux
    Copy to Clipboard Toggle word wrap
  3. 创建并安装 SELinux 模块:

    cd <httpd_home>/selinux/
    make -f /usr/share/selinux/devel/Makefile
    semodule -i jbcs-httpd24-httpd.pp
    Copy to Clipboard Toggle word wrap
  4. 为 Apache HTTP 服务器应用 SELinux 上下文:

    restorecon -r <httpd_home>
    Copy to Clipboard Toggle word wrap
  5. 为 Apache HTTP 服务器所需的端口添加访问权限:

    semanage port -a -t http_port_t -p tcp 6666
    semanage port -a -t http_port_t -p udp 23364
    Copy to Clipboard Toggle word wrap
  6. 启动 Apache HTTP 服务器服务:

    <httpd_home>/sbin/apachectl start
    Copy to Clipboard Toggle word wrap
  7. 检查希望 httpd_t 的正在运行的进程的上下文:

    $ ps -eZ | grep httpd | head -n1
    
    unconfined_u:unconfined_r:httpd_t:s0-s0:c0.c1023 2864 ? 00:00:00 httpd
    Copy to Clipboard Toggle word wrap
  8. 验证 httpd 目录的上下文。例如:

    ls -lZ <httpd_home>/logs/
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat