Acessando o JMX do ActiveMQ via SSL

3

Estou tentando obter acesso ao JMX com SSL ativado para o ActiveMQ (5.8.0 ou 5.9.0 em execução no java 1.6.0), mas não estou tendo sorte. Já lidei com o acesso ao JMX com SSL ativado, por isso estou bastante familiarizado com a configuração de keystores, truststores, etc. Nossos servidores estão todos localizados na AWS, então temos que lidar com buracos através de firewalls também. Consigo obter o JMX não criptografado funcionando em nosso servidor do ActiveMQ, especificando o seguinte no arquivo activemq.xml:

<managementContext>
    <managementContext connectorPort="1099" rmiServerPort="1098" connectorHost="<local IP of AWS instance>" />
</managementContext>

E também especificando os seguintes parâmetros Java ao inicializar o ActiveMQ:

 -Dcom.sun.management.jmxremote 
 -Dcom.sun.management.jmxremote.password.file=/path/to/jmx.passwd 
 -Dcom.sun.management.jmxremote.access.file=/path/to/jmx.access 
 -Djava.rmi.server.hostname=<public IP of AWS instance>

O managementContext aparentemente não tem parâmetros para suportar SSL, então estou tentando incluir também o seguinte em minha linha de comando Java (que funciona bem com nossos outros aplicativos Java para acessar o JMX sobre SSL):

-Dcom.sun.management.jmxremote.ssl=true 
-Djavax.net.ssl.keyStore=/path/to/keystore 
-Djavax.net.ssl.trustStore=/path/to/truststore 
-Djavax.net.ssl.keyStorePassword=<password> 
-Djavax.net.ssl.trustStorePassword=<password> 
-Dcom.sun.management.jmxremote.ssl.need.client.auth=false

Parece que o ActiveMQ está simplesmente ignorando essas configurações. Se eu usar o comando 'openssl s_client -connect:' para consultar a porta do servidor RMI de um processo Java no qual o JMX / SSL está funcionando, ele exibirá todos os detalhes sobre o certificado sendo usado. No entanto, se eu executar o comando na porta do servidor do ActiveMQ RMI, recebo uma mensagem indicando que nenhum certificado de peer está disponível.

É possível criptografar SSL no acesso do JMX ao ActiveMQ, ou estou sem sorte, já que parece que o seu managementContext não o suporta?

    
por Bruce P 22.11.2013 / 22:33

0 respostas