如何避免在帶有 openJDK 1.8 的 WAS 自由伺服器中使用中等強度的密碼
再會,
我有一個 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
injdk.tls.legacyAlgorithms
,我重新啟動伺服器,但openssl s_client -connect 10.7.5.65:9443 -tls1_2
命令的結果也相同,因此我不確定它是否修復了這個問題。請提供幫助和建議。
許多應用伺服器都有自己的配置屬性來禁用弱晶片套件。但是,您可以在 JRE 級別強制執行該策略。java.security文件中的屬性jdk.tls.disabledAlgorithms可用於禁用特定算法。例如:
jdk.tls.disabledAlgorithms=SSLv3, DES, DESede, RC4, MD5withRSA, DH keySize < 768, EC keySize < 224
最後,當所需的安全配置到位時,您可以使用其中一種線上服務,如https://www.ssllabs.com/ssltest/index.html>或離線工具,如<https://testssl.sh/驗證我們的設置。