Skip to main content
Support

KB Article #179617

force TLSv1.2 protocol in cassandra configuration

Problem

- How to make cassandra accepting only TLSv1.2 for the node to node and client to node connections?

Resolution

-- There are 2 solutions for this:


- First would be by configuring the cipher_suites parameter of the

server_encryption_options (for inter node communication) and

client_encryption_options (for communication from client to cassandra)

to use some cipher suites that are only available in TLS 1.2:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, ...


You can have a look at the openssl ciphers manpage to have a list of these cipher suites: https://www.openssl.org/docs/man1.0.2/apps/ciphers.html



- Second would be to disable TLSv1.0 and TLSv1.1 at the JRE level.

In the jre folder configured to be use by cassandra, edit the file

jre/lib/security/java.security and add the TLSv1 and TLSv1.1 protocols

to the jdk.tls.disabledAlgorithms,as example:


jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, TLSv1, TLSv1.1


Restart cassandra to apply the change.


(mind this will affect all Java programs using this JRE installation).