Contexto
La jmx-console es una herramienta que nos permite controlar el funcionamiento del JBoss. Por medio de esta podemos saber propiedades, cambiar valores, monitorear uso de memoria y hasta bajar el JBoss.
Si el servidor donde se encuentra la instalación de O3 está expuesto a Internet, se debe restringir el acceso a la jmx-console, ya sea desactivando la consola o activando la seguridad en la misma.
En las secciones siguientes se detallan los procedimientos para "desactivar" la jmx-console o para "activar la seguridad" en la misma. Cualquiera de las 2 opciones puede ser usada para restringir el acceso a la misma, pero en caso que Ud. desee tener habilitada la funcionalidad de monitoreo de memoria provisto por la consola, es recomendable aplicar la segunda opción, activando la seguridad.
Recomendación adicional sobre web-console
Otra herramienta que integra la distribución por defecto de JBoss es la web-console. La misma no cumple ninguna función en Ideasoft O3, por lo que puede ser eliminada. Por tanto se recomienda quitar la web-console, eliminando el directorio <InstalaciónO3>/jboss/server/default/deploy/management.
Desactivar la jmx-console
La jmx-console puede ser desactivada moviendo jmx-console.war desde <InstalaciónO3>/jboss/server/default/deploy hacia otro directorio. Es importante reservar ese war de forma de volver a activar en un futuro la jmx-console, al colocarla nuevamente en el mencionado directorio.
Activar seguridad para el acceso a la jmx-console
Para activar la seguridad en el acceso se deben editar los siguientes archivos.
1 - <o3>/jboss/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
<jboss-web> <!-- Uncomment the security-domain to enable security. You will need to edit the htmladaptor login configuration to setup the login modules used to authentication users. <security-domain>java:/jaas/jmx-console</security-domain> --> </jboss-web>
y descomentar la línea " <security-domain .......... > " para activar el control de acceso
<jboss-web> <!-- Uncomment the security-domain to enable security. You will need to edit the htmladaptor login configuration to setup the login modules used to authentication users. --> <security-domain>java:/jaas/jmx-console</security-domain> </jboss-web>
2 - <o3>/jboss/server/default/deploy/jmx-console.war/WEB-INF/web.xml
buscar lo siguiente:
<!-- A security constraint that restricts access to the HTML JMX console to users with the role JBossAdmin. Edit the roles to what you want and uncomment the WEB-INF/jboss-web.xml/security-domain element to enable secured access to the HTML JMX console. <security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint> -->
descomentar a partir de la línea "<security-constraint>" para activar el control de acceso, y eliminar las líneas <http-method>GET</http-method> y <http-method>POST</http-method>
<!-- A security constraint that restricts access to the HTML JMX console to users with the role JBossAdmin. Edit the roles to what you want and uncomment the WEB-INF/jboss-web.xml/security-domain element to enable secured access to the HTML JMX console. --> <security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint>
3 - por último cambiar el password del usuario admin de la consola
editar el archivo <o3>/jboss/server/default/conf/props/jmx-console-users.properties
admin=admin
y cambiar a
admin=mi_nueva_clave
Sobre estos cambios al Servidor
La aplicación de los ajustes recomendados en esta página al Servidor de O3 no afectan los Servicios de Asistencia y Respaldo que una instalación concreta pudiera contar (según corresponda al modo de licenciamiento, plazo, servicios de asistencia, etc.), ya que se consideran cambios de configuración soportados.
Hacemos esta aclaración en respuesta a consultas de nuestros clientes.
JBoss 7
Por defecto la consola de administración de JBoss 7 no tiene seguridad. Para habilitarla, se debe editar el archivo <jboss_home>/standalone/configuration/standalone.xml agregando security-realm="PropertiesMgmtSecurityRealm" en las siguientes líneas (se muestran las líneas ya modificadas)
<management-interfaces> <native-interface interface="management" port="9999" security-realm="PropertiesMgmtSecurityRealm"/> <http-interface interface="management" port="9990" security-realm="PropertiesMgmtSecurityRealm"/> </management-interfaces>
Se debe modificar el usuario y password por defecto, esta configuración se encuentra en el archivo <jboss_home>/standalone/configuration/mgmt-users.properties
admin=admin