Independientemente del tipo o el tamaño de tu sitio, necesitas contar con un buen plan de seguridad para mantener alejados a los hackers. Un área a la que debes prestar especial atención es la página de inicio de sesión. Los atacantes suelen utilizar una técnica llamada ataques de fuerza bruta para adivinar nombres de usuario y contraseñas hasta dar con la combinación correcta y acceder a tu sitio. Gracias a los bots, pueden probar miles de combinaciones por minuto.
Una solución sencilla consiste en limitar el número de veces que alguien puede intentar iniciar sesión. Si fallan demasiadas veces, se les bloquea durante un periodo de tiempo determinado.
Esta guía te explica cómo limitar los intentos de inicio de sesión con y sin plugin. También encontrarás consejos para proteger tu sitio sin bloquear a los usuarios legítimos.
Por qué debes limitar los intentos de inicio de sesión
De forma predeterminada, WordPress permite que las personas intenten iniciar sesión tantas veces como quieran. Aunque esto resulta útil si un usuario legítimo olvida su contraseña, también permite a los hackers utilizar bots para probar miles de nombres de usuario y contraseñas por minuto.
Pero al limitar los intentos de inicio de sesión, puedes:
- Evitar que los bots adivinen tu contraseña mediante intentos de inicio de sesión interminables.
- Proteger tu servidor para que no se sobrecargue debido a ataques de fuerza bruta.
- Ganar tiempo para detectar y bloquear direcciones IP maliciosas.
- Añadir una capa de seguridad con muy poco esfuerzo.
Esto no sustituye otras medidas importantes —como utilizar contraseñas de alta calidad—, pero es una parte importante de una estrategia de seguridad sólida.
Cómo funcionan los límites de los intentos de inicio de sesión
Al limitar los intentos de inicio de sesión, estableces el número máximo de intentos para cada usuario o dirección IP. Si alguien introduce la contraseña incorrecta demasiadas veces, puedes:
- Bloquearlo durante un breve periodo de tiempo.
- Añadir una dirección IP a una lista de bloqueo temporal.
- Añadir a la lista de permitidos las direcciones IP de los administradores para no bloquearte nunca.
Puedes ajustar estas reglas para equilibrar la seguridad y la facilidad de uso para los usuarios reales.
Cómo limitar los intentos de inicio de sesión con un plugin
Jetpack ofrece protección contra ataques de fuerza bruta de forma gratuita o como parte del plan completo de Jetpack Security. Es muy fácil de configurar y se ejecuta automáticamente en segundo plano para bloquear el tráfico malicioso antes de que llegue a tu sitio, sin que tengas que hacer nada.
Así es como se configura:
- Inicia sesión en el panel de administración de tu WordPress y ve a Plugins → Añadir plugin.
- Busca «Jetpack» y haz clic en Instalar ahora → Activar.
- Aparecerá un asistente de configuración que te permitirá conectar tu sitio con tu cuenta de WordPress.com. También tendrás la oportunidad de crear una si aún no tienes una.
La protección contra ataques de fuerza bruta se activará automáticamente. Sin embargo, si quieres, puedes personalizar los ajustes para adaptarlos a tus necesidades. Solo tienes que seguir estos pasos:
- En el panel de administración de tu WordPress, ve a Jetpack → Ajustes → Seguridad.
- Desplázate hacia abajo hasta la sección de Protección contra ataques de fuerza bruta. Allí puedes activar y desactivar esta función.
- Ahora, busca la sección de Direcciones IP siempre permitidas. Allí puedes añadir direcciones IP que nunca quieras bloquear. Por lo general, solo deberías hacerlo para las cuentas de administrador.
- La configuración se guardará automáticamente.

Cómo limitar los intentos de inicio de sesión sin un plugin
Si quieres un control aún más detallado sobre la prevención de ataques de fuerza bruta, puedes configurarla manualmente. Ten en cuenta que solo debes hacerlo si estás acostumbrado a trabajar con código. También debes asegurarte de tener una copia de seguridad completa del sitio antes de continuar.
1. Añade código al archivo functions.php
Una forma es añadir unas líneas al archivo functions.php de tu tema. Aquí tienes un ejemplo:
function limit_login_attempts() {
$max_login_attempts = 3;
$lockout_time = 20 * MINUTE_IN_SECONDS;
$ip = $_SERVER['REMOTE_ADDR'];
$attempts = get_transient('login_attempts_' . $ip);
if ($attempts === false) {
$attempts = 0;
}
if ($attempts >= $max_login_attempts) {
wp_die('Too many login attempts. Try again later.');
}
add_action('wp_login_failed', function() use ($ip, $attempts, $lockout_time) {
$attempts++;
set_transient('login_attempts_' . $ip, $attempts, $lockout_time);
});
}
add_action('init', 'limit_login_attempts');
Prueba siempre primero en un sitio de pruebas. Un pequeño error puede impedirte acceder a tu propio panel o hacer que tu sitio deje de funcionar.
2. Usa las reglas de .htaccess
Si tu servidor usa Apache, puedes proteger los intentos de inicio de sesión con reglas de .htaccess. Añade lo siguiente al archivo .htaccess que utilizas:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^YOUR_IP_ADDRESS$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
Sustituye YOUR_IP_ADDRESS por la tuya; esto bloqueará a todo el mundo excepto a ti. Aunque es una buena opción si eres la única persona que necesita acceder a tu sitio, no es una buena solución para sitios de membresía, foros, tiendas de comercio electrónico y otros tipos de sitios web con usuarios diversos.
Consejos adicionales para mejorar la seguridad del inicio de sesión
Limitar los intentos de inicio de sesión es un buen comienzo, pero debe formar parte de una estrategia de seguridad integral que incluya:
- Usa contraseñas seguras: Asegúrate de que todos los usuarios, especialmente los administradores, utilicen contraseñas seguras con una combinación de letras, números y símbolos.
- Activa la autenticación de dos factores: Esto requiere un código de un solo uso enviado a tu teléfono, además de tu nombre de usuario y contraseña habituales.
- Actualiza con frecuencia: Actualiza siempre el núcleo de WordPress, junto con tus temas y plugins.
- Utiliza un firewall de aplicaciones web: Un firewall bloquea el tráfico malicioso para que no llegue a tu sitio.
- Evita el spam: Bloquea el spam de las secciones de comentarios, los formularios de contacto y mucho más.
¿Quieres más información? Consulta:
- Nuestra guía completa para proteger tu página de inicio de sesión.
- Nuestro recurso con 28 mejores prácticas de seguridad de WordPress.
- El plan completo de Jetpack Security, que incluye desde un cortafuegos y protección contra el spam hasta análisis de malware y copias de seguridad en tiempo real.
Qué hacer si se te bloquea el acceso
Si accidentalmente te bloqueas el acceso a tu sitio, puedes:
- Esperar a que termine el periodo de bloqueo.
- Desactivar el plugin de seguridad mediante FTP o el administrador de archivos de tu alojamiento.
- Eliminar o editar cualquier código personalizado mediante FTP o el panel de tu alojamiento.
- Pedir ayuda al equipo de soporte de tu alojamiento, si es necesario.
Cómo Jetpack Security detiene los ataques de fuerza bruta
¿Quieres un paquete de seguridad completo que se encargue del trabajo difícil por ti? Dale una oportunidad a Jetpack Security. La función de protección contra ataques de fuerza bruta de Jetpack:
- Bloquea automáticamente las IP maliciosas utilizadas por botnets y hackers.
- Muestra en tu panel el recuento total de ataques detenidos.
- Te permite añadir IP seguras a la lista de permitidos para no bloquearte.
- Ofrece una opción de un solo clic para activar o desactivar la protección.
Pero la protección contra ataques de fuerza bruta es solo un elemento de Jetpack Security. También tendrás acceso a copias de seguridad y análisis de malware en tiempo real, protección avanzada contra el spam, un firewall de aplicaciones web, un registro de actividad para supervisar lo que ocurre en tu sitio y soluciones con un solo clic para problemas y vulnerabilidades de seguridad comunes.
En una sola herramienta, obtienes funciones de seguridad avanzadas para todo tu sitio, fáciles de activar y que funcionan en segundo plano para que nunca tengas que preocuparte. Obtén más información sobre Jetpack Security aquí.
Preguntas frecuentes
¿Cuál es el número óptimo de intentos de inicio de sesión que se deben permitir en WordPress?
Permitir entre 3 y 5 intentos fallidos de inicio de sesión es una buena configuración para la mayoría de los sitios web. Esta cantidad ofrece una sólida defensa contra los ataques automatizados de bots. También es lo bastante flexible como para evitar bloquear a usuarios reales que quizá simplemente hayan olvidado su contraseña.
Si administras un sitio web con datos muy sensibles, como una tienda de comercio electrónico, podrías elegir un límite más estricto de 2 o 3 intentos. Para un blog personal, 5 intentos suelen ser suficientes. Esta configuración crea un buen equilibrio entre la seguridad y la comodidad del usuario.
¿Cuánto debe durar el período de bloqueo de inicio de sesión de WordPress?
Un período de bloqueo de 20 a 30 minutos es un buen punto de partida. Esta duración es lo bastante larga como para detener un ataque de fuerza bruta en curso e interrumpir el proceso de un bot. También es lo bastante corta como para no causar demasiadas molestias a un usuario legítimo.
¿Es suficiente limitar los intentos de inicio de sesión para proteger completamente mi sitio web de WordPress?
No, limitar los intentos de inicio de sesión es solo una parte importante de una estrategia completa de seguridad para sitios web. Protege de forma excelente tu página de inicio de sesión, pero necesitas medidas adicionales para proteger todo tu sitio. Siempre debes utilizar contraseñas seguras y únicas para todas las cuentas de usuario. Activar la autenticación de dos factores (2FA) añade otra capa crítica de seguridad.
El uso de un plugin de seguridad completo con un firewall de aplicaciones web (WAF) puede bloquear el tráfico malicioso antes de que llegue a tu sitio. También es fundamental mantener actualizados el núcleo de WordPress, los plugins y los temas para corregir las vulnerabilidades de seguridad.
¿Cuál es la diferencia entre limitar los inicios de sesión y la autenticación de dos factores (2FA)?
Limitar los inicios de sesión bloquea a un atacante cuando realiza demasiados intentos con contraseñas incorrectas. La autenticación de dos factores requiere un segundo dato para iniciar sesión correctamente. Limitar los intentos de inicio de sesión es una medida de seguridad reactiva que detiene un ataque activo.
En cambio, 2FA es una medida de seguridad proactiva que refuerza el proceso de inicio de sesión desde el principio. Con 2FA activada, una contraseña robada no basta para que alguien acceda a tu cuenta. También necesitaría un código sujeto a un límite de tiempo enviado a tu dispositivo móvil o correo electrónico. Utilizar ambos métodos conjuntamente ofrece una protección extremadamente sólida para el inicio de sesión.
¿Qué ve un usuario cuando se bloquea el acceso a un sitio de WordPress?
Normalmente, el usuario verá un mensaje de error que explica que ha realizado demasiados intentos de inicio de sesión y que debe esperar antes de volver a intentarlo. El mensaje específico depende del plugin o del código que se esté utilizando.
Un buen mensaje de error indica claramente que los intentos están limitados por motivos de seguridad y muestra cuánto durará el período de bloqueo. Por ejemplo, el mensaje podría decir: «Demasiados intentos de inicio de sesión fallidos. Vuelve a intentarlo dentro de 20 minutos». Esto informa al usuario de lo que está ocurriendo sin revelar información confidencial que pudiera ayudar a un atacante.
¿Debería cambiar también la URL de inicio de sesión de mi WordPress?
Sí, cambiar tu URL de inicio de sesión es otro paso de seguridad eficaz que funciona bien junto con la limitación de los intentos de inicio de sesión. De forma predeterminada, cada página de inicio de sesión de WordPress se encuentra en una URL estándar, como /wp-admin o /wp-login.php. Los atacantes y los bots lo saben, por lo que se dirigen directamente a estas URL.
Cambiar tu URL de inicio de sesión por algo único y difícil de adivinar dificulta mucho que los bots automatizados encuentren tu página de inicio de sesión. Esta técnica bloquea una enorme cantidad de ataques automatizados de bajo nivel y añade una capa adicional de protección a tu sitio web.



