apache禁用弱加密算法需构建闭环策略:白名单式sslciphersuite(如ecdhe-rsa-aes128-gcm-sha256等)、sslprotocol +tlsv1.2 +tlsv1.3、sslhonorcipherorder on、sslcompression off缺一不可,且须经openssl测试与ssl labs验证。

在 Apache 中禁止弱加密算法,核心是通过 SSLCipherSuite 指令精准控制允许的密码套件,并配合 SSLProtocol、SSLHonorCipherOrder 等指令协同生效。单靠“禁用某几个算法”不够,必须构建一套逻辑闭环的加密策略。
明确禁用已知高危算法
RC4、DES、3DES、MD5、SHA1、NULL、EXPORT、aNULL、eNULL、ADH、EDH-DSS-DES、KRB5-DES 等均已被证实存在严重漏洞(如 SWEET32、BEAST、FREAK),必须从套件列表中彻底排除:
-
不要用黑名单式写法(如
!RC4:!3DES:!MD5),易遗漏且维护困难 - 推荐白名单优先策略:只列出经验证安全、支持前向保密(PFS)和 AEAD 的强套件
- 典型安全套件组合示例:
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
确保协议版本与套件能力匹配
弱算法往往依附于旧协议(如 SSLv3/TLSv1.0/TLSv1.1),仅改套件不关协议,客户端仍可降级协商出不安全连接:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 在相同配置块中设置:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
或更明确地启用最低安全底线:SSLProtocol +TLSv1.2 +TLSv1.3(需 OpenSSL ≥ 1.1.1 + Apache ≥ 2.4.37) - 若环境不支持 TLSv1.3,至少保留
+TLSv1.2,并确保SSLCipherSuite中不含任何 TLSv1.3 专属套件(如TLS_AES_128_GCM_SHA256)
强制服务端套件优先级
默认情况下 Apache 会接受客户端首选项,可能绕过你配置的强套件。必须启用服务端排序机制:
- 添加配置:
SSLHonorCipherOrder on - 该指令确保服务器严格按
SSLCipherSuite中的顺序选择套件,防止客户端降级攻击 - 搭配使用:
SSLCompression off(禁用 TLS 层压缩,防 CRIME 攻击)
验证是否真正生效
修改后必须执行完整验证,不能仅依赖语法检查:
- 先检查配置:
apachectl configtest或httpd -t,确认返回Syntax OK - 重启服务:
systemctl restart httpd(RHEL/CentOS)或systemctl restart apache2(Debian/Ubuntu) - 本地测试:
openssl s_client -connect yourdomain.com:443 -cipher 'RC4' -tls1_2→ 应失败openssl s_client -connect yourdomain.com:443 -ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256'→ 应成功握手 - 线上扫描:SSL Labs 测试 查看 “Cipher Suites” 和 “Handshake Simulation” 结果,确认无 RC4、3DES、TLSv1.1 等条目










