Apache TLS加密套件优化需禁用SSLv2/3、TLSv1.0/1.1及RSA密钥交换、SHA-1/MD5、CBC等弱算法,仅保留ECDHE+AEAD(如GCM、CHACHA20)套件,并启用SSLHonorCipherOrder on确保服务器主导协商。

Apache 中优化 TLS 加密套件(CipherSuites)不是堆砌“高分算法”,而是精准剔除风险项、锁定前向保密(PFS)+ AEAD 模式组合,并强制服务器主导协商顺序。SSL Labs 等评分工具主要扣分点集中在:启用 TLS 1.0/1.1、存在 RSA 密钥交换、含 SHA-1/MD5 摘要、使用 CBC 模式或弱密钥长度。优化目标是让评分稳定在 A+,同时不牺牲主流客户端兼容性。
禁用所有已淘汰协议和非 PFS 套件
SSL Labs 会直接降级评分甚至拒评,如果配置中残留以下任何一项:
- SSLv2、SSLv3、TLSv1、TLSv1.1 —— 必须显式禁用,不能只写
+TLSv1.2; - 含
RSA密钥交换的套件(如ECDHE-RSA是安全的,但RSA-AES不是); - 摘要为
SHA1或MD5的套件(如SHA256和SHA384可接受); - CBC 模式套件(如
AES128-CBC),除非你明确需要支持极旧 Android/iOS 设备; - 任何含
NULL、EXPORT、aNULL、eNULL标识的套件。
精排强套件顺序,仅保留 PFS+AEAD 组合
套件列表越短越可控,推荐使用以下最小可行集(兼顾 A+ 评分与现代浏览器/移动端兼容):
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
说明:
- 全部基于
ECDHE,确保前向保密; - 全部使用
GCM或CHACHA20-POLY1305,满足 AEAD 要求; -
ECDSA套件优先利于 EC 证书部署,RSA套件保障兼容性; - 避免混入
AES128-SHA256等 CBC 套件,除非你确认需支持 Windows 7 + IE11(已不推荐)。
强制服务器排序并关闭压缩
仅设套件还不够,必须确保协商行为符合预期:
- SSLHonorCipherOrder on —— 关键!否则客户端可无视你的排序,自行选最弱可用套件;
- SSLCompression off —— 防 CRIME 攻击,SSL Labs 明确要求关闭;
- 不建议用
HIGH:!aNULL:!MD5这类模糊表达,它可能意外保留 CBC 或 SHA1 套件,导致评分掉档。
验证是否生效
改完配置后务必验证,别依赖重启就万事大吉:
- 用
openssl s_client -connect yoursite.com:443 -tls1_2 -cipher "ALL:COMPLEMENTOFDEFAULT"手动测试是否真能协商出 GCM 套件; - 访问 SSL Labs Test,查看 “Handshake Simulation” 表格中各客户端是否都落到 GCM/CHACHA 套件;
- 检查 Apache 错误日志,确认无
Invalid cipher suite或no shared cipher报错。

















