Desativando Agentes Java

1

Atualmente executando um servidor que fornece algumas das ferramentas Atlas (Crucible, fisheye, jira), por razões de segurança, desabilito a execução de qualquer agente Java no servidor.

Meu ponto não é desabilitar os agentes que podem ser iniciados com o aplicativo por meio do parâmetro -javaagent CLI, mas agentes que podem ser dinamicamente conectados à instância em execução (consulte, por exemplo, byteman). Ou seja, fazer os aplicativos Java não "anexáveis".

Outra restrição é que é difícil modificar a linha de comando dessas ferramentas devido à complexidade da configuração. Assim, a mudança teria que ser global, para o servidor completo, para todos os aplicativos Java.

Existe alguma maneira de desativar globalmente esse "recurso"? Através da configuração Java, ou o que seja?

    
por Heis Spiter 08.02.2013 / 12:00

1 resposta

1

Citando esta postagem no fórum , isso depende na JVM em questão:

IBM JVM:

java -Dcom.ibm.tools.attach.enable=false [...]

SUN / Oracle JVM / OpenJDK:

java -XX:+DisableAttachMechanism [...]

Mais informações sobre os parâmetros Java VM podem ser encontradas aqui

Isso sugere que uma variável de ambiente JAVA_TOOL_OPTIONS pode ser usado para forçar essas opções em todo o sistema. Isso pode não funcionar com todas as JVMs.

    
por 10.02.2013 / 00:42