Deseja limitar o acesso por endereço IP ao seu arquivo wp-login.php no WordPress?
A página de login do WordPress é frequentemente atacada por ataques DDoS e hackers para obter acesso ao seu site. Limitar o acesso a endereços IP específicos pode bloquear efetivamente essas tentativas.
Neste artigo, mostraremos como limitar facilmente o acesso por IP ao seu arquivo wp-login.php no WordPress.
Por que limitar o acesso ao wp-login.php por endereço IP?
A página de login de um site WordPress (normalmente, wp-login.php) é onde os usuários vão para fazer login no seu site.
Como proprietário de um site, ele lhe dá acesso à área de administração do WordPress, onde você pode fazer a manutenção do site, escrever conteúdo e gerenciar seu site.
No entanto, sabe-se que os ataques de força bruta comuns na Internet têm como alvo a página wp-login.php para obter acesso a sites. Mesmo que não consigam entrar, eles ainda poderão tornar seu site mais lento ou até mesmo travá-lo.
Uma maneira de lidar com essa situação é bloquear os endereços IP de onde os ataques estão vindo (falaremos sobre isso mais adiante no artigo).
Um endereço IP é como um número de telefone que identifica um computador específico na Internet. Os hackers podem usar um software para alterar seus endereços IP.
No entanto, ataques mais sofisticados usam um conjunto maior de endereços IP e talvez não seja possível bloquear todos eles.
Nesse caso, você pode limitar o acesso a endereços IP específicos usados por você e por outros usuários no seu site.
Dito isso, vamos dar uma olhada em como limitar facilmente o acesso ao arquivo wp-login.php por endereços IP específicos usando três maneiras diferentes, incluindo o firewall de segurança na nuvem.
1. Limitar o acesso à página de login do WordPress por endereço IP
Para esse método, você precisará adicionar algum código ao arquivo .htaccess.
O arquivo .htaccess é um arquivo especial de configuração do servidor que fica na pasta raiz do seu site e pode ser acessado por meio de FTP ou do aplicativo Gerenciador de arquivos no painel de controle de hospedagem do WordPress.
Basta conectar-se ao seu site WordPress usando um cliente FTP e editar o arquivo .htaccess adicionando o seguinte código na 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>
Não se esqueça de substituir os XXs por seus próprios endereços IP. Você pode encontrar facilmente seu endereço IP visitando a página do SupportAlly.
Se houver outros usuários que também precisem fazer login no seu site, peça a eles que forneçam seus endereços IP. Em seguida, você também pode adicioná-los ao arquivo .htaccess.
Aqui está outro exemplo do código mencionado acima.
<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>
Agora, os usuários com esses endereços IP poderão visualizar o arquivo wp-login.php e fazer login no seu site. Outros usuários verão a seguinte mensagem de erro:
2. Bloqueio do acesso de endereços IP específicos ao seu site
Esse método é totalmente o oposto do primeiro método.
Em vez de limitar o acesso à página de login do WordPress a endereços IP específicos, você poderá bloquear os endereços IP usados para atacar seu site.
Esse método é particularmente útil para sites de associação do WordPress, lojas de comércio eletrônico ou outros sites em que vários usuários precisam fazer login para acessar suas contas.
A desvantagem desse método é que os hackers podem alterar seus endereços IP e continuar atacando seu site.
Felizmente, muitas das tentativas comuns de invasão do WordPress usam um conjunto fixo de endereços IP, o que torna esse método eficaz na maioria dos casos.
Etapa 1: Localizar os endereços IP ofensivos que você deseja bloquear
Primeiro, você precisa encontrar os endereços IP usados para atacar seu site.
A maneira mais fácil de encontrar os endereços IP ofensivos é examinar os registros do servidor. Basta ir até o painel de controle da sua conta de hospedagem e clicar no ícone de registros “Raw Access”.
Na próxima página, clique no nome do seu domínio para fazer download dos registros de acesso. Isso fará o download de um arquivo com extensão gz.
Você precisará extrair o arquivo e abri-lo com um editor de texto como o Notepad ou o TextEdit.
Aqui você encontrará os endereços IP que estão acessando repetidamente a página wp-login.php.
Copie e cole os endereços IP em um arquivo de texto separado em seu computador.
Etapa 2. Bloqueio de endereços IP suspeitos
Em seguida, é necessário fazer login no painel de controle da hospedagem do WordPress e clicar no ícone “IP Blocker”.
Na tela seguinte, basta copiar e colar os endereços IP que deseja bloquear e clicar no botão “Add” (Adicionar).
Repita o processo para bloquear quaisquer outros endereços IP suspeitos que você desejar.
Isso é tudo! Você conseguiu bloquear completamente o acesso de endereços IP suspeitos ao seu site.
Posteriormente, se você precisar desbloquear um desses endereços IP, basta fazer isso no aplicativo bloqueador de IP.
3. Proteção do login do WordPress com o firewall do site
Como administrador de um site, talvez você não queira gastar muito tempo gerenciando endereços IP que podem acessar sua página de login do WordPress.
A maneira mais fácil de proteger suas páginas de login do WordPress é usar o Sucuri. Ele é o melhor firewall para WordPress que acompanha um plugin de segurança abrangente para WordPress.
O firewall de site da Sucuri filtra automaticamente endereços IP suspeitos de acessar arquivos importantes do núcleo do WordPress sem que eles cheguem ao seu site.
Esse método também melhora o desempenho e a velocidade do WordPress, pois impede que atividades suspeitas reduzam a velocidade do servidor.
Além disso, a Sucuri também vem com uma rede CDN integrada. Ela serviria automaticamente arquivos estáticos como imagens, folhas de estilo e JavaScript de um servidor mais próximo dos seus usuários.
Você pode facilmente colocar na lista branca os endereços IP dos usuários se eles não conseguirem acessar as páginas de login do WordPress.
Alternativas: MalCare ou Cloudflare Free CDN
Esperamos que este artigo tenha ajudado você a aprender como limitar o acesso por endereço IP ao seu arquivo wp-login.php. Talvez você também queira consultar nosso guia completo de segurança do WordPress ou ver estas dicas adicionais para proteger a área de administração do WordPress.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no 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.