再会,
我有一个 IBM WAS 自由服务器,它位于 OS 下redhat linux
,openjdk
版本为 1.8.0_242。
我收到一份pentest
报告,抱怨此服务器正在使用中等强度的密码。该pentest
报告还建议我改用套件或更高版本TLS 1.2
。AES-GCM
目前我的服务器只启用 TLSv1.2。
我想问的第一件事是如何禁用/删除服务器中的中等强度密码?
第二件事是,我想知道如何检查该服务器是否使用中等强度的密码。这样我就可以知道我所做的任何更改是否已禁用/删除中等强度密码。
我有openssl
如下尝试命令:
openssl s_client -connect 10.7.5.65:9443 -tls1_2
我得到的结果如下:
Peer signing digest: SHA512
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 1710 bytes and written 479 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : DHE-RSA-AES128-GCM-SHA256
我DHE-RSA-AES128-GCM-SHA256
在结果中看到了 ,但这是否表明我的服务器正在使用中等强度密码?
另一种方式是我参考这篇文章的方式如何列出特定网站提供的 SSL/TLS 密码套件?,我运行脚本,它显示我的密码 1 并告诉我它是否有 ssl 握手失败,有可能从这里知道这个服务器是否有中等强度的密码?
我也尝试了一些东西,其中之一是我编辑 jvm java.security,删除3DES_EDE_CBC
in jdk.tls.legacyAlgorithms
,我重新启动服务器,但openssl s_client -connect 10.7.5.65:9443 -tls1_2
命令的结果也相同,因此我不确定它是否修复了这个问题。
请提供帮助和建议。
许多应用服务器都有自己的配置属性来禁用弱芯片套件。但是,您可以在 JRE 级别强制执行该策略。java.security文件中的属性jdk.tls.disabledAlgorithms可用于禁用特定算法。例如:
最后,当所需的安全配置到位时,您可以使用其中一种在线服务,如https://www.ssllabs.com/ssltest/index.html或离线工具,如https://testssl.sh/验证我们的设置。