apache正向代理需主动启用并严格按安全基线配置:仅加载mod_proxy和mod_proxy_http模块,禁用非必要proxy模块;关闭proxyrequests on默认值,限制客户端ip白名单或启用basic认证;禁止connect方法防https隧道;禁用dns解析与伪造头;隐藏服务器标识;单独记录代理日志并限制连接超时。

Apache 正向代理本身不是默认启用的功能,需主动开启并谨慎配置;结合安全基线的核心目标是:**限制暴露面、控制访问权限、隐藏客户端身份、防止滥用与信息泄露**。它不适用于生产环境公开部署,但若确需在受控内网(如运维跳板、测试环境)使用,必须按安全基线收紧配置。
关闭非必要模块与功能
正向代理依赖 mod_proxy 和 mod_proxy_http,但很多其他 proxy 模块(如 mod_proxy_ftp、mod_proxy_connect)极易被用于隧道攻击或绕过策略:
- 仅加载必需模块:在
httpd.conf或mods-enabled/中禁用proxy_ftp、proxy_wstunnel、proxy_ajp等非 HTTP 场景模块 - 显式禁止 CONNECT 方法(防 HTTPS 隧道):
<proxy><br> Require all denied<br></proxy><br><proxymatch></proxymatch><br> Require all denied<br>
- 禁用
ProxyRequests On的全局开关——除非明确需要正向代理,否则保持默认Off
严格限定可访问的目标与客户端范围
正向代理若不限制目标和来源,极易沦为开放代理(open proxy),被用于恶意扫描、垃圾邮件或攻击跳板:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 用
ProxyRemote或ProxyPass显式定义允许转发的上游域名/IP+端口,禁止通配符(如*或.example.com不加白名单校验) - 强制基于 IP 或账号认证访问:
— IP 白名单:Require ip 10.10.20.0/24
— Basic 认证:AuthType Basic+AuthUserFile+Require valid-user - 禁用 DNS 解析(避免 SSRF 风险):设置
ProxyBadHeader Ignore并配合ProxyPreserveHost Off,不信任客户端传入的 Host 头
隐藏服务标识与强化请求头控制
避免泄漏 Apache 版本、模块信息,同时规范转发行为以降低指纹识别和中间人篡改风险:
- 关闭服务器签名:
ServerSignature Off+ServerTokens Prod(只显示 “Apache”,不带版本号) - 清除或重写敏感请求头:
RequestHeader unset X-Forwarded-For(防伪造源 IP)、RequestHeader unset User-Agent(可选,减少客户端指纹外泄) - 添加安全响应头(虽非代理专属,但属基线要求):
Header set X-Content-Type-Options "nosniff"、Header set X-Frame-Options "DENY"
日志审计与连接限制
正向代理行为必须全程可追溯,并具备基础抗压能力:
- 单独记录代理访问日志(区别于普通 Web 日志):
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{X-Forwarded-For}i" proxy<br>CustomLog logs/proxy_access.log proxy - 限制并发连接与超时:
Timeout 30、KeepAliveTimeout 5、MaxKeepAliveRequests 100(防慢速攻击) - 启用 mod_evasive 或配合防火墙(如 fail2ban)对高频 / 异常代理请求做临时封禁









