Hi Kiran I think you are right. 3.x does not have such an option in cassandra.yaml!
Thanks! Shaurya On Sat, Nov 13, 2021 at 8:42 AM Kiran mk <coolkiran2...@gmail.com> wrote: > Hi Andy, > > Internode encryption is not possible without downtime prior to Apache > Cassandra 4.0. As there is no optional option before 4.0 under > server_encryption_options, If you try to enable it, cassandra running > on version 3.x wouldn't start as the property isnt available. > optional is only available client_encryption_options for the clusters > running < 4.0 (prior 4.0). > > E.g., > Exception encountered during startup: Invalid yaml. Please remove > properties [optional] from your cassandra.yaml > > Below link clearly gives idea about the fix in 4.0 and states why it's > not possible to implement internode encryption without down time > before 4.0. > > https://issues.apache.org/jira/browse/CASSANDRA-10404 > > By Any chance, did you try to enable internode encryption in 3.x > without downtime and were successful? Can you please confirm. > Best Regards, > Kiran.M.K. > > > On Wed, Nov 10, 2021 at 12:04 PM Tolbert, Andy <x...@andrewtolbert.com> > wrote: > > > > Hi Shaurya, > > > > On Tue, Nov 9, 2021 at 11:57 PM Shaurya Gupta <shaurya.n...@gmail.com> > wrote: > >> > >> Hi, > >> > >> We want to enable node-to-node SSL on a live cluster. Could it be done > without any down time ? > > > > > > Yup, this is definitely doable for both internode and client > connections. You will have to bounce your cassandra nodes, but you should > be able to achieve this operation without any downtime. See > server_encryption_options in cassandra.yaml ( > https://cassandra.apache.org/doc/4.0/cassandra/configuration/cass_yaml_file.html#server_encryption_options > ) > > > >> > >> Would the nodes which have been restarted be able to communicate with > the nodes which have not yet come up and vice versa ? > > > > > > The idea would be to: > > > > 1. Set optional to true in server_encryption_options and bounce the > cluster safely into it. As nodes come up, they will first attempt to > connect to other nodes via ssl, and fallback on the unencrypted > storage_port. > > 2. Once you have bounced the entire cluster once, switch optional to > false and then bounce the cluster again. > > > > Before 4.0, a separate port (ssl_storage_port) was used for connecting > with internode via ssl. In 4.0, storage_port can be used for both > unencrypted and encrypted connections, and enable_legacy_ssl_storage port > can be used to maintain ssl_storage_port. Once the entire cluster is on 4.0 > you can set this option to false so storage_port is used over > ssl_storage_port. > > > > One important thing to point out is that prior to C* 4.0, Cassandra does > not hot reload keystore changes, so whenever you update the certificates in > your keystores (e.g. to avoid your certificates expiring) you would need to > bounce your cassandra instances. See: > https://cassandra.apache.org/doc/4.0/cassandra/operating/security.html#ssl-certificate-hot-reloading > for explanation on how that works. > > > > Thanks, > > Andy > > > >> > >> > >> Regards > >> -- > >> Shaurya Gupta > >> > >> > > > -- > Best Regards, > Kiran.M.K. > -- Shaurya Gupta