欢迎光临
我们一直在努力

【漏洞扫描】SSL/TLS 服务器瞬时 Difie-Hellman 公共密钥过弱

问题来源

公司买的服务器,系统是openkylin,内核版本6.6.0-15-generic,在上面部署了管理中心系统,后来发送用户现场,后来使用工具扫描漏洞,用户下图问题:
在这里插入图片描述

问题分析

该漏洞的核心原因是服务器在SSL/TLS握手过程中使用了强度不足(通常≤1024位)的Diffie-Hellman密钥交换参数。
若不配置ssl.enabled-protocols和ciphers参数,SSL/TLS协议版本和加密套件将使用服务器或Java运行环境的默认值,可能导致以下风险:

‌协议版本风险‌
默认可能启用不安全的旧版协议(如TLSv1.0/1.1),这些协议存在已知漏洞(如POODLE、BEAST等)

‌加密套件风险‌
默认可能包含弱加密算法(如3DES、RC4)或使用不安全的密钥交换方式(如DH 512/1024位),易受降级攻击或中间人攻击。

‌DH密钥过弱问题‌
若未显式禁用DHE算法或未配置强DH参数(≥2048位),服务器可能自动使用弱DH密钥(如1024位),直接触发“瞬时Diffie-Hellman公共密钥过弱”漏洞。

当前配置的影响
仅配置server.ssl.enabled等基础参数时:

‌密钥存储类型(PKCS12)和密码加密‌不影响协议安全性,但若未限制协议版本和算法,仍可能暴露漏洞

问题解决

1.Spring Boot应用配置
在application.properties或application.yml中设置:

// 协议版本‌:禁用低版本TLS(如TLSv1.0/1.1),仅启用TLSv1.2及以上:
server.ssl.enabled–protocols=TLSv1.2,TLSv1.3
// 密码套件‌:优先使用ECDHE算法并禁用弱加密套件(如3DES、RC4):
server.ssl.ciphers=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

上面配置未经过验证,下面配置是经过现场验证并确认该漏洞解决:

server.ssl.enabled–protocols=TLSv1,TLSv1.1,TLSv1.2
server.ssl.ciphers=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA

上述配置中,enabled-protocols指定了启用的TLS协议版本,避开了不安全的旧版协议;ciphers指定了使用的加密套件,选择了安全性较高的套件,避免使用弱加密算法和不安全的密钥交换方式,从而解决Diffie – Hellman公共密钥过弱的问题。 配置完成后,重新启动Spring Boot服务

2.Apache/Nginx服务器配置

Apache:
修改httpd-ssl.conf,禁用DH算法并指定强密码套件:

SSLCipherSuite ECDHE–RSA–AES256–GCM–SHA384:ECDHE–RSA–AES128–GCM–SHA256
SSLProtocol TLSv1.2 TLSv1.3

Nginx:
在nginx.conf中调整:

ssl_ciphers ECDHE–RSA–AES256–GCM–SHA384:ECDHE–RSA–AES128–GCM–SHA256;
ssl_protocols TLSv1.2 TLSv1.3;

需重启服务并验证配置

赞(0)
未经允许不得转载:171主机测评 » 【漏洞扫描】SSL/TLS 服务器瞬时 Difie-Hellman 公共密钥过弱
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址