Contexto
La jmxmanagement-console es 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 jmxmanagement-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.
Note | ||
---|---|---|
| ||
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
Activar seguridad para el acceso a la management-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
Code Block |
---|
<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
Code Block |
---|
<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:
Code Block |
---|
<!-- 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>
Code Block |
---|
<!-- 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
Code Block |
---|
admin=admin
|
y cambiar a
Code Block |
---|
admin=mi_nueva_clave
|
Info | ||
---|---|---|
| ||
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 Se debe editar el archivo <jboss_home>/standalone/configuration/standalone.xml agregando agregando el atributo xml security-realm="PropertiesMgmtSecurityRealm" en las siguientes líneas (se muestran las líneas ya modificadas).
Code Block |
---|
<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
Code Block |
---|
admin=admin |
...
Desactivar acceso remoto por JMX
Además de la consola de administración, JBoss provee un conector remoto JMX el cual puede ser utilizado para acceder a operaciones de configuración de la JDK o de otras aplicaciones. Se debe remover el conector editando las siguientes líneas
Code Block |
---|
<subsystem xmlns="urn:jboss:domain:jmx:1.0">
<!-- Delete the following line to disable remote access -->
<jmx-connector registry-binding="jmx-connector-registry" server-binding="jmx-connector-server" />
</subsystem> |