Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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
titleRecomendació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 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

...

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

...

Se debe editar el archivo <jboss_home>/standalone/configuration/standalone.xml 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>