¿Desea limitar el acceso por dirección IP a su archivo wp-login.php en WordPress?
La página de acceso de WordPress es a menudo atacada por ataques DDoS y hackers para acceder a su sitio web. Limitar el acceso a direcciones IP específicas puede bloquear eficazmente estos 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 acceso de un sitio web WordPress (normalmente, wp-login.php), es donde los usuarios acceden a su sitio web.
Como propietario de un sitio web, le da acceso al área de administrador de WordPress, donde puede realizar el mantenimiento del sitio web, escribir contenido y gestionar su sitio web.
Sin embargo, los ataques de fuerza bruta más comunes en Internet tienen como objetivo la página wp-login.php para acceder a sitios web. Incluso si no consiguen entrar, pueden ralentizar tu sitio web o incluso bloquearlo.
Una forma de hacer frente a esta situación es bloquear las direcciones IP de donde proceden 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 a un ordenador concreto en Internet. Los piratas informáticos pueden utilizar programas para cambiar sus direcciones IP.
Sin embargo, los ataques más sofisticados utilizan un mayor número de direcciones IP y puede que no sea posible bloquearlas todas.
En ese caso, puede limitar el acceso a direcciones IP específicas utilizadas por usted y otros usuarios de su sitio web.
Dicho esto, vamos a echar un vistazo a cómo limitar fácilmente el acceso al archivo wp-login.php por direcciones IP específicas utilizando 3 maneras diferentes, incluyendo cortafuegos 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á añadir algún 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 su sitio web y al que puede acceder mediante FTP o la aplicación Administrador de archivos de su panel de control de alojamiento de WordPress.
Simplemente conéctese a su sitio WordPress utilizando un cliente FTP y edite su archivo .htaccess añadiendo 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 olvide sustituir las XX por sus propias direcciones IP. Puedes encontrar fácilmente tu dirección IP visitando la página de SupportAlly.
Si tiene otros usuarios que también necesitan acceder a su sitio web, puede pedirles que le faciliten sus direcciones IP. También puede añadirlas al archivo .htaccess.
He aquí otro ejemplo del código mencionado.
<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 y acceder / acceder a su sitio web. Los demás usuarios verán el siguiente mensaje de error:
2. Bloqueo de direcciones IP específicas para que no accedan a su sitio web
Este método es totalmente opuesto al primero.
En lugar de limitar el acceso a la página de acceso de WordPress a direcciones IP específicas, podrá bloquear las direcciones IP utilizadas para atacar su sitio web.
Este método es especialmente útil para sitios web de membresía en WordPress, tiendas de comercio electrónico u otros sitios web en los que varios usuarios necesitan acceder / acceder para poder acceder a sus cuentas.
La desventaja de este método es que los hackers pueden cambiar sus direcciones IP y seguir atacando su sitio web.
Afortunadamente, muchos de los intentos comunes de pirateo de WordPress utilizan un conjunto corregido 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 desea bloquear
En primer lugar, debe encontrar las direcciones IP utilizadas para atacar su sitio web.
La forma más sencilla de encontrar las direcciones IP infractoras es consultar los registros del servidor. Simplemente diríjase al panel de control de su cuenta de alojamiento y haga clic en el icono de registros de ‘Acceso sin procesar’.
En la página siguiente, haga clic en el nombre de su dominio para descargar los registros de acceso. Se descargará un archivo con extensión gz.
Deberá extraer el archivo y abrirlo con un editor de texto como Notepad o TextEdit.
Desde aquí encontrará las direcciones IP que están accediendo repetidamente a la página wp-login.php.
Copie y pegue las direcciones IP en otro archivo de texto de su ordenador.
Paso 2. Bloqueo de direcciones IP sospechosas Bloqueo de direcciones IP sospechosas
A continuación, debe acceder al panel de control de su alojamiento WordPress y hacer clic en el icono “Bloqueador de IP”.
En la pantalla siguiente, sólo tiene que copiar y pegar las direcciones IP que desea bloquear y hacer clic en el botón “Añadir”.
Repite el proceso para bloquear cualquier otra dirección IP sospechosa que desees.
Ya está. Ha bloqueado correctamente el acceso de direcciones IP sospechosas a su sitio web.
Más adelante, si necesitas desbloquear una de estas direcciones IP, sólo tienes que hacerlo desde la aplicación de bloqueo de IP.
3. Protección de WordPress acceder / acceso con cortafuegos sitio web
Como administrador de un sitio web, es posible que no desee dedicar demasiado tiempo a gestionar las direcciones IP que pueden acceder a su página de acceso de WordPress.
La forma más fácil de proteger sus páginas de acceso / acceso de WordPress es mediante el uso de Sucuri. Es el mejor cortafuegos de WordPress que acompaña a un completo plugin de seguridad para WordPress.
El cortafuegos para sitios web de Sucuri filtra automáticamente las direcciones IP sospechosas para que no accedan a los archivos importantes del núcleo de WordPress sin que lleguen nunca a su sitio web.
Este método también mejora el rendimiento y la velocidad de su WordPress, ya que bloquea las actividades sospechosas para que no ralenticen su 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 estilos y JavaScript desde un servidor más cercano a sus usuarios.
Puede poner fácilmente en la lista blanca las direcciones IP de los usuarios si no se ha podido acceder a las páginas de acceso 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. Puede que también quieras ver nuestra guía completa de seguridad de WordPress o ver estos consejos adicionales para proteger el área de administrador de WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
I copied the directives to the website, adjusted the IP addresses, and placed them in the .htaccess file. It works perfectly for both IP addresses that are now set in the .htaccess.
Av
in regards to a woocommerce site, is this function useful?
login can be done from my-account page.
WPBeginner Support
If you have multiple users logging in to your site for something like WooCommerce then this would not be something you would use. This would normally be for a site with a limited number of users.
Administrador
Michael Pepper
Thanks for the article, helpful!
WPBeginner Support
Glad our article was helpful
Administrador
Mick
For some reason when I use this the whitelisted ip is blocked too.
any idea why?
WPBeginner Support
You may want to ensure you set the correct IP and if you are using a VPN or something similar that may be the root of the issue
Administrador
Bahar Ali
I used the above code and it somehow apply’s to every page of the site for example my home even shows prohibited.
WPBeginner Support
You may first want to check with your hosting provider to ensure there isn’t a conflicting setup on their end.
Administrador
Unni Krishnan
Good One guys,
As you stated in the last section, I do have dynamic IPs for my mobile connection. Though I have white listed my Broadband IP, getting stuck while accessing on the go.
Do you know if any plugins help to solve this ?
Unni Krishnan
Also, such requests to wp-login.php are getting redirected to the homepage. Is this normal ?
FrancescoElzy
Hmm it seems like your blog ate my first comment (it was super long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to the whole thing. Do you have any helpful hints for newbie blog writers? I’d genuinely appreciate it.
Stéfano Willig
We have made our ftp accessable only by certain IP.
Now I can’t install or update wordpress directly via wordpress…
What can I do?
Jobbatam
Great tips and works for me.
But, Can i redirect wp-login to error 404?
If can, what code i add into code above?
thanks
MargaretMacnamar
It’s very simple to find out any matter on net as compared to textbooks, as I found this post at this website.
EQHRaymond
Thank you for the function. Post aided me a whole lot
Rex Wickham
If you want to add more than one IP you can do this:
1. you can use a partial IP:
Allow from 145.50.39
This will allow IP from 145.50.39.0 to 145.50.39.255
2. you can use a netmask or a CIDR:
Allow from 145.50.39.0/255.255.255.224
or
Allow from 145.50.39.0/27
This will allow IP from 145.50.39.0 to 145.50.39.31.
Julius Musembi
This is a great workaround.
David Swanson
I added the code to my .htaccess but when my users logout they receive Error 403.
When they click logout the link is /wp-login.php?action=logout
Anyway to fix this?
Brijesh
Great Tip! But i got a problem. It locks admin login from others ips, but if a registered user sign out from site, code also restricts that. I mean when user click sign out, it gives forbidden message. How to solve it?
Rafaqat
Thanks for your quick guideline to protect from excessive and illegal log in attempts. Actually there is a free plugin “better wp security” that can manage nearly all security issues regarding,login attempts,wp.config file,.htaccess file and many more. I think one should give it a try.
Kris
To get around the dynamic IP issue you can reference an htpasswd.
Baptiste Legrand
Thanks for this great tip ! But i’m a but confused : should I paste this snippet in my root .htacess file, or into my wordpress/.htaccess file ?
Cheers (and btw, I just LOVE wpbegginer.com, keep up the good work !)
Editorial Staff
Paste it in your wordpress/.htaccess
Administrador
Editorial Staff
With dynamic IPs this can be a pain. You can set Apache Protect on it, but that is a bit more complex. #whitelist line is just to let me know which IP is which.
Administrador
Steve Pringle
You should mention that plugins (like JetPack) may have issues when you limit access.