Apache TLS安全基线核心是禁用TLS 1.0/1.1、仅显式启用TLS 1.2/1.3,配置强AEAD套件并开启OCSP Stapling,确保可信证书链完整且关闭信息泄露。
apache 中 tls 参数配置要达到安全传输基线,核心是禁用过时协议、强制强加密套件、启用可信证书链与ocsp stapling,并关闭信息泄露风险点。不是简单加几行配置,而是围绕“可用性”和“不可降级”两个原则来收紧协商过程。
禁用 TLS 1.0 和 1.1,仅启用 TLS 1.2 与 TLS 1.3
必须显式排除旧版本,不能靠“默认支持新版本”来侥幸。TLS 1.0/1.1 存在 BEAST、POODLE 等可利用漏洞,主流浏览器已弃用,PCI DSS 等合规标准也明确禁止。
- 在 SSLProtocol 指令中只写:SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1(不加
+TLSv1.2 +TLSv1.3,避免误启) - 确保 Apache 版本 ≥ 2.4.37(TLS 1.3 支持需此版本起),并启用
mod_ssl和mod_http2(后者有助于 TLS 1.3 协商优化) - 重启后用
openssl s_client -connect yoursite.com:443 -tls1_1验证是否返回 handshake failure
限定强加密套件,禁用非 AEAD 类型
TLS 1.2 虽支持 GCM,但若套件列表中混入 CBC 模式(如 ECDHE-RSA-AES128-SHA),客户端仍可能协商出易受填充预言攻击的组合。TLS 1.3 则天然只允许 AEAD 套件,但 Apache 配置需同步清理冗余项。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 使用 SSLCipherSuite 显式定义(注意顺序代表优先级):
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 - 添加 SSLHonorCipherOrder on,确保服务器按此顺序强制选择,不接受客户端偏好
- 禁用不安全协商机制:
SSLOptions +StrictRequire -ExportCertData -StdEnvVars
部署可信证书链并启用 OCSP Stapling
单有 TLS 1.3 不代表“严苛鉴权”。若证书由私有 CA 签发、缺少中间链或未验证吊销状态,整个信任链就形同虚设。
- 证书文件(SSLCertificateFile)必须包含完整链:leaf cert + intermediate(s),不依赖客户端自动补全
- 开启 OCSP Stapling:
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000) - 验证是否生效:用
openssl s_client -connect yoursite.com:443 -status查看是否有OCSP Response Status: successful
关闭协议层信息泄露与弱默认行为
很多“安全配置”失效,是因为基础防护被绕过。Apache 默认行为常暴露版本、允许危险方法、开放目录浏览等,这些会削弱 TLS 的实际防护效果。
- 隐藏服务标识:
ServerTokens Prod
ServerSignature Off - 禁用高危 HTTP 方法:
<LimitExcept GET HEAD POST>
Deny from all
</LimitExcept> - 关闭目录索引与符号链接:
Options -Indexes -FollowSymLinks
AllowOverride None - 限制请求头大小与数量,防慢速攻击:
LimitRequestFields 50
LimitRequestFieldSize 4094
Timeout 60

















