Gestión de Usuarios en Apache Tomcat


Cómo configurar usuarios y roles en Apache Tomcat y buenas prácticas de seguridad

Gestión de Usuarios en Apache Tomcat
oscar Escrito por oscar 08 August 2026 4 0

La gestión de usuarios es una de las tareas fundamentales en la administración de Apache Tomcat. Permite controlar quién puede acceder a las aplicaciones web, quién puede administrar el servidor y qué permisos posee cada usuario dentro de la plataforma.

Apache Tomcat incorpora un sistema de autenticación basado en usuarios y roles que puede almacenarse localmente en archivos XML, integrarse con bases de datos o conectarse a servicios externos como LDAP o Active Directory.

Precodiciones

La instalación de Apache Tomcat:

Puedes ver como están los archivos en https://codigoelectronica.com/blog/carpetas-y-archivos-de-apache-tomcat

Conceptos Básicos

Antes de crear usuarios es importante conocer algunos conceptos fundamentales.

Usuario

Un usuario representa una identidad dentro del servidor. Cada usuario posee un nombre de acceso y una contraseña.

Ubicación en: /tomcat/conf/tomcat-users.xml

Ejemplos:

Usuario Función Roles recomendados
developer Desarrollador que despliega aplicaciones manager-script, manager-status
monitor Usuario de monitoreo manager-status
manager Administrador completo de Tomcat manager-gui, manager-script, manager-jmx, manager-status

Rol

Un rol es un conjunto de permisos que puede asignarse a uno o varios usuarios. En lugar de asignar permisos individuales a cada usuario, Tomcat utiliza roles para simplificar la administración.

manager-gui

El rol manager-gui permite acceder a la interfaz gráfica web del Manager.

URL: http://localhost:8080/manager/html

Funcionalidades

manager-script

El rol manager-script permite utilizar la interfaz de texto del Manager para automatización.

URL: http://localhost:8080/manager/text

Funcionalidades

manager-jmx

El rol manager-jmx proporciona acceso a los MBeans JMX expuestos por Tomcat.

URL: http://localhost:8080/manager/jmxproxy

Funcionalidades

Información disponible

manager-status

El rol manager-status permite visualizar información de estado del servidor.

URL: http://localhost:8080/manager/status

Funcionalidades: Solo lectura.

Permite consultar:

admin-gui

El rol admin-gui pertenece a la aplicación Host Manager.

URL: http://localhost:8080/host-manager/html

Funcionalidades: Administración de Virtual Hosts.

Permite:

admin-script

El rol admin-script permite administrar Virtual Hosts mediante scripts y automatización.

URL: http://localhost:8080/host-manager/text

Funcionalidades

Realm

Un Realm es el componente encargado de validar usuarios y contraseñas. Cuando un usuario intenta autenticarse, Tomcat consulta el Realm configurado para verificar las credenciales.

Algunos tipos de Realm son:

Resumen de roles

Rol Aplicación Lectura Modificación Automatización
manager-status Manager
manager-gui Manager
manager-script Manager
manager-jmx Manager Parcial
admin-gui Host Manager
admin-script Host Manager

Distribución recomendada de permisos

Tipo de usuario Roles
Monitor manager-status
Desarrollador manager-script, manager-status
Administrador de aplicaciones manager-gui, manager-script, manager-status
Administrador de infraestructura admin-gui, admin-script
Superadministrador manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script

Archivo tomcat-users.xml

La forma más sencilla de administrar usuarios en Tomcat es mediante el archivo tomcat-users.xml.

Este archivo se encuentra normalmente en:

TOMCAT_HOME/conf/tomcat-users.xml

El archivo contiene la definición de usuarios y roles utilizados por Tomcat.

Estructura Básica

<tomcat-users>

    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>

    <user
        username="admin"
        password="MiPassword123"
        roles="manager-gui,admin-gui"/>

</tomcat-users>

En este ejemplo:

Crear un Usuario Administrador

Un escenario común consiste en crear un usuario con acceso completo a Tomcat Manager y Host Manager.

<tomcat-users>

    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>

    <user
        username="administrador"
        password="PasswordSegura2026"
        roles="manager-gui,admin-gui"/>

</tomcat-users>

Después de guardar los cambios es necesario reiniciar Tomcat.

sudo systemctl restart tomcat

Acceso al Tomcat Manager

Una vez creado el usuario, se puede acceder a la aplicación Manager mediante:

http://IP_SERVIDOR:8080/manager/html

Tomcat solicitará usuario y contraseña.

Si las credenciales son válidas y el usuario posee el rol adecuado, se mostrará la consola administrativa.

Acceso al Host Manager

La consola Host Manager se encuentra normalmente en:

http://IP_SERVIDOR:8080/host-manager/html

Esta herramienta permite administrar hosts virtuales desde una interfaz web.

Usuarios con Múltiples Roles

Un usuario puede tener varios roles simultáneamente.

<user
    username="devops"
    password="ClaveSegura"
    roles="manager-gui,manager-status,manager-jmx"/>

Esto permite combinar permisos según las necesidades de cada usuario.

Buenas Prácticas de Seguridad

No Utilizar Credenciales por Defecto

Evite utilizar nombres de usuario predecibles como:

Estos nombres suelen ser objetivo de ataques automatizados.

Utilizar Contraseñas Seguras

Una contraseña segura debe contener:

Aplicar el Principio de Mínimos Privilegios

Asigne únicamente los permisos necesarios para cada usuario.

Por ejemplo, un operador que solo necesita consultar el estado del servidor debería utilizar únicamente:

roles="manager-status"

Restringir Acceso por IP

Tomcat permite limitar el acceso a las aplicaciones administrativas mediante filtros de direcciones IP.

Esto reduce significativamente la superficie de ataque.

Autenticación Mediante Base de Datos

En entornos empresariales es común almacenar usuarios en una base de datos.

Tomcat puede utilizar:

Esto permite centralizar la gestión de usuarios y facilitar auditorías.

Ejemplo de DataSourceRealm

<Realm className="org.apache.catalina.realm.DataSourceRealm"
       dataSourceName="jdbc/AppDB"
       userTable="usuarios"
       userNameCol="username"
       userCredCol="password"
       userRoleTable="roles"
       roleNameCol="rol"/>

Integración con LDAP y Active Directory

En organizaciones grandes es habitual integrar Tomcat con servidores LDAP o Active Directory.

Esto permite que los usuarios utilicen las mismas credenciales corporativas para acceder a las aplicaciones.

Las ventajas son:

Verificar la Configuración

Después de crear usuarios es recomendable comprobar:

Los registros suelen encontrarse en:

TOMCAT_HOME/logs/

Errores Comunes

Error 401 Unauthorized

Generalmente ocurre cuando:

Error 403 Forbidden

Normalmente aparece cuando:

Manager No Disponible

Puede deberse a:

Conclusión

La gestión de usuarios en Apache Tomcat se basa en una arquitectura simple y potente formada por usuarios, roles y Realms. Para entornos de laboratorio o aprendizaje, el archivo tomcat-users.xml es suficiente. Sin embargo, en entornos corporativos es recomendable utilizar bases de datos, LDAP o Active Directory para centralizar la autenticación.

Dominar la administración de usuarios es un paso fundamental para gestionar correctamente Tomcat, desplegar aplicaciones de forma segura y controlar el acceso a las herramientas administrativas del servidor.


Comentario

Debe aceptar antes de enviar