Bloquear la página de inicio de sesión de WordPress

WordPress es muy popular entre bloggers, desarrolladores y empresas. Debido a esta popularidad, los atacantes no tardan en localizar dónde se encuentran los recursos sensibles. Por defecto, en cualquier sitio WordPress, el acceso principal está claramente identificado como [nombre del dominio/wp-login.php] o /wp-admin/. Incluso en sitios pequeños, los registros del servidor pueden mostrar cientos de intentos fallidos de inicio de sesión provenientes de proxies residenciales y botnets que cambian constantemente sus direcciones IP. Si un atacante logra comprometer una sola cuenta, podría instalar un plugin malicioso, crear una puerta trasera, inyectar spam SEO o usar el sitio para alojar malware oculto, lo que dañaría la reputación, el posicionamiento en buscadores y los ingresos de forma directa y significativa.

¿Qué tan segura es la página de inicio de sesión de WordPress?

WordPress incluye funciones básicas de seguridad por defecto. No obstante, estas protecciones integradas suelen ser insuficientes para detener a atacantes persistentes. La página de inicio de sesión estándar puede estar vulnerable a diferentes tipos de amenazas, entre ellas:

  • Ataques de fuerza bruta
  • Relleno de credenciales
  • Intentos de phishing
  • Ataques de intermediario

Para obtener una mayor protección, deberá superar los valores predeterminados y agregar capas de seguridad adicionales.

10 capas defensivas para la seguridad del inicio de sesión en WordPress

A continuación, analizaremos cómo los atacantes apuntan a la página de inicio de sesión y luego repasaremos algunas configuraciones que ayudan a cerrar las brechas más comunes, como credenciales sólidas, autenticación de dos factores, limitación de velocidad y monitoreo en tiempo real.

1. Emplee contraseñas con alta complejidad en todos los lugares

Las campañas de robo de credenciales se basan en que los usuarios reutilizan sus contraseñas en diferentes servicios. Los kits de phishing y los ladrones de información descargan millones de credenciales a diario. Los atacantes introducen estas listas en scripts que buscan 
/wp-login.php coincidencias de credenciales.

2. Mueva la URL de inicio de sesión a una ruta no predeterminada

Los escáneres genéricos están diseñados para verificar las rutas de inicio de sesión predeterminadas, así que use una ruta distinta a la predeterminada para reducir la exposición a escáneres que solo buscan valores predeterminados. Esto no detiene a un atacante específico, pero filtra una oleada masiva de escáneres genéricos.
Una opción para ocultar la URL de inicio de sesión es usar un plugin como WPS Hide Login:

  1. Instale WPS Hide Login desde el repositorio oficial.
  2. En Configuración > Ocultar inicio de sesión de WPS, especifique el nuevo slug (ejemplo: /secure-gateway/).
  3. Guarde los cambios y registre la nueva URL en su administrador de contraseñas.

Recomendación

  • No publique la nueva ruta en documentación pública ni en foros de soporte.
  • Mantenga una segunda cuenta de administrador que omita el complemento en caso de que la regla de reescritura esté mal configurada.

3. Imponga límites estrictos a los inicios de sesión fallidos

Las herramientas de fuerza bruta disponibles pueden repetir las conjeturas de contraseñas en rápida sucesión, especialmente cuando el sitio responde rápidamente.

Una opción a través de un plugin sería utilizar, Limit Login Attempts Reloaded:

  1. Instalar Límite de intentos de inicio de sesión recargado .
  2. Configurar:
    • Reintentos permitidos: 3
    • Duración del bloqueo: 30 minutos
    • Máximo de bloqueos: 4
    • Bloqueo extendido: 24 horas
  3. Habilite el registro compatible con GDPR para capturar IP, nombre de usuario y hora.

4. Exigir 2FA para todos los usuarios privilegiados

El phishing y el malware roban contraseñas todos los días. Sin un segundo factor de verificación, esas credenciales bastan para acceder a tus cuentas.

5. Desafiar sesiones sospechosas con CAPTCHA

El robo de credenciales suele provenir de navegadores sin interfaz gráfica o CURL. CAPTCHA bloquea estas ejecuciones automatizadas con mínima fricción para los usuarios.

Una buena alternativa es utilizar la siguiente herramienta:

  1. Instalar CAPTCHA 4WP.
  2. Registre las claves reCAPTCHA v3 en https://www.google.com/recaptcha/admin .
  3. Aplicar desafíos a los formularios de inicio de sesión, registro y restablecimiento de contraseña.

6. Reforzar wp-config.php contra la manipulación posterior a la explotación

Si un atacante accede al panel de control o obtiene acceso de escritura a archivos, puede inyectar puertas traseras a través del editor de temas o los instaladores de plugins. Deshabilitar estas funciones obliga a los atacantes a buscar una primitiva de escritura del lado del servidor, lo que aumenta el nivel de exigencia.

Puedes realizar las siguiente acciones para reforzar tu WP:
Añade las siguientes líneas arriba
/* That's all, stop editing! */

define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);

Mueva wp-config.php un directorio por encima de la raíz web si su proveedor de alojamiento lo permite:

/home/user/wp-config.php
/home/user/public_html/index.php

Establecer permisos de archivo estrictos:

chmod 400 /home/user/wp-config.php
chown www-data:root /home/user/wp-config.php

7. Ocultar los nombres de usuario de los autores de la vista del público

Muchas herramientas automatizadas ejecutan el análisis de enumeración, 
/?author=1que devuelve una redirección a [nombre de dominio 
/author/username/]. Esta filtración le entrega al atacante la mitad del problema del inicio de sesión.

Para bloquear este tipo de acciones, lo puedes realizar añadiendo lo siguiente a tu .htaccess

RewriteCond %{QUERY_STRING} autor=\d 
RewriteRule ^ /? [L,R=301]

Ahora si visitas la url /?author=1. Espera una redirección instantánea a la página de inicio o un error 403. Las entradas del blog deben mostrar el apodo, pero no el nombre de usuario.

8. Eliminar cuentas de usuario inactivas o desconocidas

En WordPress, las cuentas obsoletas —ya sean de exempleados, pruebas o correos comprometidos— pueden convertirse en puertas de entrada para los atacantes. Mantenerlas activas rompe con el principio de privilegio mínimo, una de las bases esenciales de la seguridad.

9. Purgar y elimina complementos y temas no utilizados

Se revelan vulnerabilidades graves en plugins y temas con frecuencia. Mantener instalados componentes sin usar o desactualizados aumenta el riesgo, incluso si están desactivados, ya que pueden ejecutarse directamente mediante la inclusión de archivos.

  1. Inicie sesión en su panel de administración de WordPress.
  2. Vaya a Panel de control > Complementos > Inactivos .
  3. Revise y elimine cualquier complemento que ya no utilice.

Nuevamente, la desactivación no neutraliza el riesgo. Elimínelo por completo a menos que sea necesario para la puesta en escena.

10. Parchee el núcleo, los complementos y los temas de WordPress inmediatamente

lgunas vulnerabilidades se explotan ampliamente poco después de su divulgación, pero la aplicación rápida de parches reduce el tiempo de exposición de su sitio web. Aplique las correcciones de inmediato y considere un firewall de aplicaciones web para reducir el riesgo mientras actualiza.

Conclusiones

  • Los atacantes se centran en la página de inicio de sesión de WordPress porque su ubicación es predecible y de un solo factor de forma predeterminada.
  • Las defensas en capas, como contraseñas seguras, URL ocultas, limitación de velocidad, autenticación de dos factores, CAPTCHA, refuerzo de la configuración y gestión estricta de parches, detienen la gran mayoría de los ataques del mundo real.
  • Un firewall de aplicaciones de sitios web acelera el proceso al brindar parches virtuales y protección automatizada contra fuerza bruta lista para usar.
  • Las copias de seguridad periódicas son la solución cuando todas las demás medidas fallan. Si no cuenta con copias de seguridad diarias externas, configúrelas ahora.

Este artículo está basado en la entrada: Locking Down the WordPress Login Page

Si te ha gustado este artículo, suscríbete a nuestro canal de YouTube  para ver videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en  TwitterFacebook e Instagram.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *