Qué problema resuelve este módulo
PrestaWard Authenticator protege el acceso de empleados al Back Office. Añade un segundo factor, limita intentos de contraseña y de código, registra los eventos y permite definir qué perfiles deben usar MFA en cada tienda.
No protege clientes ni Front Office. Su objetivo es impedir que una contraseña robada dé acceso administrativo y dejar evidencia cuando hay intentos sospechosos.
Empieza aquí: activar MFA sin bloquear a nadie
- Deja MFA en Solo auditoría. Todavía no impide entrar; te permite comprobar el flujo.
- Añade el buzón que recibirá las alertas y envía un correo de prueba. Abre el mensaje desde la bandeja real, no solo desde el servidor.
- Configura y prueba MFA con una cuenta administradora. Cierra sesión y confirma que puede volver a entrar con su código.
- Prueba la recuperación. Si falla, no actives Forzar: corrige el correo o el método de recuperación primero.
- Aplica Forzar primero a los perfiles críticos. Verifica el acceso y solo entonces amplía la política al resto.
1) MFA y avisos
Modo MFA
Campo: PWA_MFA_MODE
Qué controla: Define si el segundo factor queda desactivado, solo registra el estado o se exige.
Comprobación: Empieza en Solo auditoría. Pasa a Forzar únicamente tras probar una cuenta administradora y su recuperación.
Días de dispositivo de confianza
Campo: PWA_TRUSTED_DEVICE_DAYS
Qué controla: Tiempo durante el que un equipo ya validado puede evitar un nuevo reto MFA.
Comprobación: Usa el mínimo necesario; si un equipo se pierde o cambia de usuario, revoca la confianza.
Invalidación tras cambio de contraseña
Campo: PWA_PASSWORD_CHANGE_INVALIDATION
Qué controla: Indica cuándo se revocan reto y dispositivo de confianza después de cambiar credenciales.
Comprobación: Para perfiles críticos usa cualquier cambio y comprueba que el siguiente acceso pide MFA.
Política predeterminada
Campo: PWA_DEFAULT_PROFILE_POLICY
Qué controla: Regla aplicada cuando no existe una excepción explícita por perfil y tienda.
Comprobación: Comprueba un perfil sin excepción antes de activar Forzar globalmente.
Alertas por correo
Campo: PWA_EMAIL_ENABLED
Qué controla: Habilita el envío de avisos de seguridad.
Comprobación: Envía primero el correo de prueba y confirma recepción real; aceptación SMTP no equivale a entrega.
Destinatarios de alertas
Campo: PWA_EMAIL_RECIPIENTS
Qué controla: Buzones que reciben avisos; se admiten coma, punto y coma o una línea por dirección.
Comprobación: Usa un buzón operativo compartido, no una cuenta personal sin cobertura.
Aviso de acceso correcto
Campo: PWA_EMAIL_ON_SUCCESS
Qué controla: Selecciona si los accesos correctos generan correo.
Comprobación: Actívalo solo si el volumen de correo es asumible.
Aviso de acceso fallido
Campo: PWA_EMAIL_ON_FAILURE
Qué controla: Selecciona si los accesos fallidos generan correo.
Comprobación: Manténlo activo para poder detectar intentos sospechosos.
Código de recuperación por correo
Campo: PWA_EMAIL_OTP_MODE
Qué controla: Controla el uso de correo como recuperación, no como sustituto permanente de TOTP.
Comprobación: No lo habilites si no hay transporte probado y un responsable de la bandeja.
2) Políticas de perfiles de empleado
Matriz perfil × tienda
Campo: PWA_PROFILE_POLICY
Qué controla: Excepción que prevalece sobre la política predeterminada para una combinación concreta.
Comprobación: Configura solo excepciones justificadas. Al eliminarla, el perfil vuelve a la política predeterminada.
Enrolamiento del empleado
Campo: Mi autenticación
Qué controla: Cada empleado configura TOTP desde su cuenta tras validar su contraseña.
Comprobación: Prueba con un administrador real, guarda los códigos de recuperación y verifica un nuevo inicio de sesión.
3) Intentos y bloqueos
Límites de contraseña
Campo: PWA_PASSWORD_IP_LIMIT / PWA_PASSWORD_IDENTITY_LIMIT
Qué controla: Número máximo de intentos por IP y por identidad.
Comprobación: Un pico inesperado exige revisar IP, proxy y logs antes de elevar el límite.
Ventana y bloqueo de contraseña
Campo: PWA_PASSWORD_WINDOW_MINUTES / PWA_PASSWORD_LOCK_MINUTES
Qué controla: Periodo de conteo y duración del bloqueo al superar el límite.
Comprobación: Verifica con una cuenta de prueba que el bloqueo expira como se espera.
Límites de MFA
Campo: PWA_MFA_ATTEMPT_LIMIT / PWA_MFA_WINDOW_MINUTES / PWA_MFA_LOCK_MINUTES
Qué controla: Protección equivalente para códigos del segundo factor.
Comprobación: No reduzcas la ventana sin comprobar reloj del dispositivo y sincronización de TOTP.
Retención de intentos y registros
Campo: PWA_ATTEMPT_RETENTION_DAYS / PWA_ACCESS_LOG_RETENTION_DAYS
Qué controla: Días que se conservan los eventos para soporte y auditoría.
Comprobación: Alinea el valor con la política de conservación del cliente; menos retención reduce capacidad de investigación.
4) Red e IP
CIDR de proxy de confianza
Campo: PWA_TRUSTED_PROXY_CIDRS
Qué controla: Rangos desde los que se acepta una cabecera de IP reenviada.
Comprobación: Déjalo vacío salvo que el proxy o CDN esté identificado y documentado.
Cabecera IP del cliente
Campo: PWA_CLIENT_IP_HEADER
Qué controla: Cabecera usada para resolver la IP real, como X-Real-IP o CF-Connecting-IP.
Comprobación: Solo tiene efecto seguro si la petición viene de un proxy declarado de confianza.
Lista blanca de límites
Campo: PWA_IP_ALLOWLIST
Qué controla: IPs que quedan exentas de límites de contraseña.
Comprobación: No anula MFA ni debe usarse como acceso permanente.
Lista de denegación
Campo: PWA_IP_DENYLIST
Qué controla: IPs o rangos que el módulo bloquea.
Comprobación: Añade una regla solo con evidencia y elimina la regla para revertir el bloqueo.
Contraseña actual
Campo: PWA_CURRENT_PASSWORD
Qué controla: Confirma que quien genera o rota la clave de emergencia es un administrador autenticado.
Comprobación: Usa la contraseña de tu cuenta administrativa; no se guarda en el módulo.
5) Diagnóstico rápido
- No llega el correo: revisa destinatarios, SMTP, spam y que el logo y enlaces sean URLs HTTPS públicas.
- Un empleado no entra: revisa primero su política efectiva, estado de enrolamiento y bloqueo; no rebajes la seguridad sin evidencia.
- La IP parece incorrecta: verifica proxy de confianza y cabecera antes de modificar listas de IP.