2.8. JBoss Web 服务器的 SELinux 策略
您可以使用 Security-Enhanced Linux (SELinux)策略来定义 JBoss Web 服务器的访问控制。这些策略是一组规则,用于决定产品的访问权限。
2.8.1. jws6-tomcat的 SELinux 策略信息 复制链接链接已复制到粘贴板!
SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。
JBoss Web 服务器安装中的 jws6-tomcat-selinux 软件包提供了一个 jws6_tomcat 策略。下表包含有关提供的 SELinux 策略的信息。
| Name | 端口信息 | 策略信息 |
|---|---|---|
|
|
|
已安装
|
2.8.2. 为 JBoss Web Server 归档安装安装 SELinux 策略 复制链接链接已复制到粘贴板!
在这个发行版本中,归档软件包提供 SELinux 策略。jws-6.1.0-application-server- <platform>- <architecture>.zip 归档的 tomcat 文件夹包括 .postinstall.selinux 文件。如果需要,您可以运行 .postinstall.selinux 脚本。
步骤
安装
selinux-policy-devel软件包:dnf install -y selinux-policy-devel
dnf install -y selinux-policy-develCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
.postinstall.selinux脚本:cd <JWS_home>/tomcat/ sh .postinstall.selinux
cd <JWS_home>/tomcat/ sh .postinstall.selinuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 JBoss Web 服务器所需的端口添加访问权限:
semanage port -a -t http_port_t -p tcp <port>
semanage port -a -t http_port_t -p tcp <port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意JBoss Web 服务器有权访问 Red Hat Enterprise Linux 系统上的端口
8080、8009、88443和8005。当 JBoss Web 服务器需要额外的端口时,请使用前面的
semanage命令提供所需的权限,并将 <port> 替换为所需的端口。启动 Tomcat :
<JWS_home>/tomcat/bin/startup.sh
<JWS_home>/tomcat/bin/startup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查希望
jws6_tomcat的正在运行的进程的上下文:ps -eo pid,user,label,args | grep jws6_tomcat | head -n1
ps -eo pid,user,label,args | grep jws6_tomcat | head -n1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Tomcat 目录的上下文。例如:
ls -lZ <JWS_home>/tomcat/logs/
ls -lZ <JWS_home>/tomcat/logs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
默认情况下,JBoss Web 服务器提供的 SElinux 策略不是活跃的,Tomcat 进程在 unconfined_java_t 域中运行。这个域不会限制进程。
如果您选择不启用提供的 SELinux 策略,您可以执行以下操作:
-
限制
tomcat用户的文件访问权限,以便tomcat用户只能访问 JBoss Web 服务器运行时所需的文件和目录。 - 不要以 root 用户身份运行 Tomcat。
从存档文件安装 JBoss Web 服务器时,红帽不正式支持使用网络文件共享(NFS)。如果您希望 JBoss Web 服务器安装使用 NFS 挂载的文件系统,您需要确保正确修改 SELinux 策略来支持此类部署。