{"id":2176,"date":"2013-11-14T16:05:02","date_gmt":"2013-11-14T19:05:02","guid":{"rendered":"http:\/\/brasilwebhost.blog.br\/?p=2176"},"modified":"2013-11-11T14:07:03","modified_gmt":"2013-11-11T17:07:03","slug":"protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots","status":"publish","type":"post","link":"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/","title":{"rendered":"Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots)"},"content":{"rendered":"<p>Quem tem algum site em\u00a0<a href=\"http:\/\/www.wordpress.org\/\">WordPress<\/a>\u00a0e v\u00ea com frequ\u00eancia os logs de acesso, vai perceber que h\u00e1 sempre um monte de IPs tentando se logar como administrador do site. Essas v\u00e1rias tentativas por v\u00e1rios IPs geralmente s\u00e3o na verdade bots\/zumbis que ficam vasculhando a Internet atr\u00e1s de sites que tenham alguma falha e\/ou senhas fracas de admin. Imagine muitas m\u00e1quinas fazendo v\u00e1rias requisi\u00e7\u00f5es no seu servidor\u2026 Pra que isso n\u00e9? Carga e tr\u00e1fego totalmente desnecess\u00e1rios.<!--more--><\/p>\n<p><a href=\"http:\/\/brasilwebhost.blog.br\/wp-content\/uploads\/2013\/11\/wordpress2-login-screen.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-2177\" alt=\"wordpress2-login-screen\" src=\"http:\/\/brasilwebhost.blog.br\/wp-content\/uploads\/2013\/11\/wordpress2-login-screen.gif\" width=\"397\" height=\"430\" \/><\/a>Existem v\u00e1rias t\u00e9cnicas para se precaver desses wordpress bots. Vamos explorar algumas delas\u2026<\/p>\n<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Conte&uacute;dos que iremos abordar neste post<\/p><ul class=\"toc_list\"><li><a href=\"#Mude_o_nome_do_usuario_do_administrador\"><span class=\"toc_number toc_depth_1\">1<\/span> Mude o nome do usu\u00e1rio do administrador<\/a><\/li><li><a href=\"#Protegendo_atraves_de_Cookies\"><span class=\"toc_number toc_depth_1\">2<\/span> Protegendo atrav\u00e9s de Cookies<\/a><ul><li><a href=\"#Autorizando_no_Apache\"><span class=\"toc_number toc_depth_2\">2.1<\/span> Autorizando no Apache<\/a><\/li><li><a href=\"#Autorizando_no_Varnish\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Autorizando no Varnish<\/a><\/li><li><a href=\"#Autorizando_no_Nginx\"><span class=\"toc_number toc_depth_2\">2.3<\/span> Autorizando no Nginx<\/a><\/li><\/ul><\/li><li><a href=\"#Outros_metodos\"><span class=\"toc_number toc_depth_1\">3<\/span> Outros m\u00e9todos<\/a><\/li><\/ul><\/div>\n<h2 id=\"Mude-o-nome-do-usurio-do-administrador\"><span id=\"Mude_o_nome_do_usuario_do_administrador\">Mude o nome do usu\u00e1rio do administrador<\/span><\/h2>\n<p>A primeira dica \u00e9 mudar o nome do usu\u00e1rio de\u00a0<em>admin<\/em>\u00a0para qualquer outra coisa. Essa dica est\u00e1 bem expl\u00edcita em diversas p\u00e1ginas, inclusive recomendada pelo criador do WordPress, o Matt. Existem duas maneiras de se fazer isso: mudando o nome diretamente no banco de dados ou criando um novo usu\u00e1rio admin e removendo o antigo\/padr\u00e3o.<\/p>\n<p>Primeiro vamos alterar diretamente no banco de dados, que na minha opini\u00e3o \u00e9 muito mais f\u00e1cil e r\u00e1pido. Conecte-se ao servidor e banco MySQL do seu WordPress e execute o comando:<\/p>\n<div>\n<div id=\"highlighter_202635\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>01<\/div>\n<div>02<\/div>\n<div>03<\/div>\n<div>04<\/div>\n<div>05<\/div>\n<div>06<\/div>\n<div>07<\/div>\n<div>08<\/div>\n<div>09<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<\/td>\n<td>\n<div>\n<div><code>mysql&gt; <\/code><code>SELECT<\/code> <code>* <\/code><code>FROM<\/code> <code>wp_users <\/code><code>WHERE<\/code> <code>user_login=<\/code><code>'admin'<\/code> <code>\\G<\/code><\/div>\n<div><code>*************************** 1. row ***************************<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>ID: 1<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_login: admin<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_pass: $P$HDGSYGfiyrgifbISFUGIWGRw5bhrfk<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_nicename: admin<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_email: usuario@dominio.com.br<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_url: http:\/\/www.meusiteradical.com.br<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>user_registered: 2006-03-29 19:29:34<\/code><\/div>\n<div><code>user_activation_key:<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>user_status: 0<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>display_name: Administrador<\/code><\/div>\n<div><code>1 row <\/code><code>in<\/code> <code>set<\/code> <code>(0.00 sec)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Basta ent\u00e3o alterar o campo\u00a0<em>user_login<\/em>\u00a0para um outro nome qualquer. Exemplo:<\/p>\n<div>\n<div id=\"highlighter_215362\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<\/td>\n<td>\n<div>\n<div><code>mysql&gt; <\/code><code>UPDATE<\/code> <code>wp_users <\/code><code>SET<\/code> <code>user_login=<\/code><code>'raquel'<\/code> <code>WHERE<\/code> <code>user_login=<\/code><code>'admin'<\/code><code>;<\/code><\/div>\n<div><code>Query OK, 1 row affected (0.00 sec)<\/code><\/div>\n<div><code>Rows<\/code> <code>matched: 1\u00a0 Changed: 1\u00a0 Warnings: 0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Pronto! Agora o nome do usu\u00e1rio do administrador principal \u00e9\u00a0<em>raquel<\/em>.<\/p>\n<p>O outro jeito, que \u00e9 mais f\u00e1cil para quem n\u00e3o tem acesso ao banco de dados e pode ser feito por usu\u00e1rios mais leigos \u00e9 criar um novo usu\u00e1rio admin e remover o outro.<\/p>\n<p>Para fazer isto:<\/p>\n<ul>\n<li>Como usu\u00e1rio admin, na administra\u00e7\u00e3o, escolha a op\u00e7\u00e3o de adicionar um novo usu\u00e1rio (<em>Usu\u00e1rios \u2013 Adicionar Novo<\/em>);<\/li>\n<li>Crie um novo usu\u00e1rio normalmente com suas informa\u00e7\u00f5es e senha. Mas n\u00e3o se esque\u00e7a de coloc\u00e1-lo como\u00a0<strong>Administrador<\/strong>;<\/li>\n<li>Com o novo usu\u00e1rio criado, deslogue-se e logue-se com o usu\u00e1rio novo (que \u00e9 administrador).<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.devin.com.br\/wp-content\/uploads\/2013\/10\/wordpress-novo-usuario.png\"><img loading=\"lazy\" title=\"Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots)\" alt=\"wordpress novo usuario 300x201 Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots)\" src=\"http:\/\/www.devin.com.br\/wp-content\/uploads\/2013\/10\/wordpress-novo-usuario-300x201.png\" width=\"300\" height=\"201\" \/><\/a><\/p>\n<p>WordPress \u2013 Novo usu\u00e1rio<\/p>\n<ul>\n<li>V\u00e1 na lista de usu\u00e1rios (<em>Usu\u00e1rios \u2013 Todos Usu\u00e1rios<\/em>) e procure pelo usu\u00e1rio admin.<\/li>\n<li>Aperte na op\u00e7\u00e3o\u00a0<strong>Excluir<\/strong>\u00a0do usu\u00e1rio admin;<\/li>\n<li>Mova todas as postagens e coment\u00e1rios do usu\u00e1rio admin para o novo usu\u00e1rio criado.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.devin.com.br\/wp-content\/uploads\/2013\/10\/wordpress-remove-admin.png\"><img loading=\"lazy\" title=\"Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots)\" alt=\"wordpress remove admin 300x178 Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots)\" src=\"http:\/\/www.devin.com.br\/wp-content\/uploads\/2013\/10\/wordpress-remove-admin-300x178.png\" width=\"300\" height=\"178\" \/><\/a><\/p>\n<p>WordPress \u2013 Remover admin<\/p>\n<p>Pronto! Simples n\u00e9?<\/p>\n<h2 id=\"Protegendo-atravs-de-Cookies\"><span id=\"Protegendo_atraves_de_Cookies\">Protegendo atrav\u00e9s de Cookies<\/span><\/h2>\n<p>O m\u00e9todo de proteger via cookies \u00e9 gen\u00e9rico ao ponto de poder ser usado n\u00e3o apenas no WordPress, mas com qualquer outro sistema. Usando esse m\u00e9todo, voc\u00ea fornece ao usu\u00e1rio que quer acessar o login uma URL de entrada especial. Essa URL de entrada na verdade vai configurar um cookie espec\u00edfico no navegador do cliente, e s\u00f3 com esse cookie ele pode acessar uma determinada p\u00e1gina \u2013 que no nosso caso \u00e9 o wp-login.php.<\/p>\n<p>A grande\u00a0<strong>vantagem<\/strong>\u00a0deste m\u00e9todo \u00e9 que os bots n\u00e3o sabem nem da p\u00e1gina especial de entrada e nem do valor do Cookie, ent\u00e3o eles v\u00e3o de cara receber um status 403 \u201cProibido\u201d ao tentar fazer qualquer coisa na URL de login do WordPress. Isso quer dizer que o WordPress n\u00e3o vai ser nem chamado e nenhuma carga grande de CPU\/mem\u00f3ria ser\u00e1 gasta para todos esses logins vindo de tantos IPs diferentes.<\/p>\n<p>A\u00a0<strong>desvantagem<\/strong>\u00a0\u00e9 que essa \u00e9 uma forma de seguran\u00e7a atrav\u00e9s de obscuridade, ou seja, voc\u00ea s\u00f3 est\u00e1 escondendo as informa\u00e7\u00f5es, n\u00e3o est\u00e1 realmente impedindo de algu\u00e9m fazer a for\u00e7a bruta. Como se tratam de bots, provavelmente eles n\u00e3o ter\u00e3o e nem conseguir\u00e3o essas informa\u00e7\u00f5es, por isso esse m\u00e9todo \u00e9 bastante v\u00e1lido.<\/p>\n<p>H\u00e1 diversas formas de fazer a configura\u00e7\u00e3o de prote\u00e7\u00e3o por Cookies, vamos ver algumas delas, mas antes precisamos criar o PHP que vai gerar o Cookie para o usu\u00e1rio. Antes de mais nada, vamos gerar uma chave, que ser\u00e1 o valor do nosso Cookie. Vou usar o comando\u00a0<strong>uuidgen<\/strong>\u00a0para gerar um valor aleat\u00f3rio como exemplo:<\/p>\n<div>\n<div id=\"highlighter_749027\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>$ uuidgen<\/code><\/div>\n<div><code>142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Pronto. Agora o nosso c\u00f3digo vai ser\u00a0<strong>142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1<\/strong>. Agora na raiz do seu site WordPress, crie um arquivo com um nome qualquer. Sim, esse nome tamb\u00e9m tem que ser \u00fanico, pois \u00e9 a URL que voc\u00ea vai passar para os usu\u00e1rios acessarem a administra\u00e7\u00e3o do WordPress. Vamos usar o seguinte exemplo:<\/p>\n<ul>\n<li>http:\/\/www.site.com\/entrar-no-site.php<\/li>\n<\/ul>\n<p>Ent\u00e3o crie o arquivo\u00a0<strong>entrar-no-site.php<\/strong>\u00a0na raiz do seu WordPress com o seguinte conte\u00fado:<\/p>\n<div>\n<div id=\"highlighter_837988\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<\/td>\n<td>\n<div>\n<div><code>&lt;?php<\/code><\/div>\n<div><code>setcookie(<\/code><code>'site-allow-login'<\/code><code>,<\/code><code>'142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1'<\/code><code>,time()+3600);<\/code><\/div>\n<div><code>header(<\/code><code>\"Location: wp-login.php\"<\/code><code>);<\/code><\/div>\n<div><code>?&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Esse PHP cria um Cookie chamado\u00a0<strong>site-allow-login<\/strong>\u00a0com o nosso c\u00f3digo como valor e redireciona para o\u00a0<em>wp-login.php<\/em>. Bem simples. O Cookie expira em 1 hora no navegador de quem acessou a p\u00e1gina. Toda vez que voc\u00ea for usar a administra\u00e7\u00e3o, use a URL escolhida ao inv\u00e9s do\u00a0<em>wp-admin\/<\/em>\u00a0ou\u00a0<em>wp-login.php<\/em>.<\/p>\n<p>Com o cookie funcionando, agora \u00e9 hora de configurar o seu servidor favorito para autorizar (ou n\u00e3o) o acesso.<\/p>\n<h3 id=\"Autorizando-no-Apache\"><span id=\"Autorizando_no_Apache\">Autorizando no Apache<\/span><\/h3>\n<p>O Apache, como um dos servidores mais utilizados por a\u00ed para hospedar WordPress, \u00e9 bem f\u00e1cil de configurar.<\/p>\n<p>Edite o arquivo\u00a0<em>.htaccess<\/em>\u00a0na raiz de seu WordPress e adicione o seguinte conte\u00fado (pode ser bem no come\u00e7o do arquivo):<\/p>\n<div>\n<div id=\"highlighter_279839\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<\/td>\n<td>\n<div>\n<div><code>&lt;IfModule mod_rewrite.c&gt;<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>RewriteEngine On<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>RewriteBase \/<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>RewriteCond %{REQUEST_URI} wp-login.php<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>RewriteCond %{HTTP_COOKIE} !site-allow-login=142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>RewriteRule . - [F]<\/code><\/div>\n<div><code>&lt;\/IfModule&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Pronto! Agora o wp-login.php s\u00f3 poder\u00e1 ser acessado se o usu\u00e1rio enviar o cookie\u00a0<em>site-allow-login<\/em>\u00a0com o nosso c\u00f3digo. Neste trecho anterior, usamos o\u00a0<em>mod_rewrite<\/em>\u00a0do Apache para verificar duas condi\u00e7\u00f5es: se a URL que o usu\u00e1rio pediu (REQUEST_URI) foi o wp-login.php e se ele n\u00e3o existe nenhum cookie\u00a0<em>site-allow-login<\/em>\u00a0com o c\u00f3digo como valor. Caso essas duas condi\u00e7\u00f5es forem verdadeiras, ele nega todo o acesso atrav\u00e9s da flag\u00a0<strong>[F]<\/strong>\u00a0da linha RewriteRule.<\/p>\n<p>Nota: Usamos o arquivo\u00a0<em>.htaccess<\/em>\u00a0para fazer essa configura\u00e7\u00e3o, mas voc\u00ea pode colocar essas regras de Rewrite em outros lugares do Apache tamb\u00e9m (Directory, LocationMatch, VirtualHost, etc). Se quiser saber de mais informa\u00e7\u00f5es sobre o arquivo htaccess no Apache, leia tamb\u00e9m o\u00a0<a href=\"http:\/\/www.devin.com.br\/htaccess\/\">Tutorial Apache: htaccess<\/a>.<\/p>\n<p>Esse tipo de verifica\u00e7\u00e3o no Apache fica muito mais r\u00e1pido que no PHP. E assim voc\u00ea n\u00e3o precisa mudar c\u00f3digos ou adicionar plugins no WordPress. Lembrando que basta voc\u00ea mudar a URL\u00a0<em>wp-login.php<\/em>\u00a0e essa autoriza\u00e7\u00e3o pode funcionar em qualquer tipo de sistema.<\/p>\n<h3 id=\"Autorizando-no-Varnish\"><span id=\"Autorizando_no_Varnish\">Autorizando no Varnish<\/span><\/h3>\n<p>No\u00a0<a href=\"http:\/\/www.varnish-cache.org\/\">Varnish<\/a>, basta colocar as seguintes regras dentro do\u00a0<strong>vcl_recv<\/strong>:<\/p>\n<div>\n<div id=\"highlighter_846353\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<\/td>\n<td>\n<div>\n<div><code># only allow logins with a special cookie<\/code><\/div>\n<div><code>if (req.url ~ \"wp-login\\.php\" &amp;&amp; req.http.cookie !~ \"site-allow-login=142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1\") {<\/code><\/div>\n<div><code>\u00a0\u00a0<\/code><code>error 403 \"Forbidden.\";<\/code><\/div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Que vai fazer a mesma verifica\u00e7\u00e3o: caso a URL (req.url) for wp-login.php e o usu\u00e1rio\u00a0<em>n\u00e3o<\/em>\u00a0tiver o cookie (req.http.cookie) site-allow-login com nosso c\u00f3digo como valor, ele retorna um 403 Proibido.<\/p>\n<h3 id=\"Autorizando-no-Nginx\"><span id=\"Autorizando_no_Nginx\">Autorizando no Nginx<\/span><\/h3>\n<p>No nginx, dentro do bloco do\u00a0<strong>server<\/strong>\u00a0que est\u00e1 o seu WordPress, coloque o seguinte c\u00f3digo:<\/p>\n<div>\n<div id=\"highlighter_293034\">\n<div><a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<\/td>\n<td>\n<div>\n<div><code>location \/wp-login.php {<\/code><\/div>\n<div><code>\u00a0\u00a0<\/code><code>if ($http_cookie !~ \"site-allow-login=142c1a27-ea75-4d26-bbc3-39fcb1d0c7f1\") {<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>return 403 \"Forbidden\";<\/code><\/div>\n<div><code>\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Assim quando o usu\u00e1rio tentar acessar o \/wp-login.php, o nginx nega qualquer acesso que n\u00e3o tenha o nosso cookie (<em>$http_cookie<\/em>).<\/p>\n<h2 id=\"Outros-mtodos\"><span id=\"Outros_metodos\">Outros m\u00e9todos<\/span><\/h2>\n<p>Claro que n\u00e3o existem apenas estes dois m\u00e9todos para melhorar a seguran\u00e7a contra os bots\u2026 Voc\u00ea tamb\u00e9m pode:<\/p>\n<ul>\n<li>Usar uma autentica\u00e7\u00e3o via usu\u00e1rio\/senha ou endere\u00e7os IPs atrav\u00e9s do .htaccess<\/li>\n<li>Usar plugins de seguran\u00e7a do WordPress:\u00a0<a href=\"http:\/\/wordpress.org\/plugins\/better-wp-security\/\">Better WP Security<\/a>,\u00a0<a href=\"http:\/\/wordpress.org\/plugins\/login-security-solution\/\">Login Security Solution<\/a>,\u00a0<a href=\"http:\/\/wordpress.org\/plugins\/limit-login-attempts\/\">Limit Login Attempts<\/a>.<\/li>\n<\/ul>\n<p>Via: <a href=\"http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#sthash.7GTcdovx.dpuf\">http:\/\/www.devin.com.br\/wordpress-bots-seguranca\/#sthash.7GTcdovx.dpuf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quem tem algum site em\u00a0WordPress\u00a0e v\u00ea com frequ\u00eancia os logs de acesso, vai perceber que h\u00e1 sempre um monte de IPs tentando se logar como administrador do site. Essas v\u00e1rias tentativas por v\u00e1rios IPs geralmente s\u00e3o na verdade bots\/zumbis que ficam vasculhando a Internet atr\u00e1s de sites que tenham alguma&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[32],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots) | Blog - Brasil Web Host<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Protegendo o login do WordPress contra for\u00e7a bruta (wordpress bots) | Blog - Brasil Web Host\" \/>\n<meta property=\"og:description\" content=\"Quem tem algum site em\u00a0WordPress\u00a0e v\u00ea com frequ\u00eancia os logs de acesso, vai perceber que h\u00e1 sempre um monte de IPs tentando se logar como administrador do site. Essas v\u00e1rias tentativas por v\u00e1rios IPs geralmente s\u00e3o na verdade bots\/zumbis que ficam vasculhando a Internet atr\u00e1s de sites que tenham alguma&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Brasil Web Host\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/brasilwebhost\/\" \/>\n<meta property=\"article:published_time\" content=\"2013-11-14T19:05:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-11-11T17:07:03+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/brasilwebhost.blog.br\/wp-content\/uploads\/2013\/11\/wordpress2-login-screen.gif\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@brasilwebhost\" \/>\n<meta name=\"twitter:site\" content=\"@brasilwebhost\" \/>\n<meta name=\"twitter:label1\" value=\"Written by\">\n\t<meta name=\"twitter:data1\" value=\"Caio Zanzarini\">\n\t<meta name=\"twitter:label2\" value=\"Est. reading time\">\n\t<meta name=\"twitter:data2\" value=\"6 minutos\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#organization\",\"name\":\"Brasil Web Host\",\"url\":\"https:\/\/www.brasilwebhost.com.br\/blog\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/brasilwebhost\/\",\"https:\/\/www.instagram.com\/brasilwebhost\/\",\"https:\/\/www.linkedin.com\/company\/35638258\/admin\/\",\"https:\/\/www.youtube.com\/user\/brasilwebhost\",\"https:\/\/br.pinterest.com\/empresabwh\/\",\"https:\/\/twitter.com\/brasilwebhost\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#logo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/www.brasilwebhost.com.br\/blog\/wp-content\/uploads\/2019\/09\/logo.png\",\"width\":330,\"height\":54,\"caption\":\"Brasil Web Host\"},\"image\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.brasilwebhost.com.br\/blog\/\",\"name\":\"Blog - Brasil Web Host\",\"description\":\"Conhe\\u00e7a as vantagens de ser nosso cliente e usufruir do melhor atendimento.\",\"publisher\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.brasilwebhost.com.br\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/brasilwebhost.blog.br\/wp-content\/uploads\/2013\/11\/wordpress2-login-screen.gif\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#webpage\",\"url\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/\",\"name\":\"Protegendo o login do WordPress contra for\\u00e7a bruta (wordpress bots) | Blog - Brasil Web Host\",\"isPartOf\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#primaryimage\"},\"datePublished\":\"2013-11-14T19:05:02+00:00\",\"dateModified\":\"2013-11-11T17:07:03+00:00\",\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#\/schema\/person\/2fcc3074bb781735dca2c69b3ba73a71\"},\"headline\":\"Protegendo o login do WordPress contra for\\u00e7a bruta (wordpress bots)\",\"datePublished\":\"2013-11-14T19:05:02+00:00\",\"dateModified\":\"2013-11-11T17:07:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/protegendo-o-login-do-wordpress-contra-forca-bruta-wordpress-bots\/#primaryimage\"},\"keywords\":\"wordpress\",\"articleSection\":\"Dicas\",\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#\/schema\/person\/2fcc3074bb781735dca2c69b3ba73a71\",\"name\":\"Caio Zanzarini\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.brasilwebhost.com.br\/blog\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7df2c531eec13be1ed30a226f612eaa0?s=96&d=mm&r=g\",\"caption\":\"Caio Zanzarini\"},\"description\":\"Gerente administrativo e s\\u00f3cio-propriet\\u00e1rio da Brasil Web Host.\",\"sameAs\":[\"http:\/\/www.brasilwebhost.com.br\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/2176"}],"collection":[{"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2176"}],"version-history":[{"count":1,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/2176\/revisions"}],"predecessor-version":[{"id":2178,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/2176\/revisions\/2178"}],"wp:attachment":[{"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.brasilwebhost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}