Cómo crear una whitelist de IPs para el login de WordPress

Crear una whitelist de IPs para el login de WordPress es una medida de seguridad efectiva que limita el acceso a tu sitio solo a direcciones IP aprobadas. Esto puede reducir significativamente el riesgo de intrusiones y ataques de fuerza bruta.

Introducción

La seguridad en línea es un aspecto crucial para cualquier administrador de sitios web. Según un estudio de Wordfence, el 90% de los ataques a sitios de WordPress son intentos de fuerza bruta. Implementar una whitelist de IPs es una estrategia efectiva para proteger tu sitio.

Qué es

Una whitelist de IPs es una lista de direcciones IP autorizadas que tienen acceso a un recurso específico, como el panel de administración de WordPress. Esto significa que solo las IPs en la lista pueden iniciar sesión, mientras que todas las demás serán bloqueadas.

Ventajas y Desventajas

Ventajas

  • Mayor seguridad contra ataques de fuerza bruta.
  • Control total sobre quién puede acceder al sitio.
  • Reducción de tráfico no deseado.

Desventajas

  • Puede ser inconveniente si cambias frecuentemente de IP.
  • Requiere mantenimiento para actualizar la lista de IPs.
  • Puede bloquear accidentalmente a usuarios legítimos.

Cómo implementar en WordPress

  1. Accede a tu servidor a través de FTP o tu panel de control.
  2. Ubica el archivo functions.php de tu tema activo.
  3. Agrega el siguiente código al final del archivo:
  4. 
    function restrict_login_ip() {
        $allowed_ips = array('192.168.1.1', '203.0.113.0'); // Añade aquí tus IPs permitidas
        if (!in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) {
            wp_die('No tienes permiso para acceder a esta página.');
        }
    }
    add_action('login_init', 'restrict_login_ip');
            
  5. Guarda el archivo functions.php y prueba el acceso.

Comparativa de herramientas/plugins

Nombre Ventajas Ideal para
Wordfence Security Protección avanzada, firewall Usuarios que buscan una solución integral
IP Geo Block Bloqueo geográfico de IPs Site con tráfico internacional
WP Limit Login Attempts Previene ataques de fuerza bruta Usuarios básicos que buscan simplicidad

Ejemplo práctico

Imagina que tienes un sitio web que solo tú y tu equipo manejan. Al implementar la whitelist con las IPs de cada miembro, aseguras que solo ellos puedan acceder al panel de administración, aumentando la seguridad de tu sitio.

Si te interesa este tema, quizá te ayude: tecnico wordpress urgente

Preguntas frecuentes

¿Qué sucede si mi IP cambia?

Si tu IP cambia, necesitarás actualizar la whitelist para incluir la nueva dirección.

¿Es suficiente solo con una whitelist de IPs?

No, es recomendable combinar esta medida con otras prácticas de seguridad, como contraseñas fuertes y autenticación en dos pasos.

¿Puedo hacer una whitelist de rangos de IPs?

Sí, puedes especificar rangos de IPs utilizando reglas adicionales en tu archivo de configuración o usando plugins que lo permiten.

Errores comunes

  • No actualizar la whitelist después de un cambio de IP.
  • Usar solo la whitelist sin otras medidas de seguridad.
  • Bloquear accidentalmente direcciones IP legítimas.

Checklist rápido

  • Verificar las IPs que necesitan acceso.
  • Implementar el código en el archivo functions.php.
  • Probar el acceso desde las IPs permitidas y no permitidas.
  • Actualizar la lista de IPs cuando sea necesario.

Glosario breve

  • IP: Protocolo de Internet, una dirección única que identifica un dispositivo en la red.
  • Whitelist: Lista de elementos permitidos, en este caso, direcciones IP autorizadas.
  • Fuerza bruta: Método de ataque que intenta todas las combinaciones posibles para adivinar contraseñas.

Medida de seguridad muy recomendada por nuestro Experto en Webs WordPress 

Crear una whitelist de IPs para el login de WordPress es una medida de seguridad muy efectiva para limitar el acceso únicamente a direcciones IP autorizadas, bloqueando de raíz la mayoría de ataques automatizados sobre /wp-login.php y /wp-admin/. A nivel técnico, la forma más robusta es hacerlo a nivel de servidor mediante .htaccess (en Apache), restringiendo el acceso a esas rutas. Por ejemplo:

<Files wp-login.php>
	order deny,allow
	deny from all
	allow from TU_IP
</Files>

<Directory /ruta-a-tu-web/wp-admin>
	order deny,allow
	deny from all
	allow from TU_IP
</Directory>

Con esto, cualquier IP distinta será bloqueada antes de que WordPress procese la petición. Si usas varias ubicaciones (casa, oficina, VPN), puedes añadir varias líneas allow from. En servidores Nginx, el equivalente sería usar directivas como allow y deny dentro del bloque de configuración. También puedes reforzarlo desde PHP, comprobando la IP con $_SERVER['REMOTE_ADDR'] en template_redirect o init, pero la protección a nivel servidor siempre es más eficiente porque evita carga innecesaria.

Desde un enfoque más avanzado, hay que tener en cuenta escenarios reales como el uso de IP dinámica o el paso por proxies/CDN como Cloudflare, donde la IP real del visitante puede estar en cabeceras como HTTP_CF_CONNECTING_IP. En esos casos, conviene ajustar la detección o configurar la whitelist directamente en el firewall del proveedor para mayor precisión. También es recomendable permitir el acceso a admin-ajax.php y wp-cron.php si los necesitas, ya que bloquearlos puede afectar funcionalidades internas o peticiones legítimas. En proyectos reales, implementar una whitelist ha reducido prácticamente a cero los intentos de login malicioso, pero también he visto bloqueos accidentales por cambios de IP no previstos, por lo que es clave tener siempre un método alternativo de acceso (por ejemplo, acceso por FTP o panel de hosting para revertir cambios rápidamente).

Cuando aplicas esta técnica correctamente, estás eliminando de golpe una gran superficie de ataque y ganando control total sobre quién puede siquiera intentar iniciar sesión. Es una de esas configuraciones que marcan una diferencia clara en seguridad sin afectar al rendimiento ni a la experiencia del usuario legítimo. Contar con una asistencia para paginas web te permite implementar este tipo de restricciones con criterio, evitando errores y asegurando que tu WordPress esté protegido desde la base. Si quieres reforzar el acceso a tu sitio de forma profesional y sin riesgos, puedes contactar con Experto en Webs hechas con WordPress.

Conclusión

En SEO técnico, el rendimiento condiciona rastreo y estabilidad: si tu backend responde lento, lo pagas en visibilidad.
Para una visión de arquitectura (sin recetas), revisa diseño técnico de WordPress.
Si necesitas un diagnóstico de tu caso, aquí tienes diagnóstico SEO + rendimiento.
Si quieres que lo revisemos con enfoque profesional, puedes ir a nuestro especialista en WordPress y SEO técnico.

Implementar una whitelist de IPs para el login de WordPress es una acción efectiva y necesaria para mejorar la seguridad de tu sitio. Al combinar esta estrategia con otras prácticas de seguridad, podrás proteger mejor tu información y mantener tu sitio a salvo de ataques.

Si necesitas ayuda profesional, mira esto: seguridad wordpress avanzada