Pour facilité de le travail pour la sécurisation des accès JMX, je propose un script shell qui automatise les tâches :
-
Activation du scurity-constraint dans JMX-Console
-
Activation de l’intercepteur d’authentification dans JMX-Invoker
-
Suppression des mots de passe par défaut
# JMX console
sed -i "s/<security-constraint>/--><security-constraint>/g" \
$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/web.xml
sed -i "s/<\/security-constraint>/<\/security-constraint><\!--/g" \
$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/web.xml
sed -i "s/<security-domain>/--><security-domain>/g" \
$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
sed -i "s/<\/security-domain>/<\/security-domain><\!--/g" \
$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
# JMX invoker
sed -i "s/<descriptors>/--><descriptors>/" \
$JBOSS_HOME/server/default/deploy/jmx-invoker-service.xml
sed -i "s/<\/descriptors>/<\/descriptors><\!--/" \
$JBOSS_HOME/server/default/deploy/jmx-invoker-service.xml
# Modification du mot de passe
password=newpwd
sed -i "s/=admin/$password/" \
$JBOSS_HOME/server/default/conf/props/jmx-console-users.properties
Ce script a été testé sur JBoss AS 4.x et 5.x. Il est inutile sur JBoss EAP puisque celui-ci est sécurisé par défaut.