优化Apache SSL加密套件核心是精准控制协商优先级、剔除RC4/MD5/SHA1/3DES等风险算法,显式配置SSLCipherSuite并启用SSLHonorCipherOrder on,配合SSLProtocol禁用旧协议、SSLCompression off,且四者必须同在<VirtualHost>块内,再用openssl s_client实测验证。

优化 Apache 的 SSL 加密套件,核心不是堆砌更多算法,而是精准控制协商优先级、剔除已知风险项,并确保服务端主导权。配置写对不等于生效,必须配合协议限制、排序强制和实测验证。
明确禁用所有已淘汰算法
别依赖 HIGH 或 MEDIUM 这类模糊关键字——它们随 OpenSSL 版本变化,可能意外引入 SHA1、3DES 或 CBC 模式套件。必须显式排除:
- !RC4:!MD5:!SHA1:!DES:!3DES:!EXPORT:!PSK:!SRP:!CAMELLIA:!SEED
- 避免使用
!aNULL:!eNULL这类简写,它无法过滤掉弱哈希或旧密钥交换 - 确认你的 OpenSSL 版本(
openssl version),OpenSSL 1.1.1+ 才真正支持 TLSv1.3 和 AEAD 套件
按安全等级分层排列套件顺序
套件顺序决定客户端实际协商结果。启用 SSLHonorCipherOrder on 后,服务器才按你写的顺序优先匹配:
- 首选层(现代客户端):ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
- 兼容层(如 IE11/Java 7/Android 4.4):ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384(注意不含 SHA1)
-
兜底层(慎用):仅当业务强依赖旧设备且能接受 CBC 风险时,加 ECDHE-RSA-AES128-SHA,但必须搭配
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
必须配套关键指令才能生效
单独写 SSLCipherSuite 几乎无效。以下四条需同时出现在 HTTPS <VirtualHost> 块内:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1(显式关闭旧协议) -
SSLHonorCipherOrder on(大小写敏感,仅on有效) -
SSLCompression off(禁用 CRIME 攻击面) -
SSLCertificateFile与SSLCertificateKeyFile路径正确且权限合理(私钥 600,证书 644)
用命令实测真实协商结果
重启 Apache 后,别信配置文件语法检查通过就完事。执行:
openssl s_client -connect example.com:443 -tls1_2 -cipher "ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA" 2>/dev/null | grep Cipher
若返回 Cipher : AES128-SHA,说明你的强套件没被优先选中——大概率是 SSLHonorCipherOrder 没开,或不在正确的虚拟主机块里。

















