Reconfigure the affected SSL/TLS server to disable support for obsolete 64-bit block ciphers. 修复方案

修复方案:禁用过时的 64 位分组密码(如 DES、3DES、RC2、IDEA 等)

64 位块密码(如 DES、3DES、RC2、IDEA)容易受到 Sweet32(CVE-2016-2183)等攻击,导致安全风险。以下是修复方法:


1. 检测当前是否使用 64 位块密码

(1)使用 OpenSSL 检查支持的加密套件

openssl ciphers -v 'ALL:COMPLEMENTOFALL' | grep -E 'DES|3DES|RC2|IDEA'

如果输出包含 DES-CBC3-SHAIDEA-CBC-SHA 等,说明服务器仍支持弱密码。

(2)使用 nmap 检测

nmap --script ssl-enum-ciphers -p 443 your-server.com

查看是否有 DES3DES 相关密码套件。

(3)使用 testssl.sh 检测

./testssl.sh --openssl-timeout 10 your-server.com:443

检查 64-bit block cipher 3DES 是否被标记为不安全。


2. 禁用 64 位块密码(DES/3DES/RC2/IDEA)

(1)Nginx 配置

nginx.conf 或站点 SSL 配置中,移除 DES3DES

ssl_protocols TLSv1.2 TLSv1.3;  # 禁用 TLS 1.0/1.1  
ssl_ciphers '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';  
ssl_prefer_server_ciphers on;

✅ 推荐密码套件(仅使用 AES-128/256-GCM 或 CHACHA20)

  • TLS_AES_256_GCM_SHA384 (TLS 1.3)
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-CHACHA20-POLY1305

(2)Apache 配置

ssl.conf 或虚拟主机配置中:

SSLProtocol TLSv1.2 TLSv1.3  
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305  
SSLHonorCipherOrder on

🚫 明确禁用 DES/3DES

SSLCipherSuite !DES:!3DES:!RC2:!IDEA

(3)Tomcat(server.xml)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           sslEnabledProtocols="TLSv1.2,TLSv1.3"
           ciphers="TLS_AES_256_GCM_SHA384,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384" />

禁用 3DES(如果旧版本需要额外配置):

<SSLHostConfig>
    <Ciphers>TLS_AES_256_GCM_SHA384,ECDHE-RSA-AES256-GCM-SHA384,!3DES</Ciphers>
</SSLHostConfig>

(4)Java(JVM 参数)

在启动时禁用弱密码:

java -Djdk.tls.disabledAlgorithms="SSLv3, TLSv1, TLSv1.1, DES, 3DES, RC4, MD5withRSA, DH keySize < 1024"

或在 java.security 文件($JAVA_HOME/conf/security/java.security)中修改:

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DES, 3DES, RC4, MD5withRSA, DH keySize < 1024

3. 验证修复是否生效

(1)OpenSSL 测试

openssl s_client -connect your-server.com:443 -tls1_2 -cipher 'DES,3DES'

预期结果no shared cipher(表示已禁用)。

(2)使用 nmap 重新检测

nmap --script ssl-enum-ciphers -p 443 your-server.com

检查是否仍存在 DES3DES

(3)使用 Qualys SSL Labs 测试

访问 https://www.ssllabs.com/ssltest/ 并输入域名,确保 3DES 被标记为 Not Supported


4. 额外加固建议

仅允许 TLS 1.2+(禁用 TLS 1.0/1.1)
使用 ECDHE 密钥交换(前向保密)
禁用 CBC 模式密码(改用 GCM 或 CHACHA20)
定期更新 OpenSSL/Nginx/Apache


📌 总结

  1. 检测:使用 opensslnmap 检查是否支持 DES/3DES
  2. 修复:在 Nginx/Apache/Tomcat/Java 中禁用 DES3DES
  3. 验证:使用 openssl s_client 或 SSL Labs 确认修复成功。

修复后,服务器将不再支持 64 位块密码,提高安全性! 🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值