Habilitar la consola web de administración en JBoss AS 7 y EAP 6

By | March 19, 2015

Las nuevas versiones del servidor de aplicaciones Jboss tienen ciertas funcionalidades “capadas” de fábrica por cuestiones de seguridad. Antes de acceder a esas funcionalidades el administrador debe implementar diversas medidas con el fin de securizar el servidor de aplicaciones. Al fin y al cabo, por cada puerta que se abre, se añaden una cantidad o igual o mayor de vulnerabilidades que hay que minimizar tanto como podamos. Así, la interfaz web de administración, que es crítica, no puede utilizarse sin cumplir ciertos requisitos previos. Uno de ellos es crear un usuario con credenciales, capaz de administrar esa interfaz web. De la misma manera, para crear clústers en alta disponibilidad, es necesario implementar medidas de seguridad adicionales en cada nodo.

Usuario administrativo de Jboss

Lo primero que tendremos que hacer es crear un usuario (no confundir: NO es un usuario del sistema) con permisos de administración. Para crear un usuario administrador tenemos a nuestra disposición un script en el directorio /bin de nuestro servidor Jboss llamado add-user:

Script para añadir usuarios a Jboss

Script para añadir usuarios a Jboss

En mi caso estoy trabajando en una plataforma Linux, aunque también tenéis add-user.bat para los que administréis desde Windows. Ejecuto el script:

add-user.sh

En cuanto a las preguntas subsiguientes, contestaremos:

  1. En la pregunta del tipo de usuario, seleccionaremos "a" (Management User).
  2. Cuando pregunte por ManagementRealm presionamos Enter, dejaremos el que viene por defecto.
  3. Introduciremos el usuario y la contraseña que consideremos oportunos. Estas credenciales serán únicamente para Jboss, como dije anteriormente no es un usuario de sistema.
  4. Finalmente, confirmamos y el script se encargará de realizar las tareas pertinentes.
Añadiendo al usuario administrativo

Añadiendo al usuario administrativo

Configurar el mapeo de interfaz

Además tendremos que modificar ciertos parámetros de las interfaces del servidor Jboss. Por defecto, la interfaz administrativa sólo escucha en la IP local 127.0.0.1 por lo que si intentamos acceder a la consola web desde una máquina remota, no será alcanzable.

Si nuestro Jboss se va a ejecutar en modo de dominio, el fichero que tendremos que modificar será:

$JBOSS_HOME/domain/configuration/host.xml

Por el contrario, si vamos a ejecutarlo en modo standalone, tendremos que modificar el profile que vayamos a utilizar durante la ejecución del servidor de aplicaciones. Ese profile puede ser:

$JBOSS_HOME/standalone/configuration/standalone.xml
$JBOSS_HOME/standalone/configuration/standalone-ha.xml
$JBOSS_HOME/standalone/configuration/standalone-full-ha.xml
$JBOSS_HOME/standalone/configuration/standalone-full.xml

Una vez abierto el fichero, por ejemplo con vi, tendréis que buscar la entrada siguiente:

jboss.bind.address.management
Interfaces de Jboss

Interfaces de Jboss

Como véis, mi interfaz administrativa apunta a 127.0.0.1. La IP del servidor de Jboss es 192.168.2.101. Por lo tanto, cambiaremos:

jboss.bind.address.management:127.0.0.1

Por esto:

jboss.bind.address.management:192.168.2.101

Reiniciamos el servidor de aplicaciones. Una vez iniciado, desde nuestro ordenador intentamos acceder a la interfaz web. En el navegador ponemos:

http://192.168.2.101:9990/console

Introduciremos las credenciales del usuario que creamos anteriormente con add-user.sh y tendremos acceso a la interfaz web de nuestro servidor Jboss:

Consola web de administración de Jboss AS 7/EAP 6

Consola web de administración de Jboss AS 7/EAP 6