sslcompression必须关闭,它是tls 1.0/1.1中加密前用lz77压缩数据的机制,因crime攻击可窃取cookie等敏感信息,属确定性风险,无实际性能收益;apache中需在ssl配置段添加sslcompression off并重启服务。

SSLCompression 不需要权衡,必须关闭。
SSLCompression 是什么、为什么必须关
SSLCompression 是 TLS 1.0/1.1 时代支持的加密前数据压缩功能(RFC 3749),用 LZ77 压缩应用层内容再加密。但 CRIME 攻击(CVE-2012-4929)证明:攻击者可通过反复发送请求并观察密文长度变化,推断出 Cookie 等敏感字段的明文内容——这是确定性风险,不是理论可能。
它不节省实际带宽:现代 HTTPS 流量中,TLS 层压缩对已压缩的 HTML/JS/CSS 效果极小;而 HTTP 层压缩(由 mod_deflate 处理)仍可正常启用,且更安全、更可控。
Apache 中正确配置 SSLCompression off
在 Apache 的 SSL 虚拟主机或全局 SSL 配置段(如 /etc/apache2/mods-available/ssl.conf 或站点配置文件中的 <virtualhost></virtualhost> 内)添加:
SSLCompression off
注意:该指令仅在 Apache 2.2.24+ 和 OpenSSL 1.0.0+ 环境下有效;旧版本需升级或确认 OpenSSL 是否支持该开关。
配置后务必重启服务:sudo systemctl restart apache2(Debian/Ubuntu)sudo systemctl restart httpd(RHEL/CentOS)
配合其他关键 SSL 安全项一起生效
单关 SSLCompression 不够,CRIME 防御需整体加固:
-
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1—— 强制 TLS 1.2+,避免协议级漏洞 -
SSLHonorCipherOrder on—— 确保服务器按你设定的强密码套件优先协商 -
SSLCipherSuite HIGH:!aNULL:!MD5:!RC4:!EXPORT—— 排除已知弱算法 - 禁用 TLS 会话票据(
SSLSessionTicketOff)可进一步降低 BEAST/CRIME 类侧信道风险(非必需但推荐)
验证是否生效
使用在线工具如 SSL Labs Test 扫描域名,检查报告中:
- “Compression” 项应显示 “No (supported, but not enabled)” 或直接为 “No”
- 无 “CRIME vulnerability” 相关告警
命令行也可快速验证:openssl s_client -connect yourdomain.com:443 -tls1_2 2>/dev/null | grep "Compression"
若返回 Compression: NONE,说明已成功禁用。











