secaudit.eu
Protección

Autenticación de dos factores para administradores de WordPress

Cómo configurar la autenticación de dos factores en WordPress: apps TOTP, llaves de acceso, códigos de respaldo, por qué el SMS es más débil, quién la necesita y NIS2.

Por , AngelForce OÜ 8 min de lectura

También en: English Deutsch Français Italiano Polski Português Türkçe

Con la autenticación de dos factores (2FA) en WordPress, la contraseña por sí sola ya no abre su escritorio. Después de la contraseña, el inicio de sesión pide una segunda prueba, normalmente un código de seis dígitos que genera una app del móvil. Es una de las protecciones más baratas y eficaces para las cuentas de administrador y, como el núcleo de WordPress no incluye autenticación de dos factores, se añade con un plugin.

Esta guía explica cómo funcionan los códigos, qué segundo factor elegir, quién de su equipo lo necesita, cómo implantarlo sin dejar a nadie fuera y qué relación tiene la 2FA con el RGPD y la Directiva NIS2.

Por qué no bastan las contraseñas

Las contraseñas se filtran. Cuando otro servicio pierde su base de datos de usuarios, los atacantes prueban los pares de correo y contraseña robados en formularios de acceso de toda la web. Es lo que se conoce como credential stuffing (relleno de credenciales), y funciona allí donde alguien ha reutilizado una contraseña. El phishing es la segunda vía: una página de acceso falsa y convincente recoge la contraseña directamente.

Todo sitio WordPress tiene un formulario de acceso público en /wp-login.php, y XML-RPC, que viene activado por defecto, también acepta contraseñas. Un Administrador puede instalar plugins, es decir, ejecutar código en su servidor. Según los plugins que use, un Editor puede ver mensajes de formularios o datos de clientes. Así, una sola contraseña filtrada puede acabar en una violación de la seguridad de los datos personales.

Un segundo factor rompe esa cadena. El atacante puede tener la contraseña, pero no su móvil ni su llave de seguridad.

Cómo funciona la autenticación de dos factores en WordPress

El método más habitual es TOTP, siglas en inglés de «contraseña de un solo uso basada en el tiempo», normalizado en el RFC 6238. Dicho de forma sencilla:

  1. Al activar la 2FA, el plugin muestra un código QR. Contiene una clave secreta que guarda su app de autenticación; el servidor conserva una copia.
  2. La app combina esa clave con la hora actual y calcula un código corto, normalmente de seis dígitos. En la configuración estándar aparece un código nuevo cada 30 segundos.
  3. Al iniciar sesión, tras la contraseña correcta, WordPress pide el código del momento. El servidor hace el mismo cálculo y compara los resultados.
Una contraseña robada se queda en el segundo paso: el atacante no tiene el código del móvil del usuario
Misma contraseña, dos resultados: sin el código del móvil, el acceso falla.

Como cada parte calcula el código por su cuenta, no se envía nada a su móvil y la app funciona sin conexión. Eso sí, el reloj del teléfono importa: si los códigos se rechazan siempre, compruebe que el móvil ajusta la hora automáticamente.

Conviene tener claro lo que la 2FA no hace. No corrige un plugin vulnerable, porque un atacante que explota un fallo de un plugin nunca pasa por el formulario de acceso; por eso las actualizaciones siguen encabezando nuestra lista de comprobación de seguridad para WordPress. Y una página de acceso falsa puede reenviar un código TOTP al sitio real en cuestión de segundos. Solo los métodos resistentes al phishing, como las llaves de acceso (passkeys) y las llaves de seguridad físicas, frenan este tipo de phishing en tiempo real.

Elegir el segundo factor: app, llave de acceso, SMS o correo

No todos los segundos factores son igual de robustos:

MétodoRobustezObservaciones
Llave de acceso o de seguridadMáximaResistente al phishing; requiere soporte del plugin
App de autenticación (TOTP)AltaGratuita, funciona sin conexión, muy extendida
Código por correoMediaTan segura como el buzón
Código por SMSMínimaDuplicado de SIM, interceptación

Las llaves de acceso (passkeys) se basan en el estándar WebAuthn y usan un par de claves guardado en su móvil, en su ordenador o en una llave física. El navegador solo usa una llave de acceso en el dominio para el que se creó, así que una web de phishing que imite a la suya no obtiene nada. Si su plugin de 2FA admite llaves de acceso, ofrézcaselas primero a los administradores.

Las apps de autenticación son la opción práctica por defecto. Sirve cualquier app TOTP, por ejemplo Google Authenticator, Microsoft Authenticator, apps de código abierto como Aegis o 2FAS, y muchos gestores de contraseñas.

Los códigos por SMS son más débiles: los delincuentes pueden hacerse con un número de teléfono mediante un duplicado de la SIM (SIM swapping), y los mensajes pueden interceptarse. Por eso la guía estadounidense NIST SP 800-63B considera los códigos enviados por la red telefónica, como los SMS, autenticadores «restringidos» (restricted). Es mejor que nada, pero no lo recomendamos para cuentas de administrador.

Los códigos de respaldo son su llave de repuesto. La mayoría de los plugins generan un juego de códigos de un solo uso. Guárdelos en su gestor de contraseñas o imprímalos y guárdelos en un lugar seguro, pero no junto al móvil.

Quién debe usar 2FA en WordPress

Recomendamos que la autenticación de dos factores sea obligatoria para:

  • todos los Administradores y Editores y, en las tiendas WooCommerce, todos los Gestores de la tienda;
  • cualquier persona que pueda ver datos personales, como mensajes de formularios, pedidos o cuentas de clientes;
  • los accesos de agencias y freelancers: cada persona con su propia cuenta y su propio segundo factor, nunca un acceso compartido «de la agencia» vinculado al móvil de una sola persona;
  • las cuentas alrededor de WordPress: panel de hosting, SFTP o SSH, registrador del dominio y la cuenta de correo que recibe los restablecimientos de contraseña.

Para los Suscriptores y los clientes de la tienda, suele bastar con ofrecer la 2FA como opción.

Implantar la 2FA en seis pasos

  1. Ordene antes las cuentas. Elimine las de antiguos empleados y agencias y rebaje los roles que sean más altos de lo necesario. No tiene sentido proteger cuentas que nadie usa.
  2. Elija un plugin. Busque TOTP, códigos de respaldo, obligatoriedad por rol e, idealmente, llaves de acceso. El plugin gratuito Two Factor de WordPress.org lo mantienen colaboradores de WordPress y cubre TOTP y códigos de respaldo, pero no permite imponer la 2FA por rol. Plugins de seguridad como Security Audit & Compliance, de secaudit.eu, también incluyen el inicio de sesión en dos factores con TOTP.
  3. Pruébelo con su propia cuenta. Regístrese, cierre la sesión y vuelva a entrar en una ventana privada del navegador. Mantenga una segunda cuenta de administrador con 2FA como alternativa de emergencia.
  4. Anuncie una fecha. Envíe una guía breve que indique qué app instalar y el plazo.
  5. Hágala obligatoria para los roles mencionados, de modo que nadie pueda saltarse la configuración.
  6. Cierre las puertas laterales. Desactive XML-RPC si nada lo usa, o confirme que su plugin lo cubre. Revise las contraseñas de aplicación (disponibles desde WordPress 5.6): están pensadas para el acceso por API y no pasan por la solicitud del segundo factor, así que conserve solo las que necesite.

Móvil perdido: cómo recuperar el acceso con seguridad

Que un móvil se pierda o se cambie es normal, así que planifíquelo antes de que ocurra.

  • Código de respaldo: el usuario inicia sesión con un código de respaldo, vuelve a configurar la 2FA en el móvil nuevo y genera códigos de respaldo nuevos.
  • Otro administrador suele poder restablecer el segundo factor de un usuario. Confirme la solicitud por un canal en el que ya confíe, por ejemplo devolviendo la llamada al compañero a un número conocido. «He perdido el móvil, ¿me puedes restablecer la 2FA?» es una frase clásica de ingeniería social.
  • Último recurso si el único administrador se ha quedado fuera: desactive el plugin de 2FA en el servidor, inicie sesión y vuelva a activarlo de inmediato.

Con WP-CLI, sustituya two-factor por el nombre de la carpeta de su plugin:

wp plugin deactivate two-factor

Sin WP-CLI, cambiar por SFTP el nombre de la carpeta del plugin en wp-content/plugins/ tiene el mismo efecto; devuélvale su nombre original antes de reactivar el plugin. Esto funciona para cualquiera con acceso al servidor, y precisamente por eso las cuentas de hosting y SFTP también necesitan una buena protección.

Autenticación de dos factores, NIS2 y RGPD

La NIS2 es explícita: el art. 21, apartado 2, letra j), de la Directiva NIS2 incluye la autenticación multifactorial o continua entre las medidas mínimas para las entidades sujetas. Que su empresa lo esté depende del tamaño, del sector y de la ley nacional de su país, como explicamos en la NIS2 y su web WordPress. Aunque la NIS2 no se le aplique directamente, los clientes sujetos a ella deben gestionar la seguridad de la cadena de suministro (art. 21, apartado 2, letra d), y cada vez preguntan más a las agencias si el acceso de administración está protegido.

El RGPD no menciona la 2FA, pero su art. 32 exige medidas de seguridad que tengan en cuenta el estado de la técnica. Para cuentas de administrador con acceso a datos personales, la 2FA es barata y está ampliamente disponible, por lo que resulta difícil sostener que no era una medida apropiada; consulte el artículo 32 del RGPD en WordPress. Deje constancia de cuándo la hizo obligatoria y para qué roles, porque el art. 5, apartado 2, exige que pueda demostrar sus medidas.

Preguntas frecuentes

¿La 2FA protege mi web WordPress por completo?

No. Protege el inicio de sesión. Los plugins vulnerables, un hosting débil y el malware en el ordenador de un usuario requieren sus propias medidas.

¿Basta con un código por correo electrónico?

Es mejor que no tener segundo factor, pero quien controle el buzón recibe tanto el enlace para restablecer la contraseña como el código. Para los administradores, use una app o una llave de acceso.

¿Pueden varias personas compartir una cuenta protegida con 2FA?

No deberían. Dé a cada persona su propia cuenta; además, es la única forma limpia de retirar el acceso cuando alguien se va.

Este artículo es información general, no asesoramiento jurídico.

Compruebe su propio sitio

Security Audit & Compliance es el plugin de WordPress de secaudit.eu: busca malware, spam oculto, archivos del núcleo modificados y código vulnerable, y relaciona sus hallazgos con el art. 32 del RGPD, el art. 21 de NIS2 y el OWASP Top 10.

Ver qué comprueba el plugin
Melike Görel

Melike Görel escribe las guías de secaudit.eu sobre seguridad de WordPress y cumplimiento normativo europeo para AngelForce OÜ, la empresa de software de Tallin que está detrás de secaudit.eu.

Elaborado con ayuda de IA y verificado antes de su publicación. Este artículo es información general, no asesoramiento jurídico.