apache ssl/tls优化需显式禁用sslv2/3、tlsv1.0/1.1,仅启用tlsv1.2和tlsv1.3(依环境支持),配合aead密码套件与sslhonorcipherorder on,并通过ssl labs或openssl命令验证生效。

Apache 环境下优化 SSL/TLS 协议选择,核心不是“多开几个版本”,而是精准关闭不安全协议、明确启用现代协议、避免隐式回退。很多看似启用了 HTTPS 的站点,仍因协议配置宽松被浏览器标记为“不安全”或遭降级攻击。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
禁用所有已知不安全的协议版本
SSLv2、SSLv3、TLSv1.0 和 TLSv1.1 都存在可利用漏洞(如 POODLE、BEAST),且已被主流浏览器弃用。不能依赖“默认不启用”,必须显式关闭:
- 在虚拟主机或全局 SSL 配置中添加:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 - 不要写成
+TLSv1.2 +TLSv1.3—— 这种写法在旧版 Apache 中可能失效,且无法阻止隐式启用的旧协议。
只保留 TLSv1.2 和 TLSv1.3(按实际能力启用)
TLSv1.3 性能更好、握手更快,但能否启用取决于底层支持:
- Linux 服务器:Apache ≥ 2.4.37 + OpenSSL ≥ 1.1.1,通常可直接启用;
- Windows 下 phpEnv 等集成环境:需实测验证(如
openssl s_client -connect 127.0.0.1:443 -tls1_3),预编译版常禁用 TLSv1.3 或 CHACHA20 支持不稳定; - 若 TLSv1.3 不可用,专注优化 TLSv1.2 即可,不必强行开启。
协议与密码套件必须协同配置
光禁用旧协议不够——若密码套件不含 AEAD 模式(如 AES-GCM),TLSv1.2 也会被迫降级或协商失败:
- 必须包含
-GCM-套件(如ECDHE-RSA-AES128-GCM-SHA256),这是 TLSv1.2+ 的高性能安全基础; - 禁用 RC4、DES、3DES、MD5、SHA1 等淘汰算法;
- 添加
SSLHonorCipherOrder on,确保服务器按你设定的优先级协商,防止客户端绕过强套件。
验证协议是否真正生效
配置后务必实测,不能只看配置文件:
- 使用在线工具(如 SSL Labs 的 SSL Test)检查协议支持情况;
- 命令行验证:
openssl s_client -connect yoursite.com:443 -tls1_2和-tls1_3分别测试; - 查看响应头中是否出现
HTTP/2(说明 TLSv1.2+ 正常工作且 HTTP/2 已启用)。
不复杂但容易忽略。










