You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Apache SSL的TLS_RSA_WITH_3DES_EDE_CBC_SHA弱加密套件

根本原因

你写的套件白名单没有完全生效,或是没有做强制禁用规则触发了OpenSSL的默认兼容fallback逻辑。你当前的SSLCipherSuite只枚举了允许的强套件,但如果存在配置加载顺序靠后被全局/虚拟主机配置覆盖、旧版Apache/OpenSSL自动追加兼容套件的情况,不在白名单里的DES-CBC3-SHA(也就是扫描出的TLS_RSA_WITH_3DES_EDE_CBC_SHA)就会被启用。

修复操作
  • 首先修改/etc/letsencrypt/options-ssl-apache.conf中的SSLCipherSuite行,在现有套件列表末尾追加强制禁用规则,最终配置如下:
SSLCipherSuite          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:!aNULL:!eNULL:!MD5:!3DES:!DES-CBC3-SHA:!RC4:!DSS:!LOW

OpenSSL套件规则里,!前缀代表永久禁用对应套件,优先级高于所有允许类规则,不管其他配置怎么写、有没有fallback逻辑,带!标记的套件都不会被协商使用。

  • 排查全局SSL配置的覆盖问题,不同发行版的全局配置路径不一样:
    • Debian/Ubuntu:检查/etc/apache2/mods-enabled/ssl.conf
    • RHEL/CentOS/AlmaLinux:检查/etc/httpd/conf.d/ssl.conf
      找到文件内所有SSLCipherSuite配置项,要么直接注释掉,要么改成和上面一致的规则,避免全局配置优先级高于letsencrypt的统一配置。
  • 逐个检查所有HTTPS虚拟主机配置,确认每个443端口的虚拟主机块里都正确引入了letsencrypt的配置文件:
Include /etc/letsencrypt/options-ssl-apache.conf

如果虚拟主机块里单独写了其他SSLCipherSuite规则,直接删掉,避免覆盖统一配置。

  • 校验配置并重载服务:
    先跑配置校验,防止写错配置导致服务中断:
    # Debian/Ubuntu
    apache2ctl configtest
    # RHEL/CentOS系
    httpd -t
    
    校验返回Syntax OK再重载服务:
    # Debian/Ubuntu
    systemctl reload apache2
    # RHEL/CentOS系
    systemctl reload httpd
    
验证方式

重载完成后本地用openssl测试3DES套件能不能协商成功:

openssl s_client -connect 你的服务域名:443 -cipher DES-CBC3-SHA

返回handshake failure就说明3DES套件已经被彻底禁用,重新做安全扫描就不会出对应告警。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 01:03:35