要彻底重置并优化Apache TLS配置,须显式禁用SSLv2/v3、TLSv1.0/1.1,仅启用TLSv1.2/1.3;采用AEAD密码套件(如AES-GCM、CHACHA20),启用OCSP Stapling、HSTS、会话缓存及安全响应头,最终达成SSL Labs A+评级。
要彻底重置并优化 apache 的 tls 参数配置,核心是清空旧有不安全设置、启用现代加密标准,并确保所有组件协同生效。这不是简单修改几行配置,而是从协议支持、密钥交换、证书链、响应头到运行时缓存的系统性调整。
清理旧配置与禁用不安全协议
先定位并检查所有 SSL 相关配置文件(常见于 /etc/apache2/sites-available/*.conf 或 /etc/httpd/conf.d/ssl.conf),删除或注释掉过时指令:
- 移除
SSLProtocol all或未明确排除的写法;改用显式禁用:SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 - 删除老旧套件如
RC4、DES、MD5、SHA1相关项;替换为强优先级套件列表 - 确认
SSLHonorCipherOrder on已启用,防止客户端强制协商弱算法
启用 TLS 1.2/1.3 与现代加密套件
Apache 2.4.37+ 原生支持 TLS 1.3,但需 OpenSSL 1.1.1+。配置示例如下:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3SSLCipherSuite TLSv1.3 TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256-
SSLProxyCipherSuite(如使用反向代理)也需同步更新 - 若用 Let’s Encrypt 证书,确保私钥为 RSA 2048+/ECDSA P-256,避免 SHA1 签名中间证书
强制 HTTPS 并启用关键安全头
仅配好 TLS 不够,还需策略层加固:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 全局或虚拟主机内添加 HTTP → HTTPS 301 跳转(推荐在非 SSL 虚拟主机中用
RewriteRule) - 启用 HSTS:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"(需mod_headers启用) - 补充其他防护头:
Header always set X-Frame-Options "DENY"Header always set X-Content-Type-Options "nosniff"
启用 OCSP Stapling 与会话复用
这两项直接影响握手效率和证书验证可靠性,SSL Labs A+ 必查:
- 开启 Stapling:
SSLUseStapling onSSLStaplingCache shmcb:/var/run/ocsp(128000) - 验证是否生效:
openssl s_client -connect example.com:443 -servername example.com -status -tlsextdebug 2>&1 | grep -i "OCSP response" - 启用会话缓存提升复用率:
SSLSessionCache shmcb:/var/run/ssl_scache(512000)SSLSessionCacheTimeout 300
完成配置后,执行 sudo apache2ctl configtest 校验语法,再 sudo systemctl reload apache2 生效。最后用 SSL Labs Test 全面验证,重点关注协议支持、密钥交换、证书链、HSTS 和 OCSP 状态。

















