启用前向保密需同步收紧协议、密钥交换与密码套件:禁用TLS 1.1及以下,仅保留TLS 1.2+;强制ECDHE/DHE密钥交换;剔除RSA、RC4、DES等非PFS套件;使用明确套件列表并开启SSLHonorCipherOrder。

要让 Apache 的 TLS 配置真正启用前向保密(PFS),关键不是“加个选项”,而是从协议选择、密钥交换机制、密码套件组合三方面同步收紧,确保每次握手都使用临时密钥,杜绝长期私钥解密历史流量的可能。
必须禁用所有非 PFS 密钥交换方式
PFS 的核心是密钥交换必须基于临时参数(ECDHE 或 DHE),而非静态 RSA。只要配置中混入一个 RSA、AES128-SHA、DES-CBC-SHA 这类不含 ECDHE/DHE 的套件,整条链路就失去前向保密能力:
- 显式剔除含
RSA密钥交换的套件(如RSA-AES128-GCM-SHA256) - 禁用
aNULL(无认证)、eNULL(无加密)、EXPORT(弱出口算法) - 移除
MD5、SHA1、RC4、DES、3DES等已淘汰算法标识
只保留 ECDHE/DHE 开头的强套件组合
推荐直接使用明确限定的列表,避免依赖模糊关键字(如 HIGH)引入意外套件:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
搭配强制服务端优先排序:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
SSLHonorCipherOrder on
协议层只启用 TLS 1.2 及以上
TLS 1.3 原生强制 PFS,不支持任何非临时密钥交换;TLS 1.2 则需靠套件控制。必须关闭旧协议:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3
同时禁用压缩防 CRIME 攻击:
SSLCompression off
验证是否真正生效
配置后不能只看浏览器锁图标:
- 用
openssl s_client -connect yoursite.com:443 -tls1_2查看返回中的Cipher is行,确认显示为ECDHE-RSA-AES256-GCM-SHA384类型 - 在 SSL Labs 测试页检查 “Key Exchange” 栏,全部条目应标注为 “Forward Secrecy”
- 运行
apachectl configtest确保语法无误,再重启服务
不复杂但容易忽略

















