Sécurité JMX sous JBoss (script)


Pour facilité de le travail pour la sécurisation des accès JMX, je propose un script shell qui automatise les tâches :

# 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.