如何避免在带有 openJDK 1.8 的 WAS liberty 服务器中使用中等强度密码

如何避免在带有 openJDK 1.8 的 WAS liberty 服务器中使用中等强度密码

再会,

我有一台 IBM WAS liberty 服务器,位于 OS 下redhat linuxopenjdk版本为 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 密码套件?,我运行脚本,它逐一显示我的密码并告诉我是否有 SSL 握手失败,是否可以从这里知道该服务器是否具有中等强度的密码?

我也尝试了一些方法,其中之一就是我编辑 jvm java.security,删除它3DES_EDE_CBCjdk.tls.legacyAlgorithms然后我重新启动服务器,但该命令的结果也是相同的openssl s_client -connect 10.7.5.65:9443 -tls1_2,因此我不确定它是否解决了这个问题。

请提供帮助和建议。

答案1

许多应用服务器都有自己的配置属性来禁用弱芯片套件。但是,您可以在 JRE 级别强制执行该策略。该属性jdk.tls.disabledAlgorithmsjava.security文件可用于禁用特定算法。例如:

jdk.tls.disabledAlgorithms=SSLv3, DES, DESede, RC4, MD5withRSA, DH keySize < 768, EC keySize < 224

最后,当所需的安全配置到位后,您可以使用以下在线服务之一:https://www.ssllabs.com/ssltest/index.html或离线工具,例如https://testssl.sh/验证我们的设置。

相关内容