Question

Can a multi-node Cassandra cluster be secured in the DO cloud?

I’m configuring the internode connection for Cassandra 3.5, though the same question applies to older versions, also.

In cassandra.yaml, there’s this:

# SSL port, for encrypted communication.  Unused unless enabled in
# encryption_options
# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
ssl_storage_port: 7001

...

server_encryption_options:
    internode_encryption: all


Now, binding to a non-routable NIC will ensure that it’s not exposed outside DO, but it will be exposed to other DO VMs. Is there a way within DO to make this more secure? I don’t see anything about private networking support from DO.

I’ve read Introducing Private Networking, but that doesn’t block others’ droplets from seeing my traffic, so it’s not what I would consider private networking.

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

The most straightforward method would be to setup an IPtables firewall that only allows connections from the other Cassandra nodes. Using UFW, it is pretty straight forward to set up manually. If you set it up to deny incoming connections by default, you can whitelist a specific IP address on a specific port using:

sudo ufw allow from 111.111.111.111 to any port 7001

There’s also a nifty utility that can be used to to automate this a bit if you expect new nodes to join and leave the cluster: