Auditoría de autenticación
La autenticación es el perímetro principal de la seguridad de Passwork. Esta sección verifica que todos los controles de autenticación están configurados para resistir los ataques basados en credenciales y para aplicar la política de la organización.
Vaya a Configuración → Configuración del sistema para la mayoría de los controles de esta sección.
1. Política de autenticación de dos factores
Qué verificar
1.1 Aplicación de la 2FA por rol
En Passwork, la aplicación de la 2FA se configura por rol. Vaya a Configuración → Roles y abra cada rol (Propietario, Admin y cualquier rol personalizado con privilegios elevados).
Verifique que la autenticación de dos factores obligatoria está activada para:
- El rol de propietario
- Todos los roles de nivel administrador
- Cualquier rol personalizado con acceso a la gestión de usuarios, la configuración del sistema o la administración de bóvedas

1.2 Métodos de 2FA aceptados
Revise qué métodos de 2FA se permiten para cada rol:
- TOTP (aplicación Passwork 2FA, Google Authenticator, Microsoft Authenticator): aceptable
- Claves de seguridad físicas / passkeys WebAuthn: aceptable y preferible para las cuentas de administrador
- Datos biométricos: aceptable
Para las cuentas administrativas, exija claves de seguridad físicas FIDO2/WebAuthn en lugar de TOTP. Las claves de hardware son resistentes al phishing; los códigos TOTP pueden ser interceptados por proxies de phishing en tiempo real.
2. Política de bloqueo de cuentas
Una política de bloqueo inexistente o demasiado permisiva permite intentos de fuerza bruta ilimitados.
Vaya a Configuración → Configuración del sistema → Políticas de bloqueo de la autenticación local.

Qué verificar
| Parámetro | Valor recomendado | Hallazgo si no se cumple |
|---|---|---|
| Máximo de intentos fallidos | ≤ 5 | Alto: permite el relleno de credenciales (credential stuffing) |
| Ventana de seguimiento de intentos | 5–15 minutos | Medio: una ventana demasiado corta permite el ciclado rápido |
| Duración del bloqueo | ≥ 15 minutos, o indefinida hasta el desbloqueo por el administrador | Alto: los bloqueos cortos permiten continuar la fuerza bruta |
NIST recomienda limitar los intentos de autenticación fallidos a no más de 100 en un periodo de 30 días, con una limitación (throttling) eficaz tras los primeros intentos fallidos. Un bloqueo tras 5 intentos con un tiempo de enfriamiento de 15 minutos es una implementación razonable y comúnmente aceptada.
3. Gestión de sesiones
Qué verificar
Vaya a Configuración → Configuración del sistema → Sesiones.
3.1 Tiempo de espera por inactividad de la sesión
Verifique que hay un tiempo de espera de sesión configurado. Los usuarios que se alejan de su puesto de trabajo sin cerrar la sesión deben cerrarse automáticamente tras un periodo de inactividad.
| Entorno | Tiempo de espera recomendado |
|---|---|
| Uso general de oficina | 30–60 minutos |
| Cuentas de administrador privilegiadas | 15–30 minutos |
| Puestos compartidos / kiosco | 10–15 minutos |

3.2 Retención del historial de sesiones
El historial de sesiones proporciona un rastro de auditoría de las sesiones activas y pasadas. Verifique que el periodo de retención es suficiente para respaldar la investigación de incidentes (recomendado: al menos 90 días).

3.3 Configuración de seguridad de las cookies
En config.env, verifique que la cookie de sesión está configurada con los indicadores Secure y SameSite=Strict o SameSite=Lax. Esto evita el robo de cookies a través de canales sin cifrar y la falsificación de solicitudes entre sitios (CSRF).
Los usuarios pueden revisar sus propias sesiones activas y finalizar las sospechosas desde Configuración de la cuenta → Sesiones. Como administrador, puede finalizar las sesiones de cualquier usuario desde el perfil del usuario.
4. Políticas de complejidad de contraseñas
Passwork aplica políticas de complejidad separadas para la contraseña de inicio de sesión local y la contraseña maestra (utilizada para el cifrado del lado del cliente).
Política de la contraseña local
Vaya a Configuración → Configuración del sistema → Políticas de complejidad de la contraseña local.

| Parámetro | Recomendación |
|---|---|
| Longitud mínima | 12 caracteres |
| Clases de caracteres obligatorias | Mayúsculas + minúsculas + dígito + carácter especial |
| Historial de contraseñas | Últimas 5 contraseñas |
| Prohibir contraseñas comunes | Activado (si está disponible) |
Política de la contraseña maestra (implementaciones con CSE)
Si el cifrado del lado del cliente está activado, vaya a Configuración → Configuración del sistema → Políticas de complejidad de la contraseña maestra.

| Parámetro | Mínimo recomendado |
|---|---|
| Longitud mínima | 14 caracteres |
| Clases de caracteres obligatorias | Las cuatro (mayúsculas, minúsculas, dígito, símbolo) |
No existe ninguna vía de recuperación del lado del servidor para una contraseña maestra olvidada. Los usuarios que pierden su contraseña maestra pierden el acceso al contenido de su bóveda privada. Aplique requisitos de complejidad que sean fuertes pero memorizables, o forme a los usuarios para que almacenen las contraseñas maestras en una ubicación segura sin conexión (no de forma digital).
5. Seguridad de LDAP
Si la integración con LDAP está configurada, verifique lo siguiente.
5.1 LDAPS (LDAP cifrado con TLS)
Passwork debe conectarse al servicio de directorio a través de LDAPS (puerto 636 con TLS), no LDAP sin cifrar (puerto 389). El LDAP sin cifrar transmite las credenciales en texto claro y es susceptible a los ataques de intermediario (man-in-the-middle).
Verifique en Configuración → Configuración LDAP → Configuración del servidor:
- La URL del servidor empieza por
ldaps:// - El puerto es 636 (o el puerto personalizado correcto para su servicio LDAPS)

Para obtener instrucciones sobre la instalación del certificado LDAPS, consulte Configuración de LDAPS.
5.2 Permisos de la cuenta de servicio LDAP
La cuenta de servicio LDAP que utiliza Passwork debe tener acceso de solo lectura al directorio. No debe tener permisos para modificar usuarios, grupos u otros objetos del directorio.
Verifique con el administrador del directorio:
- La cuenta de servicio tiene únicamente permisos de lectura
- La cuenta de servicio está en una unidad organizativa (OU) de cuentas de servicio dedicada, no en un grupo privilegiado
- La contraseña de la cuenta de servicio se almacena únicamente en el config.env de Passwork y no se reutiliza para otros servicios
5.3 Almacenamiento de las credenciales LDAP
La contraseña de bind de LDAP se almacena en la base de datos de Passwork, cifrada con el cifrado del lado del servidor (AES-256-CFB). Verifique:
- El archivo
config.env(que contiene la clave de cifrado del servidor) tiene permisos de archivo restrictivos:chmod 600 - El archivo es propiedad del usuario del servidor web y no es legible por todos (world-readable)
# Linux
ls -la /var/www/init/config.env
# Expected: -rw------- 1 www-data www-data
6. Seguridad de SSO
Si SSO está configurado, verifique lo siguiente.
6.1 Alcance de la confianza del IdP
En la configuración de SSO, verifique:
- La URL del Assertion Consumer Service (ACS) está establecida en la URL exacta de Passwork, no en un comodín
- El identificador de audiencia/entidad coincide con el identificador de la aplicación de Passwork
- El certificado de firma del IdP es válido y procede del emisor esperado
6.2 SSO como método de inicio de sesión aplicado
Si el SSO es el método de autenticación autoritativo de la organización:
- Active Priorizar el inicio de sesión con SSO en la configuración de SSO de Passwork
- Considere desactivar la autenticación con contraseña local para los usuarios de SSO a través de la configuración de Autenticación del usuario
- Asegúrese de que la autenticación con contraseña local siga disponible para el acceso de emergencia (cuenta de servicio, cuenta de propietario)

6.3 Alineación del tiempo de vida del token de sesión
Passwork emite sus propios tokens de sesión tras la autenticación con SSO. Verifique que el tiempo de espera de la sesión de Passwork (sección 3.1) está alineado con el tiempo de vida de la sesión del IdP, o es más corto. Una sesión larga de Passwork puede sobrevivir a la sesión de SSO, dejando una ventana en la que un usuario del IdP revocado conserva el acceso a Passwork.
7. Cuentas inactivas y huérfanas
Las cuentas huérfanas —cuentas de usuarios que han abandonado la organización o cambiado de rol— son un riesgo persistente para el control de acceso.
Qué verificar
- Busque cuentas con roles administrativos asignados a usuarios que ya no los necesitan
- Verifique que la sincronización LDAP ha desactivado o eliminado correctamente las cuentas de los exempleados
Cuando la sincronización LDAP está activa, las cuentas de usuario se gestionan automáticamente en función de la pertenencia a grupos de AD. Eliminar a un usuario del grupo de AD correspondiente revoca su acceso a Passwork en el siguiente ciclo de sincronización. Verifique que la programación de la sincronización es lo suficientemente frecuente como para cumplir su SLA de revocación de accesos.
Lista de comprobación resumida
| # | Control | Estado |
|---|---|---|
| 1.1 | 2FA obligatoria para el propietario y todos los roles de administrador | |
| 1.2 | Ninguna cuenta de administrador con la 2FA desactivada | |
| 2 | Bloqueo de cuenta tras ≤ 5 intentos fallidos con ≥ 15 min de enfriamiento | |
| 3.1 | Tiempo de espera de sesión ≤ 60 min (≤ 30 min para administradores) | |
| 3.2 | Retención del historial de sesiones ≥ 90 días | |
| 4.1 | Contraseña local: ≥ 12 caracteres, todas las clases de caracteres | |
| 4.2 | Contraseña maestra: ≥ 14 caracteres (si el CSE está activado) | |
| 5.1 | LDAP utiliza LDAPS (puerto 636, TLS) | |
| 5.2 | La cuenta de servicio LDAP es de solo lectura | |
| 5.3 | Permisos del archivo config.env: 600, propiedad del usuario del servidor web | |
| 6.1 | La URL ACS de SSO es exacta (sin comodín) | |
| 6.2 | Contraseña local desactivada para los usuarios de SSO (si procede) | |
| 6.3 | Tiempo de vida de la sesión de Passwork ≤ tiempo de vida de la sesión del IdP | |
| 7 | No hay cuentas huérfanas/inactivas con acceso activo a bóvedas |