Apache中间件基线核查
字数 1126 2025-08-15 21:32:00

Apache中间件安全基线配置指南

1. 访问控制

1.1 访问控制功能

1.1.1 禁止客户端访问Web目录之外的任何文件

httpd.conf中添加:

<Directory />
    Order Deny,Allow
    Deny from all
</Directory>

1.1.2 禁止Apache显示目录结构

在配置文件中,将所有Options关键字后的Indexes去掉:

<Directory "D:/Apache2/htdocs">
    Options FollowSymlinks
</Directory>

1.1.3 更改默认端口

修改Listen语句:

Listen X.X.X.X:8080

1.1.4 禁用PUT、DELETE等危险的HTTP方法

httpd.conf中添加:

<LimitExcept GET POST>
    Deny from all
</LimitExcept>

1.2 访问控制覆盖范围

1.2.1 仅绑定提供服务的IP地址

  • 单个IP地址时:
Listen 80
  • 绑定特定IP:
Listen X.X.X.X:80

1.3 最小权限原则

1.3.1 以专门的用户帐号和组运行Apache

配置步骤:

  1. 创建新帐号apache
  2. 确认属于Users组或不属于任何组
  3. 设置权限:
    • 整个Apache安装目录:读取和执行(RX)
    • logs子目录:读/写/删除(RWD)
  4. 在"本地安全策略"中添加apache到"作为服务登录"
  5. 在服务属性中将Apache服务登录账户改为apache
  6. 重启Apache

1.4 敏感资源控制

1.4.1 控制Apache服务器根目录访问权限

  • 确保Users用户组无根目录写权限
  • 不允许"完全控制"和"修改"权限

1.4.2 禁用CGI

  1. 禁止加载cgi相关模块:
# 去掉所有与cgi相关的LoadModule语句
  1. 禁止对cgi_bin目录进行配置:
# 将cgi-bin目录的配置删除或者注释掉

2. 安全审计

2.1 审计功能

2.1.1 配置错误日志

ErrorLog logs/error_log
LogLevel notice

2.1.2 配置访问日志

CustomLog log/access_log

2.2 审计记录格式

2.2.1 配置日志记录格式

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\"\"%{Referer}i\" \"%{User-Agent}i\""

3. 剩余信息保护

3.1 请求超时设置

TimeOut 10

4. 软件容错

4.1 错误页面重定向

ErrorDocument 400 /custom400.html
ErrorDocument 401 /custom401.html
ErrorDocument 403 /custom403.html
ErrorDocument 404 /custom404.html
ErrorDocument 405 /custom405.html
ErrorDocument 500 /custom500.html

5. 资源控制

5.1 会话超时

KeepAliveTimeout 15

5.2 并发连接限制

5.2.1 缓冲http请求

AcceptFilter http data

5.2.2 缓冲https请求

AcceptFilter https data

5.2.3 启用http持久链接

KeepAlive On

5.3 资源限制

5.3.1 限制http请求的消息主体大小

LimitRequestBody 102400  # 限制在100KB内
# 注意:不可设置为0

6. 数据保密性

6.1 敏感信息保护

6.1.1 关闭TRACE方法

TraceEnable Off

6.1.2 删除缺省安装的无用文件

  • 删除默认HTML文件:htdocs/目录下的所有文件
  • 删除默认CGI脚本:cgi-bin/目录下的所有文件
  • 删除Apache说明文件:manual/目录下的所有文件

6.1.3 隐藏Apache版本号及其他敏感信息

ServerToken Prod
ServerSignature Off

6.2 安全通信

6.2.1 支持HTTPS

LoadModule ssl_module modules/mod_ssl.so

总结

本指南详细列出了Apache中间件的安全基线配置要求,涵盖了访问控制、安全审计、剩余信息保护、软件容错、资源控制和数据保密性六个方面。实施这些配置可以显著提高Apache服务器的安全性,减少潜在的安全风险。建议管理员根据实际环境需求,选择性地实施这些安全措施,并定期进行复查和更新。

Apache中间件安全基线配置指南 1. 访问控制 1.1 访问控制功能 1.1.1 禁止客户端访问Web目录之外的任何文件 在 httpd.conf 中添加: 1.1.2 禁止Apache显示目录结构 在配置文件中,将所有 Options 关键字后的 Indexes 去掉: 1.1.3 更改默认端口 修改 Listen 语句: 1.1.4 禁用PUT、DELETE等危险的HTTP方法 在 httpd.conf 中添加: 1.2 访问控制覆盖范围 1.2.1 仅绑定提供服务的IP地址 单个IP地址时: 绑定特定IP: 1.3 最小权限原则 1.3.1 以专门的用户帐号和组运行Apache 配置步骤: 创建新帐号 apache 确认属于 Users 组或不属于任何组 设置权限: 整个Apache安装目录:读取和执行(RX) logs 子目录:读/写/删除(RWD) 在"本地安全策略"中添加 apache 到"作为服务登录" 在服务属性中将Apache服务登录账户改为 apache 重启Apache 1.4 敏感资源控制 1.4.1 控制Apache服务器根目录访问权限 确保 Users 用户组无根目录写权限 不允许"完全控制"和"修改"权限 1.4.2 禁用CGI 禁止加载cgi相关模块: 禁止对 cgi_bin 目录进行配置: 2. 安全审计 2.1 审计功能 2.1.1 配置错误日志 2.1.2 配置访问日志 2.2 审计记录格式 2.2.1 配置日志记录格式 3. 剩余信息保护 3.1 请求超时设置 4. 软件容错 4.1 错误页面重定向 5. 资源控制 5.1 会话超时 5.2 并发连接限制 5.2.1 缓冲http请求 5.2.2 缓冲https请求 5.2.3 启用http持久链接 5.3 资源限制 5.3.1 限制http请求的消息主体大小 6. 数据保密性 6.1 敏感信息保护 6.1.1 关闭TRACE方法 6.1.2 删除缺省安装的无用文件 删除默认HTML文件: htdocs/ 目录下的所有文件 删除默认CGI脚本: cgi-bin/ 目录下的所有文件 删除Apache说明文件: manual/ 目录下的所有文件 6.1.3 隐藏Apache版本号及其他敏感信息 6.2 安全通信 6.2.1 支持HTTPS 总结 本指南详细列出了Apache中间件的安全基线配置要求,涵盖了访问控制、安全审计、剩余信息保护、软件容错、资源控制和数据保密性六个方面。实施这些配置可以显著提高Apache服务器的安全性,减少潜在的安全风险。建议管理员根据实际环境需求,选择性地实施这些安全措施,并定期进行复查和更新。