Menu Close
Red Hat Training
A Red Hat training course is available for RHEL 8
3.5. 安全 HTTP 服务器
3.5.1. 安全 Apache HTTP 服务器
Apache HTTP 服务器是红帽企业 Linux 中最稳定和安全的服务之一。有许多选项和技术可用于保护 Apache HTTP 服务器。下面的部分简要说明了运行 Apache HTTP 服务器时的良好做法。
始终验证系统上运行的任何脚本在投入生产之前可以正常工作。此外,确保只有 root
用户对包含脚本或 CGI 的任何目录具有写入权限。要验证,以 root
用户身份输入以下命令:
# chown root directory-name # chmod 755 directory-name
在 /etc/httpd/conf/httpd.conf
文件中,您可以配置以下选项:
FollowSymLinks
- 此指令默认为启用,因此在创建符号链接时应小心。
索引
- 此指令默认为启用。禁用此指令,以防止访问者浏览服务器上的文件。
UserDir
-
此指令默认为禁用,因为它可以确认系统上是否存在用户帐户。要激活
/root/
之外的所有用户目录浏览,请使用UserDir enabled
和UserDir disabled
root 指令。若要将用户添加到已禁用帐户的列表,请在UserDir disabled
行上添加空格分隔的用户列表。 ServerTokens
此指令控制发送回客户端的服务器响应标头字段。它包括以下参数可自定义的各种信息:
ServerTokens Full
提供所有可用的信息,如 Web 服务器版本号、服务器操作系统详情、安装的 Apache 模块,例如:
Apache/2.4.37 (Red Hat Enterprise Linux) MyMod/1.2
ServerTokens Full-Release
通过发行版本提供所有可用信息,例如:
Apache/2.4.37 (Red Hat Enterprise Linux) (Release 41.module+el8.5.0+11772+c8e0c271)
ServerTokens Prod
或ServerTokens 产品
提供 Web 服务器名称,例如:
Apache
ServerTokens Major
提供 Web 服务器主发行版本,例如:
Apache/2
ServerTokens Minor
提供 Web 服务器次要发行版本,例如:
Apache/2.4
ServerTokens Min
或ServerTokens Minimal
提供 web 服务器最小发行版本,例如:
Apache/2.4.37
ServerTokens OS
提供 Web 服务器发行版本和操作系统,例如:
Apache/2.4.37 (Red Hat Enterprise Linux)
使用 ServerTokens Prod
选项防止攻击者获取有关您系统的任何宝贵信息。
不要删除 IncludesNoExec
指令。默认情况下,Server-Side Includes(SSI)模块无法执行命令。除非绝对必要,否则请不要更改此设置,因为它可能会使攻击者在系统上输入命令。
删除 httpd 模块
在某些情况下,删除某些 httpd
模块来限制 HTTP 服务器的功能会很有帮助。为此,请编辑 /etc/httpd/conf.modules.d/ 或
目录中的配置文件。例如,删除代理模块:
/etc/
httpd/conf.d/
echo '# All proxy modules disabled' > /etc/httpd/conf.modules.d/00-proxy.conf