🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Proteger tu WordPress con limitación de intentos de inicio de sesión

Actualizado el 9 de marzo de 2026

¿Cansado de ver intentos de acceso extraños en tu WordPress? No estás solo. Los ataques de fuerza bruta son una de las amenazas más comunes y molestas que enfrenta cualquier sitio web, especialmente si usas WordPress, el CMS más popular del mundo. La buena noticia es que proteger tu sitio no requiere ser un experto en programación. Con una herramienta tan sencilla como la limitación de intentos de inicio de sesión, puedes bloquear a los bots y a los curiosos malintencionados antes de que causen problemas.

En esta guía extensa, te explicaré paso a paso cómo funciona esta técnica de seguridad, por qué es vital para tu sitio y cómo configurarla fácilmente usando plugins o incluso mediante código. Al final, tendrás un WordPress mucho más robusto y dormirás tranquilo sabiendo que tu esfuerzo está a salvo.

¿Qué es un ataque de fuerza bruta y por qué te afecta?

Imagina que tu contraseña es una llave y tu panel de administración es la puerta de tu casa. Un ataque de fuerza bruta es como si un ladrón probara miles de llaves diferentes (o combinaciones de contraseñas) una tras otra hasta encontrar la correcta. Los atacantes usan programas automatizados que prueban diccionarios completos de palabras, combinaciones comunes y contraseñas filtradas en otros sitios.

No importa si tu web es un blog personal o una tienda online; todos los sitios WordPress son objetivos. Los bots no discriminan. Si un atacante tiene éxito, podría:

  • Robar tu cuenta de administrador.
  • Insertar malware o redireccionamientos maliciosos.
  • Borrar tu contenido.
  • Usar tu servidor para enviar spam.

La limitación de intentos de inicio de sesión es la barrera más efectiva contra esto. Básicamente, le dices a WordPress: "Si alguien falla la contraseña 3, 4 o 5 veces, bloquea esa dirección IP durante un tiempo". De esta forma, el robot se cansa y se va a buscar otra víctima más fácil.

¿Cómo funciona la limitación de intentos?

La lógica es simple pero poderosa. Cuando activas esta función, el sistema realiza un seguimiento de cada intento fallido. Si el número de fallos supera un umbral que tú defines, se activa una "alarma" que impide nuevos intentos desde esa IP durante un período determinado.

Aquí tienes los componentes clave que encontrarás en la mayoría de las herramientas:

  • Número máximo de intentos: Cuántas veces se puede intentar acceder antes del bloqueo (normalmente entre 3 y 5).
  • Período de bloqueo: Cuánto tiempo se bloquea al usuario (por ejemplo, 30 minutos, 1 hora o 24 horas).
  • Ventana de tiempo: El tiempo en el que se cuentan los intentos (por ejemplo, si fallas 3 veces en 10 minutos, te bloquean).

[INFO] Algunas herramientas avanzadas también ofrecen bloqueo temporal y permanente. El bloqueo temporal es ideal para errores humanos (olvidar la contraseña), mientras que el permanente se usa para IPs reincidentes.

La solución más fácil: Usar plugins de seguridad

La forma más rápida y recomendada para principiantes es instalar un plugin de seguridad. No necesitas tocar código ni ser un gurú. Aquí te explico las opciones más populares y cómo configurarlas.

1. Limit Login Attempts Reloaded (El clásico)

Este es uno de los plugins más conocidos y ligeros. Es perfecto para empezar.

Instalación:

  1. Ve a tu panel de administración de WordPress.
  2. Navega a Plugins > Añadir nuevo.
  3. Busca "Limit Login Attempts Reloaded".
  4. Haz clic en Instalar ahora y luego en Activar.

Configuración recomendada:
Una vez activado, ve a Ajustes > Limit Login Attempts. Ahí verás opciones claras:

  • Método de bloqueo: Selecciona "Bloquear por IP" para la mayoría de los casos.
  • Intentos permitidos: Te recomiendo poner 4. Así das margen para que un usuario real falle una vez y luego tenga otra oportunidad.
  • Tiempo de bloqueo: Pon 30 minutos para el bloqueo temporal.
  • Ventana de tiempo: Deja el valor por defecto (generalmente 15 minutos).

[TIP] Este plugin te mostrará un registro de los intentos fallidos. Si ves muchas IPs intentando acceder a wp-login.php, ya sabes que está haciendo su trabajo.

2. Wordfence Security (El todoterreno)

Si buscas una solución más completa, Wordfence es una navaja suiza. Incluye cortafuegos (firewall), escaneo de malware y, por supuesto, limitación de intentos de inicio de sesión.

Instalación y configuración rápida:

  1. Instálalo desde Plugins > Añadir nuevo.
  2. Ve a Wordfence > Iniciar sesión y Seguridad.
  3. En la pestaña "Iniciar sesión", encontrarás la sección Protección de fuerza bruta.
  4. Marca la casilla "Habilitar la protección de fuerza bruta".
  5. Configura los valores: por defecto suele estar bien (5 intentos y bloqueo de 1 hora), pero puedes ajustarlo.

[WARNING] Wordfence es más pesado que otros plugins. Si tu hosting es muy limitado, puede ralentizar tu web. Para sitios pequeños, la opción anterior es más ligera.

3. iThemes Security (Antes Better WP Security)

Este es otro gigante que ofrece muchas opciones. Su configuración es un poco más compleja, pero muy visual.

Paso a paso:

  1. Instala y activa el plugin.
  2. Ve a Seguridad > Configuración.
  3. Busca la sección "Protección de inicios de sesión".
  4. Activa "Limitar intentos de inicio de sesión".
  5. Define el número de intentos (3-5) y la duración del bloqueo (por defecto sugiere 30 minutos).

[INFO] Este plugin también te permite ocultar la URL de acceso (cambiar wp-login.php por otra cosa), lo que añade una capa extra de oscuridad.

Configuración avanzada: Añadir código a tu archivo functions.php

Si prefieres no usar un plugin para ahorrar recursos del servidor, puedes añadir un pequeño fragmento de código a tu tema. Ojo: esto requiere acceso al archivo functions.php de tu tema hijo (recomendado) o del tema principal.

Método con código (para valientes):
Añade este código al final de tu archivo functions.php:

// Función para limitar intentos de inicio de sesión
function custom_login_attempts() {
    // Definir el número máximo de intentos
    $max_attempts = 4;
    // Definir el tiempo de bloqueo en minutos
    $lockout_time = 30;

    // Obtener la IP del usuario
    $ip = $_SERVER['REMOTE_ADDR'];
    // Crear una clave única para la IP
    $option_name = 'login_attempts_' . $ip;

    // Obtener los intentos actuales
    $attempts = get_transient($option_name);

    // Si los intentos superan el máximo, bloquear
    if ($attempts && $attempts >= $max_attempts) {
        wp_die('Demasiados intentos fallidos. Inténtalo de nuevo en ' . $lockout_time . ' minutos.');
    }
}
add_action('login_enqueue_scripts', 'custom_login_attempts');

// Función para contar los intentos fallidos
function custom_failed_login() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $option_name = 'login_attempts_' . $ip;

    // Obtener el valor actual
    $attempts = get_transient($option_name);

    // Incrementar el contador
    if ($attempts) {
        set_transient($option_name, $attempts + 1, 30 * MINUTE_IN_SECONDS);
    } else {
        set_transient($option_name, 1, 30 * MINUTE_IN_SECONDS);
    }
}
add_action('wp_login_failed', 'custom_failed_login');

[WARNING] Este código es un ejemplo básico. No almacena los bloqueos de forma permanente y puede ser más complejo de gestionar. Para la mayoría de usuarios, usar un plugin es mucho más seguro y sencillo. Si no te sientes cómodo editando código, evita este método.

Consejos adicionales para reforzar tu seguridad

La limitación de intentos es un gran muro, pero no es el único. Combínala con estas buenas prácticas para una protección de hierro:

  • Contraseñas fuertes: Usa frases largas con mayúsculas, números y símbolos. Evita "admin123" o "password".
  • Doble Factor de Autenticación (2FA): Añade una capa extra con una app como Google Authenticator. Aunque roben tu contraseña, necesitarán el código de tu móvil.
  • Mantén todo actualizado: Actualiza el núcleo de WordPress, los temas y los plugins. Las actualizaciones corrigen vulnerabilidades conocidas.
  • Cambia el nombre de usuario "admin": Si tu usuario se llama "admin", los atacantes ya tienen la mitad del trabajo hecho. Crea un usuario nuevo con permisos de administrador y elimina el antiguo.

Preguntas frecuentes (FAQ) sobre la limitación de intentos

¿Es seguro bloquear mi propia IP?
Sí, es posible si te equivocas de contraseña varias veces. No te preocupes, el bloqueo es temporal (normalmente 30 minutos). En el peor de los casos, puedes desbloquearlo desde la base de datos o esperar a que pase el tiempo.

¿Puedo bloquear a usuarios legítimos que comparten IP?
Sí, esto es un riesgo en oficinas o redes públicas. Si varios usuarios usan la misma IP y uno falla, podrían bloquearse todos. Para mitigarlo, algunos plugins permiten ajustar el umbral o establecer excepciones.

¿Qué hago si olvido mi contraseña?
No pasa nada. La limitación de intentos no afecta a la opción de "¿Has olvidado tu contraseña?". WordPress te enviará un enlace de restablecimiento a tu correo electrónico.

¿Funciona esto en cualquier hosting?
Sí, la mayoría de los plugins funcionan en cualquier hosting estándar. Sin embargo, si usas un panel de control como Syspanel (el cual se accede por el puerto 2106), la configuración de los plugins no cambia, ya que se gestiona desde el propio WordPress.

[INFO] Si tienes dudas sobre cómo acceder a tu panel de control o sobre la configuración de tu servidor, recuerda que Syspanel es la herramienta de gestión de tu hosting y su puerto de acceso es el 2106. Pero para la seguridad de tu web, todo se hace desde el escritorio de WordPress.

¿La limitación de intentos ralentiza mi web?
No. El proceso es muy ligero. Solo se ejecuta cuando alguien intenta iniciar sesión. No afecta al rendimiento de tus páginas para los visitantes.

Conclusiones finales

La seguridad de tu WordPress no tiene por qué ser un dolor de cabeza. La limitación de intentos de inicio de sesión es una medida de higiene digital básica, como ponerle llave al baño de tu casa. Es fácil de implementar, gratuita y te ahorrará muchos sustos.

No esperes a ser víctima de un ataque de fuerza bruta. Dedica 10 minutos hoy a instalar uno de los plugins que te he recomendado o a configurar el código. Tu yo del futuro te lo agradecerá.

Resumen rápido de acciones:

  1. Instala un plugin de seguridad (recomiendo "Limit Login Attempts Reloaded" para empezar).
  2. Configura el número de intentos a 3 o 4.
  3. Establece un bloqueo de 30 minutos.
  4. Activa la autenticación de dos factores (2FA) si está disponible.
  5. Mantén tu WordPress, temas y plugins siempre actualizados.

Con estos pasos, tu sitio estará mucho más protegido contra los ataques más comunes. Si tienes más dudas, revisa la documentación de tu plugin o contacta con tu proveedor de hosting. ¡A navegar seguro!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel