You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefan Miklosovic (Jira)" <ji...@apache.org> on 2024/10/29 14:04:00 UTC

[jira] [Updated] (CASSANDRA-18508) Sensitive JMX SSL configuration options can be easily exposed

     [ https://issues.apache.org/jira/browse/CASSANDRA-18508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Miklosovic updated CASSANDRA-18508:
------------------------------------------
    Status: Changes Suggested  (was: Review In Progress)

> Sensitive JMX SSL configuration options can be easily exposed
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-18508
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18508
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/Encryption, Local/Config
>            Reporter: Anthony Grasso
>            Assignee: Maulin Vasavada
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> We need a way to specify sensitive JMX SSL configuration options to avoid them being easily exposed.
> When encrypting the JMX connection the passwords for the key and trust stores must be specified using the {{javax.net.ssl.keyStorePassword}} and {{javax.net.ssl.trustStorePassword}} options respectively in the _cassandra-env.sh_ file. After Cassandra is started it is possible to see the passwords by looking the running process ({{ps aux | grep "cassandra"}}).
> Java 8 has the ability to specify a configuration file that can contain these security sensitive settings using the {{com.sun.management.config.file}} argument. However, despite what the documentation ([https://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html#gdevf]) says, both the {{com.sun.management.jmxremote}} and {{com.sun.management.jmxremote.port}} arguments need to be defined in the _cassandra-env.sh_ for the JVM to read the contents of the file.
> The problem with defining the {{com.sun.management.jmxremote.port}} argument is it conflicts with the {{cassandra.jmx.remote.port}} argument. Even if the port numbers are different, attempting an encrypted JMX connection using {{nodetool}} fails and we see a {{ConnectException: 'Connection refused (Connection refused)'}} error.
> One possible way to fix this is to introduce a new option that would allow a file to be passed containing the JMX encryption options.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org