Cómo proteger el back office de PrestaShop con la 2FA
Guía para comerciantes: activar la 2FA del back office PrestaShop, elegir perfiles obligatorios, gestionar dispositivos de confianza y recuperar una cuenta bloqueada.
Una contraseña compartida, un enlace de phishing, un antiguo proveedor que conserva su acceso: una sola fuga abre los pedidos, los precios, los archivos de clientes y la creación de cuentas de administrador. La autenticación en dos pasos añade un código temporal tras la contraseña. Esta guía explica cómo activarla con Google Authenticator, qué perfiles hacer obligatorios, cómo evitar un código en cada conexión y cómo recuperar una cuenta cuando desaparece un teléfono.
¿La 2FA es nativa en PrestaShop y para quién es este módulo?
En las versiones compatibles, el back office solo pide la contraseña; este módulo añade el paso del código TOTP. Funciona en PrestaShop 1.7.8, 8.0+ y 9.0+ con un solo archivo y requiere PHP 7.4 como mínimo.
Está pensado para tiendas donde varias personas abren la administración: empleados, socios, una agencia, un autónomo que trabaja en el tema o en los módulos. También ayuda a una tienda llevada por una sola persona que trabaja desde un portátil o una red compartida, donde una contraseña robada basta para tomar el control.
Puedes aplazarlo si tu back office solo es accesible por VPN y eres el único usuario. El módulo no sustituye ese aislamiento: añade una barrera cuando cae la contraseña.
Lo que el módulo no hace
No limita los intentos de contraseña: el bloqueo cubre los códigos erróneos de la segunda etapa. En PrestaShop 1.7, tres scripts autónomos antiguos (backup.php, pdf.php y get-file-admin.php) escapan al control; la página de configuración los señala e invita a eliminarlos. El módulo no envía SMS ni correos, no bloquea la tienda y no sustituye a un cortafuegos de aplicación. Solo protege el back office. Para el resto, Security Audit Pro audita la seguridad de la tienda, y Magic Login sustituye la contraseña del cliente por un código de 6 dígitos o un enlace.
¿Cómo se activa la 2FA con Google Authenticator, paso a paso?
Abre Mi autenticación en dos pasos en el menú de tu perfil, haz clic en Configurar, escanea el código QR, introduce el código que muestra la aplicación y guarda tus códigos de recuperación.
- Instala una aplicación de autenticación en tu teléfono.
- Escanea este código QR con la aplicación. En el propio teléfono, Abrir en la aplicación de este teléfono evita el escaneo; si no, escribe la clave que aparece bajo el código QR.
- Introduce el código de 6 dígitos que muestra la aplicación y haz clic en Activar la autenticación en dos pasos.
- Copia, descarga o imprime tus 10 códigos de recuperación y haz clic en He guardado mis códigos de recuperación; después haz clic en Continuar. No se volverán a mostrar.
El módulo sigue TOTP (RFC 6238): un código de 6 dígitos renovado cada 30 segundos y generado sin conexión. Sirven Google Authenticator, Microsoft Authenticator, Authy, 1Password y Bitwarden, como cualquier aplicación TOTP. Un código se acepta una sola vez.
Los ajustes están en Módulos > Gestor de módulos > Configurar. El mismo bloque contiene los botones «Abrir el panel» y «Mi autenticación en dos pasos». Un superadministrador activa su propia 2FA antes de restablecer a un compañero: el módulo la usa para confirmar quién actúa. La documentación detalla cada ajuste.

¿Cómo hacer obligatoria la 2FA para algunos perfiles sin bloquear al equipo?
Elige los perfiles en Obligatoria para estos perfiles y define un Periodo de gracia: cada empleado dispone de esos días para instalar su aplicación antes de que se abra sola la página de configuración de la 2FA.
El periodo va de 0 a 365 días (7 por defecto) y cuenta desde el día en que el perfil pasa a ser obligatorio. Durante ese tiempo, un aviso muestra los días restantes y enlaza a Configurar ahora; la página de configuración mantiene el enlace Ahora no. Al terminar, el empleado no puede abrir el back office hasta completar la configuración. El valor 0 abre la configuración en la página siguiente.
Empieza por los perfiles que tocan pagos, módulos, exportaciones o creación de cuentas, a menudo SuperAdmin. Los demás empleados pueden activar la 2FA desde su menú sin estar obligados. El panel, reservado a los superadministradores, cuenta los empleados, los protegidos, las configuraciones obligatorias pendientes y las cuentas bloqueadas; la lista muestra «Protegido», «Obligatoria antes del …», «Obligatoria, configurar ahora» o «Desactivada».
Con la protección activa, Restablecer y Desbloquear piden tu propio código en un panel de confirmación, y cada acción queda en el registro. Así equipas a diez personas sin perseguir a cada una: el panel muestra quién falta.
¿Cómo evitar un código en cada conexión con los dispositivos de confianza?
Marca Recordar este dispositivo: ese navegador no vuelve a pedir código durante 30 días por defecto, y una sesión no recordada sigue verificada durante 12 horas.
La opción «Recordar un dispositivo durante» admite de 0 a 365 días. Cada empleado ve sus dispositivos en Mi autenticación en dos pasos (navegador, sistema, último uso, válido hasta) y puede quitar los que ya no usa. El límite es de 20 dispositivos por empleado; Quitar todos los dispositivos vacía la lista.
En un navegador no recordado, la opción «Volver a pedir el código después de» fija la duración de la sesión verificada: de 1 a 168 horas (12 por defecto). La desconexión la anula. La cookie del dispositivo de confianza es HttpOnly y SameSite=Lax, y sigue siendo independiente de la dirección IP salvo que actives Vincular un dispositivo de confianza a su dirección IP.
En un puesto compartido, pon la duración de los dispositivos de confianza a 0: la casilla desaparece y la verificación vuelve tras la sesión. En un puesto fijo, el valor por defecto evita un código diario. La opción Marcar «recordar este dispositivo» por defecto preselecciona la casilla en la página del código.
¿Qué hacer cuando un empleado pierde su teléfono?
Entra con uno de sus 10 códigos de recuperación y luego cambia de teléfono; sin código, un superadministrador pulsa Restablecer en el panel y confirma con su propio código.
Los códigos de recuperación son de un solo uso y se guardan como hash. En la página del código, el enlace Usar un código de recuperación abre el campo correspondiente. Desde Mi autenticación en dos pasos, Cambiar de teléfono reinicia la configuración y pide, para validar, un código de la aplicación actual o un código de recuperación; Crear nuevos códigos de recuperación anula los anteriores y aparece un aviso cuando quedan pocos.
Un sábado por la noche, un empleado rompe su teléfono antes de un envío: entra con un código de recuperación, inicia Cambiar de teléfono y escanea el código QR en el nuevo. Si agotó sus códigos, el superadministrador pulsa Restablecer y confirma con su código; el empleado deberá configurarla de nuevo si su perfil es obligatorio.
Quedan dos vías cuando el back office es inaccesible. El comando php bin/console wepresta:2fa:disable --employee=ID_O_EMAIL elimina la 2FA de un empleado, --all la suspende para toda la tienda y --dry-run simula la acción. Un archivo vacío llamado DISABLE_2FA en la carpeta del módulo suspende la petición de código para todos mientras exista; un aviso rojo lo recuerda a los superadministradores. Bórralo para restablecer la protección.
¿Cuántos códigos erróneos antes del bloqueo?
Cinco códigos erróneos bloquean la cuenta durante 15 minutos por defecto; ambos valores se configuran, y el bloqueo queda guardado en la base incluso tras una nueva conexión con contraseña.
La opción Códigos erróneos antes del bloqueo acepta de 1 a 20 intentos, y la opción Duración del bloqueo de 1 a 1440 minutos. El mensaje indica el tiempo restante: Demasiados códigos erróneos. Inténtelo de nuevo en 15 minutos. Un código ya usado se rechaza con Este código ya se ha usado, y uno incorrecto muestra Este código no es válido, con los intentos restantes.
El registro, reservado a los superadministradores, muestra la fecha, el empleado, la dirección IP y el detalle: códigos aceptados o erróneos, códigos de recuperación usados, bloqueos y desbloqueos, cambios de teléfono, restablecimientos y desactivaciones. Se filtra por empleado y no contiene ningún código ni secreto. La opción «Conservar el registro durante» va de 7 a 3650 días (90 por defecto); la purga elimina las filas más antiguas una vez al día.
¿Qué pasa si caduca la licencia o el servidor de licencias no responde?
Sin una licencia válida, el módulo se desactiva en todas las tiendas: no se pide ningún código, sus pantallas de gestión se cierran, pero se conservan las inscripciones, los códigos de recuperación, los dispositivos, los ajustes y el registro. Si el servidor solo está inaccesible, se aplica una tolerancia de siete días.
Es la regla de la versión 2.0.1: una licencia suspendida o revocada, una clave ausente, un dominio desconocido o una firma inválida detienen la autenticación en dos pasos. La página de configuración sigue accesible; introduce la Clave de licencia y el Secreto de licencia y pulsa Activar la licencia. Cuando la licencia es válida, el módulo se activa y vuelve a pedir el código en la página siguiente. Nadie se inscribe de nuevo; los dispositivos de confianza siguen vigentes.

Una licencia pagada no se corta en la primera alerta. Al terminar una suscripción, la protección sigue activa siete días después de la fecha guardada. Después, el módulo consulta el servidor como máximo una vez por hora, con tiempos de espera cortos. Una respuesta temporal —error interno, demasiadas solicitudes, reloj desfasado— no desactiva nada: la tolerancia de siete días cuenta desde el primer fallo. Una respuesta que no admite reintento (licencia caducada, suspendida o revocada, dominio desconocido, firma inválida) se aplica de inmediato. En multitienda, activa la licencia desde el contexto que abarca todas las tiendas: el módulo está activo en todas o en ninguna.
Para pasar de la 2.0.0 a la 2.0.1, haz una copia de seguridad, sube el archivo en Módulos > Gestor de módulos y deja que PrestaShop ejecute la actualización. Se conservan las inscripciones, los códigos de recuperación, los dispositivos, los ajustes y el registro. Después, abre Configurar y comprueba la licencia.
Preguntas frecuentes
¿Qué aplicaciones de autenticación funcionan con el módulo?
¿La 2FA funciona con PrestaShop 1.7, 8 y 9?
¿Qué pasa si la licencia del módulo caduca o deja de ser válida?
¿Se pueden dispensar de código las direcciones IP de la oficina?
¿Cuánto tiempo sigue válido un código?
¿Cómo se restablece la 2FA de un empleado que ha dejado la empresa?
Productos de este artículo
2FA en back office: blinda accesos admin
Código de 6 dígitos de una app (Google Authenticator, Authy, Microsoft Authenticator…) tras la contraseña Un...
Security Audit Pro – Protege tu tienda contra ataques impulsados por IA
Security Audit Pro ayuda a comerciantes y agencias a revisar la seguridad de su tienda en ocho categorías. Inicie...
Magic Login - Inicio de sesión sin contraseña y Google Sign-in
Inicio de sesión o creación de cuenta solo con una dirección de e-mail: código de 6 dígitos, enlace de un clic o...