You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在CentOS 7的Apache 2.4中禁用CBC密码套件

解决Apache 2.4中禁用CBC密码套件的问题

我来帮你搞定这个CBC密码套件的禁用问题 —— 首先,testssl扫描出的告警确实是因为CBC模式的套件存在潜在漏洞风险(比如BEAST、Lucky13这类旧漏洞,虽然现代浏览器有防御机制,但合规扫描通常会要求禁用)。

步骤1:修改SSLCipherSuite配置

你现有的SSLCipherSuite规则没有明确排除CBC模式的套件,所以需要调整这个配置项,有两种实用方式:

方式一:在现有规则基础上添加!CBC

直接在你当前的配置末尾追加!CBC,修改后如下:

SSLCipherSuite HIGH:!aNULL:!eNULL:!kECDH:!aDH:!RC4:!3DES:!CAMELLIA:!MD5:!PSK:!SRP:!KRB5:!CBC:@STRENGTH

这种方式会保留你原本的HIGH等级筛选逻辑,同时自动剔除所有CBC模式的套件。

方式二:直接指定安全的非CBC套件(更推荐)

为了更精准控制加密套件,直接列出只允许的非CBC套件(比如GCM、CHACHA20-POLY1305这类AEAD模式的套件,它们属于现代加密标准,没有CBC相关风险且安全性更高),配置如下:

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:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

步骤2:优化SSL协议版本(可选但建议)

你当前启用了TLSv1.1TLSv1.2,但TLSv1.1本身依赖CBC套件较多,且已被多数安全标准标记为过时。如果你的业务场景允许,建议只保留TLSv1.2TLSv1.3(需要Apache 2.4.36+和OpenSSL 1.1.1+支持),配置修改为:

SSLProtocol -All +TLSv1.2 +TLSv1.3

如果环境不支持TLSv1.3,至少确保只启用TLSv1.2。

步骤3:验证配置并重启Apache

  1. 先检查Apache配置语法是否正确:
    apachectl configtest
    
  2. 如果输出Syntax OK,重启Apache服务:
    systemctl restart httpd  # 系统不同也可使用 service httpd restart
    
  3. 最后用testssl重新扫描验证:
    ./testssl -U mydomain.com
    

此时应该不会再出现CBC套件的告警了。

额外注意事项

  • 如果你的Apache版本较旧,可能不支持某些新套件(比如CHACHA20-POLY1305),可以根据实际情况调整套件列表。
  • 确保OpenSSL版本为最新稳定版,旧版本可能存在未修复的安全漏洞。

内容的提问来源于stack exchange,提问作者towa_ga

火山引擎 最新活动