¿Desea limitar el acceso por dirección IP a su archivo wp-login.php en WordPress?
La página de inicio de sesión de WordPress es atacada frecuentemente por ataques DDoS y hackers para obtener acceso a su sitio web. Limitar el acceso a direcciones IP específicas puede bloquear eficazmente tales intentos.
En este artículo, le mostraremos cómo limitar fácilmente el acceso por IP a su archivo wp-login.php en WordPress.

¿Por qué limitar el acceso a wp-login.php por dirección IP?
La página de inicio de sesión de un sitio web de WordPress (típicamente, wp-login.php), es donde los usuarios inician sesión en su sitio.
Como propietario de un sitio web, le da acceso al área de administración de WordPress donde puede realizar mantenimiento del sitio web, escribir contenido y administrar su sitio web.
Sin embargo, los ataques de fuerza bruta comunes en Internet son conocidos por dirigirse a la página wp-login.php para obtener acceso a los sitios web. Incluso si no logran entrar, aún pueden ralentizar su sitio web o incluso hacerlo fallar.
Una forma de lidiar con esta situación es bloquear las direcciones IP desde donde provienen los ataques (hablaremos de esto más adelante en el artículo).
Una dirección IP es como un número de teléfono que identifica una computadora específica en Internet. Los hackers pueden usar software para cambiar sus direcciones IP.
Sin embargo, los ataques más sofisticados utilizan un grupo más grande de direcciones IP y puede que no sea posible bloquearlas todas.
En ese caso, puedes limitar el acceso a direcciones IP específicas utilizadas por ti y otros usuarios en tu sitio web.
Dicho esto, veamos cómo limitar fácilmente el acceso al archivo wp-login.php por direcciones IP específicas utilizando 3 métodos diferentes, incluido un firewall de seguridad en la nube.
1. Limitar el acceso a la página de inicio de sesión de WordPress por dirección IP
Para este método, necesitarás agregar algo de código al archivo .htaccess.
El archivo .htaccess es un archivo especial de configuración del servidor que se encuentra en la carpeta raíz de tu sitio web y al que se puede acceder usando FTP o la aplicación Administrador de archivos en el panel de control de tu hosting de WordPress.
Simplemente conéctate a tu sitio de WordPress usando un cliente FTP y edita tu archivo .htaccess agregando el siguiente código en la parte superior.
<Files wp-login.php>
order deny,allow
Deny from all
# whitelist Your own IP address
allow from xx.xxx.xx.xx
#whitelist some other user's IP Address
allow from xx.xxx.xx.xx
</Files>
No olvides reemplazar las XX con tus propias direcciones IP. Puedes encontrar fácilmente tu dirección IP visitando la página de SupportAlly.

Si tienes otros usuarios que también necesitan iniciar sesión en tu sitio web, puedes pedirles que proporcionen sus direcciones IP. Luego, puedes agregarlas también al archivo .htaccess.
Aquí tienes otro ejemplo del código mencionado anteriormente.
<Files wp-login.php>
order deny,allow
Deny from all
# Whitelist John as website administrator
allow from 35.199.128.0
#Whitelist Tina as Editor
allow from 108.59.80.0
# Whitelist Ali as moderator
allow from 216.239.32.0
</Files>
Ahora, los usuarios con estas direcciones IP podrán ver el archivo wp-login.php e iniciar sesión en tu sitio web. Otros usuarios verán el siguiente mensaje de error:

2. Bloquear direcciones IP específicas de acceder a tu sitio web
Este método es totalmente lo opuesto al primer método.
En lugar de limitar el acceso a la página de inicio de sesión de WordPress a direcciones IP específicas, podrás bloquear las direcciones IP utilizadas para atacar tu sitio web.
Este método es particularmente útil para sitios web de membresía de WordPress, tiendas de comercio electrónico, u otros sitios web donde varios usuarios necesitan iniciar sesión para acceder a sus cuentas.
La desventaja de este método es que los hackers pueden cambiar sus direcciones IP y continuar atacando tu sitio web.
Afortunadamente, muchos de los intentos comunes de hackeo de WordPress utilizan un conjunto fijo de direcciones IP, lo que hace que este método sea efectivo en la mayoría de los casos.
Paso 1: Encontrar las direcciones IP infractoras que deseas bloquear
Primero, necesitas encontrar las direcciones IP utilizadas para atacar tu sitio web.
La forma más fácil de encontrar las direcciones IP infractoras es revisando los registros de tu servidor. Simplemente ve al panel de control de tu cuenta de hosting y haz clic en el ícono de registros de ‘Acceso sin procesar’ (Raw Access).

En la siguiente página, haz clic en tu nombre de dominio para descargar los registros de acceso. Esto descargará un archivo con extensión gz.
Necesitarás extraer el archivo y abrirlo con un editor de texto como Bloc de notas (Notepad) o TextEdit.
Desde aquí encontrarás las direcciones IP que están golpeando repetidamente la página wp-login.php.

Copia y pega las direcciones IP en un archivo de texto separado en tu computadora.
Paso 2. Bloqueo de direcciones IP sospechosas
A continuación, necesitas iniciar sesión en el panel de control de tu hosting de WordPress y hacer clic en el ícono ‘Bloqueador de IP’ (IP Blocker).

En la siguiente pantalla, simplemente copia y pega las direcciones IP que deseas bloquear y haz clic en el botón ‘Agregar’ (Add).

Repite el proceso para bloquear cualquier otra dirección IP sospechosa que desees.
¡Eso es todo! Has bloqueado con éxito las direcciones IP sospechosas de acceder a tu sitio web por completo.
Más adelante, si necesitas desbloquear una de estas direcciones IP, puedes hacerlo fácilmente desde la aplicación de bloqueo de IP.

3. Protección del inicio de sesión de WordPress con un firewall del sitio web
Como administrador de un sitio web, es posible que no quieras pasar demasiado tiempo administrando las direcciones IP que pueden acceder a tu página de inicio de sesión de WordPress.
La forma más fácil de proteger tus páginas de inicio de sesión de WordPress es usando Sucuri. Es el mejor firewall de WordPress que acompaña a un completo plugin de seguridad para WordPress.
El firewall de sitio web de Sucuri filtra automáticamente las direcciones IP sospechosas de acceder a archivos importantes del núcleo de WordPress sin que lleguen a tu sitio web.

Este método también mejora el rendimiento y la velocidad de tu WordPress, ya que bloquea actividades sospechosas de ralentizar tu servidor.
Además de eso, Sucuri también viene con una red CDN integrada. Serviría automáticamente archivos estáticos como imágenes, hojas de estilo y JavaScript desde un servidor más cercano a tus usuarios.
Puedes agregar fácilmente a la lista blanca las direcciones IP de los usuarios si no pueden acceder a las páginas de inicio de sesión de WordPress.

Alternativas: MalCare o Cloudflare Free CDN
Esperamos que este artículo te haya ayudado a aprender cómo limitar el acceso por dirección IP a tu archivo wp-login.php. También puedes consultar nuestra guía completa de seguridad de WordPress o ver estos consejos adicionales para proteger el área de administración de WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Olaf
Todo en WordPress sube y baja en la seguridad del sitio web. Subestimarla puede generar problemas graves con el tiempo. Estas directivas funcionan perfectamente, e implementar este tipo de seguridad solo toma un momento. Aprecio que seas minucioso, no solo agregando las directivas correctas a .htaccess, sino también enseñando a los usuarios desde el principio a comentar adecuadamente las entradas añadidas manualmente. Esto ayuda a cualquiera que herede el sitio a comprender estas directivas. Pocos tutoriales son tan meticulosos, tomándose el tiempo para asegurar un comentario adecuado en .htaccess.
Jiří Vaněk
Copié las directivas al sitio web, ajusté las direcciones IP y las coloqué en el archivo .htaccess. Funciona perfectamente para ambas direcciones IP que ahora están configuradas en el .htaccess.
May
En cuanto a un sitio de WooCommerce, ¿es útil esta función?
El inicio de sesión se puede hacer desde la página de mi cuenta.
Soporte de WPBeginner
Si tienes varios usuarios iniciando sesión en tu sitio para algo como WooCommerce, entonces esto no sería algo que usarías. Esto normalmente sería para un sitio con un número limitado de usuarios.
Administrador
Michael Pepper
¡Gracias por el artículo, útil!
Soporte de WPBeginner
Glad our article was helpful
Administrador
Mick
Por alguna razón, cuando uso esto, la IP en lista blanca también es bloqueada.
¿Alguna idea de por qué?
Soporte de WPBeginner
Es posible que desees asegurarte de haber configurado la IP correcta y, si estás usando una VPN o algo similar, esa podría ser la raíz del problema.
Administrador
Bahar Ali
Usé el código anterior y de alguna manera se aplica a todas las páginas del sitio, por ejemplo, mi página de inicio incluso muestra "prohibido".
Soporte de WPBeginner
Primero, podrías consultar con tu proveedor de hosting para asegurarte de que no haya una configuración conflictiva de su parte.
Administrador
Unni Krishnan
Buen trabajo, chicos.
Como mencionaron en la última sección, sí tengo IPs dinámicas para mi conexión móvil. Aunque he agregado mi IP de banda ancha a la lista blanca, me quedo atascado al acceder sobre la marcha.
¿Saben si algún plugin ayuda a resolver esto?
Unni Krishnan
Además, tales solicitudes a wp-login.php se redirigen a la página de inicio. ¿Es normal?
FrancescoElzy
Hmm, parece que tu blog se comió mi primer comentario (era súper largo), así que supongo que solo resumiré lo que escribí y diré que estoy disfrutando mucho tu blog. Yo también soy un aspirante a blogger, pero todavía soy nuevo en todo esto. ¿Tienes algún consejo útil para escritores de blogs novatos? Lo agradecería sinceramente.
Stéfano Willig
Hemos hecho nuestro FTP accesible solo por ciertas IPs.
Ahora no puedo instalar ni actualizar WordPress directamente a través de WordPress...
¿Qué puedo hacer?
Jobbatam
Grandes consejos y me funciona.
Pero, ¿puedo redirigir wp-login a un error 404?
Si es así, ¿qué código agrego al código anterior?
gracias
MargaretMacnamar
Es muy simple encontrar cualquier tema en internet en comparación con los libros de texto, ya que encontré esta publicación en este sitio web.
EQHRaymond
Gracias por la función. La publicación me ayudó mucho
Rex Wickham
Si quieres agregar más de una IP, puedes hacer esto:
1. Puedes usar una IP parcial:
Permitir desde 145.50.39
Esto permitirá IPs desde 145.50.39.0 hasta 145.50.39.255
2. Puedes usar una máscara de red o un CIDR:
Permitir desde 145.50.39.0/255.255.255.224
o
Permitir desde 145.50.39.0/27
Esto permitirá IPs desde 145.50.39.0 hasta 145.50.39.31.
Julius Musembi
Esta es una gran solución alternativa.
David Swanson
Agregué el código a mi .htaccess pero cuando mis usuarios cierran sesión, reciben Error 403.
Cuando hacen clic en cerrar sesión, el enlace es /wp-login.php?action=logout
¿Hay alguna forma de arreglar esto?
Brijesh
¡Gran consejo! Pero tengo un problema. Bloquea el inicio de sesión de administrador desde otras IPs, pero si un usuario registrado cierra sesión en el sitio, el código también lo restringe. Quiero decir, cuando el usuario hace clic en cerrar sesión, aparece un mensaje de prohibido. ¿Cómo solucionarlo?
Rafaqat
Gracias por tu rápida guía para protegerse de intentos de inicio de sesión excesivos e ilegales. En realidad, hay un plugin gratuito llamado "better wp security" que puede gestionar casi todos los problemas de seguridad relacionados con los intentos de inicio de sesión, el archivo wp.config, el archivo .htaccess y muchos más. Creo que uno debería intentarlo.
Kris
Para solucionar el problema de la IP dinámica, puedes hacer referencia a un htpasswd.
Baptiste Legrand
¡Gracias por este gran consejo! Pero estoy un poco confundido: ¿debería pegar este fragmento en mi archivo .htacess raíz o en mi archivo .htaccess de wordpress?
¡Saludos (y por cierto, ¡simplemente AMO wpbegginer.com, sigan con el buen trabajo!)
Personal editorial
Pégalo en tu wordpress/.htaccess
Administrador
Personal editorial
Con IPs dinámicas esto puede ser un problema. Puedes configurar Apache Protect en él, pero eso es un poco más complejo. La línea #whitelist es solo para que sepa qué IP es cuál.
Administrador
Steve Pringle
Deberías mencionar que los plugins (como JetPack) pueden tener problemas cuando limitas el acceso.