apache正向代理需严格遵循安全基线:仅启用mod_proxy和mod_proxy_http模块,禁用其余代理及信息泄露模块;通过proxyrequests on与require ip白名单限制客户端来源;配置timeout、proxytimeout、limitrequestfields等参数防攻击;启用servertokens prod和traceenable off隐藏版本与禁用危险方法;使用含真实ip与url的定制日志格式并规范轮转权限。

启用最小化模块,禁用非必要功能
正向代理必须启用 mod_proxy 和 mod_proxy_http,其余如 mod_proxy_ftp、mod_proxy_wstunnel、mod_info、mod_status 等一律不加载。
- 编辑
/etc/httpd/conf/httpd.conf或模块加载文件,只保留: LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.so- 注释或删除所有其他
LoadModule proxy_*行 - 确保
ServerTokens Prod(隐藏版本号)和ServerSignature Off已设置
严格限定代理目标与客户端来源
正向代理若不限制,极易被滥用为开放代理(Open Proxy),成为攻击跳板。必须白名单化。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 在
VirtualHost或主配置中定义明确的代理规则,禁止通配符转发: -
ProxyRequests On(启用正向代理) -
ProxyVia Off(不透传代理链信息) - 用
<proxy></proxy>配合Require ip严格限制可发起代理请求的内网 IP 段: <proxy></proxy>-
Require ip 10.10.0.0/16(仅允许运维网段) - 禁止
Require all granted或无条件放行
加固请求与响应行为
防止缓冲区溢出、慢速攻击、信息泄露等常见风险,需匹配安全基线中的 timeout 与 buffer 要求。
- 全局设置合理超时(参考 Nginx 基线逻辑,Apache 对应参数):
-
Timeout 30(整体请求超时) -
ProxyTimeout 30(代理连接超时) -
KeepAliveTimeout 15(长连接空闲超时) - 限制请求头与体大小(防 DoS):
-
LimitRequestFields 50(最大 header 字段数) -
LimitRequestFieldSize 1024(单个 header 大小) -
LimitRequestBody 1048576(请求体上限 1MB) - 禁用 TRACE 方法(防 HTTP 请求走私):
TraceEnable Off
日志规范与审计可追溯
正向代理日志必须记录真实客户端 IP、目标 URL、状态码、耗时,且格式统一、定期轮转。
- 定义安全日志格式(含关键字段):
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %{X-Forwarded-For}i" proxylog- 绑定到代理虚拟主机:
CustomLog /var/log/httpd/proxy_access.log proxylogErrorLog /var/log/httpd/proxy_error.log- 配合 logrotate 或 cron 脚本每日切割,保留 90 天,权限设为
640,属主root:apache
url_rewrite),所以必须靠网络层 ACL(如防火墙)或前置 WAF 补齐对恶意域名的拦截。单纯靠 Apache 配置无法替代专业代理软件的安全深度。










