Apache TLS配置防中间人攻击的核心是强制TLS 1.2+、禁用SSLv2/3及TLS 1.0/1.1,严格限定前向保密加密套件,启用OCSP Stapling与HSTS,并确保证书链完整可信。

Apache TLS 配置中防止中间人攻击,核心在于强制使用强加密、禁用不安全协议与算法,并确保证书链可信、完整。光有 HTTPS 不够,配置不当仍可能被降级或绕过。
启用 TLS 1.2 及以上并禁用旧协议
SSLv2/SSLv3、TLS 1.0 和 TLS 1.1 已被证实存在严重漏洞(如 POODLE、BEAST),必须关闭:
- 在 ssl.conf 或虚拟主机配置中设置:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3 - 若 Apache 版本 ≥ 2.4.37 且 OpenSSL ≥ 1.1.1,+TLSv1.3 可直接启用;否则 TLS 1.3 需确认编译支持
- 重启 Apache 后用 openssl s_client -connect yoursite.com:443 -tls1_1 测试是否拒绝连接
严格限制加密套件
避免使用弱密钥交换(如 RSA 密钥传输)、弱认证(如无证书验证的匿名套件)和弱对称加密(如 RC4、3DES):
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 推荐配置:
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 - 添加 SSLHonorCipherOrder on 确保服务器优先级生效
- 禁用不安全选项:SSLCompression off(防 CRIME)、SSLSessionTickets off(防 Session Resumption 攻击)
强制证书校验与完整性保护
中间人常利用证书链缺失、域名不匹配或自签名信任来欺骗用户:
- 确保证书由可信 CA 签发,且包含完整中间证书(用 SSLCertificateChainFile 或合并进主证书文件)
- 启用 OCSP Stapling:
SSLUseStapling on
SSLStaplingCache "shmcb:logs/ocsp(128000)"
提升吊销状态实时性,减少依赖客户端主动查询 - 设置 Strict-Transport-Security 头(HSTS):
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
让浏览器强制走 HTTPS,防止首次请求被劫持
补充加固项
进一步缩小中间人可利用的攻击面:
- 关闭 Server 标识泄露:ServerSignature Off
ServerTokens Prod - 禁用 HTTP 方法滥用:TraceEnable Off(防 XST 攻击)
- 配合证书透明度(CT)日志:选择支持 SCT 的证书(如 Let’s Encrypt 默认提供),并在响应头中加入 Expect-CT(可选但推荐)

















