1

Good day,

I have a IBM WAS liberty server, which is place under OS redhat linux, with openjdk version 1.8.0_242.

I receive a pentest report that complain about this server is using medium strength ciphers. And the pentest report also recommend me to use TLS 1.2 with AES-GCM suites or higher instead.

Currently my server only enable TLSv1.2.

First thing I would like to ask is how can I disable/remove the medium strength ciphers in my server?

Second thing is, I would like to know how can I check whether this server is using medium strength ciphers. So that I can know anything I changes have disable/remove the medium strength ciphers or not.

I have try openssl command as follow:

openssl s_client -connect 10.7.5.65:9443 -tls1_2

The result I get is as follow:

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

I saw the DHE-RSA-AES128-GCM-SHA256 in the result, but is this to show that my server is using medium strength cipher?

Another way is the way I refer to this post How do I list the SSL/TLS cipher suites a particular website offers? , I run the script, its showing my cipher 1 by 1 and tell me whether it have ssl handshake failure or not, possible to know whether this server having medium strength cipher from here?

I have try something also, 1 of it is I edit the jvm java.security, to remove the 3DES_EDE_CBC in jdk.tls.legacyAlgorithms, I restart server, but also same result for the openssl s_client -connect 10.7.5.65:9443 -tls1_2 command, thus I am not sure whether it fix the thing or not.

Kindly help and advise.

  • you can explicitly disable algorithms in java.security file like: *jdk.tls.disabledAlgorithms=SSLv3, DES, DESede, RC4, MD5withRSA, DH keySize < 768, EC keySize < 224* – kofemann Apr 23 '20 at 16:06
  • Hi @kofemann, I will do that now. May I know how can I verify that my server's cipher is no more medium strength? Because I would like to check the result before and after my changes on the java.security file. – Panadol Chong Apr 23 '20 at 16:19
  • There are plenty of online and offline tools that can help you, for example /bin/bash based SSL/TLS tester: testssl.sh https://testssl.sh/ – kofemann Apr 23 '20 at 18:26
  • @kofemann, your comment solve my issue. Before this I am just disable in `jdk.tls.legacyAlgorithms`, found that its not take effect, after I apply changes in `jdk.tls.disabledAlgorithms`, and its work. You can write it as answer, and I will mark it as correct answer. thanks. – Panadol Chong Apr 24 '20 at 06:27

1 Answers1

1

Many application servers have they own configuration properties to disable weak chipher suites. However, you can enforce the policy on JRE level. The property jdk.tls.disabledAlgorithms in java.security file can be used to disable specific algorithms. For example:

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

Finally, when desired security configuration is in place, you can use one of the online services, like https://www.ssllabs.com/ssltest/index.html, or offline tools, like https://testssl.sh/ to validate our setup.

kofemann
  • 4,626
  • 1
  • 25
  • 30