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 策略的信息。
Name | 端口信息 | 策略信息 |
---|---|---|
|
为 |
安装后脚本配置 |
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 服务器运行时所需的文件和目录。
流程
安装
selinux-policy-devel
软件包:yum install -y selinux-policy-devel
yum install -y selinux-policy-devel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
.postinstall.selinux
脚本:cd <httpd_home> sh .postinstall.selinux
cd <httpd_home> sh .postinstall.selinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建并安装 SELinux 模块:
cd <httpd_home>/selinux/ make -f /usr/share/selinux/devel/Makefile semodule -i jbcs-httpd24-httpd.pp
cd <httpd_home>/selinux/ make -f /usr/share/selinux/devel/Makefile semodule -i jbcs-httpd24-httpd.pp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 Apache HTTP 服务器应用 SELinux 上下文:
restorecon -r <httpd_home>
restorecon -r <httpd_home>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 Apache HTTP 服务器所需的端口添加访问权限:
semanage port -a -t http_port_t -p tcp 6666 semanage port -a -t http_port_t -p udp 23364
semanage port -a -t http_port_t -p tcp 6666 semanage port -a -t http_port_t -p udp 23364
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 Apache HTTP 服务器服务:
<httpd_home>/sbin/apachectl start
<httpd_home>/sbin/apachectl start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查希望
httpd_t
的正在运行的进程的上下文:ps -eZ | grep httpd | head -n1
$ ps -eZ | grep httpd | head -n1 unconfined_u:unconfined_r:httpd_t:s0-s0:c0.c1023 2864 ? 00:00:00 httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 httpd 目录的上下文。例如:
ls -lZ <httpd_home>/logs/
ls -lZ <httpd_home>/logs/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow