Para qualquer segmento de negócio, garantir a segurança do seu site é um ponto muito importante. No WordPress você dispõe de inúmeras opções para deixar seu site mais seguro e não perder seus conteúdos. Aqui no CanalWP nós já indicamos um plugin, mas hoje vamos te ensinar a fortalecer as “muralhas” do seu blog por meio do arquivo .htaccess. Com WordPress htaccess, você pode bloquear o acesso a pastas e arquivos específicos, restringir o login por IP e até especificar injeções SQL que os hackers costumam utilizar.
Se você estudar e buscar sobre segurança no WordPress, vai encontrar inúmeros plugins e medidas de segurança via código. Os plugins são muito úteis, muitas vezes mais fáceis de instalar e configurar. Todavia, são pacotes de código que você instala em seu site e podem influenciar em seu desempenho. É muito importante realizar medidas de segurança por meio de códigos e arquivos. Dessa forma, seu site vai ficar vacinado de todas as formas possíveis.
WordPress htaccess
Hoje vamos implementar medidas de segurança utilizando o arquivo .htaccess. Esse arquivo costuma estar presente na raiz do seu servidor, geralmente em modo oculto. Caso você constate que o mesmo não existe no servidor do seu site, você pode criar um arquivo .htaccess e fazer as implementações de segurança que vamos te ensinar aqui. Você pode editar e criar o arquivo pelo FTP ou por seu cPanel.
Bloqueie qualquer requisição direta ao wp-config.php
O código abaixo bloqueia qualquer tentativa de acesso direto ao arquivo wp-config.php. Nesse arquivo são armazenadas todas as configurações da sua instalação WordPress e de acesso ao seu Banco de Dados. Então, é muito importante garantir que ninguém além de você tenha acesso a ele. Copie e cole o código:
<files wp-config.php> order allow,deny deny from all </files>
Para garantir que o WordPress não vai sobrepor as regras que você está passando aqui, é necessário inclui-las antes da marcação #Begin WordPress como no exemplo acima.
Injeção de SQL
Pessoas mal intencionadas, como hackers, utilizam algumas injeções de SQL já conhecidas. Sabendo disso, podemos especificar o bloqueio de algumas por meio do .htaccess. Veja como fazer com o código abaixo:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC] RewriteRule ^(.*)$ - [F,L] RewriteCond %{QUERY_STRING} ../ [NC,OR] RewriteCond %{QUERY_STRING} boot.ini [NC,OR] RewriteCond %{QUERY_STRING} tag= [NC,OR] RewriteCond %{QUERY_STRING} ftp: [NC,OR] RewriteCond %{QUERY_STRING} http: [NC,OR] RewriteCond %{QUERY_STRING} https: [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR] RewriteCond %{QUERY_STRING} base64_encode.*(.*) [NC,OR] RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|ê|"|;|?|*|=$).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(&#x22;|&#x27;|&#x3C;|&#x3E;|&#x5C;|&#x7B;|&#x7C;).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^(.*)$ - [F,L] </IfModule>
Restrinja o Login por IP
Se você utiliza IP real, pode restringir o acesso a sua página de login e efetivamente ao processo de login. Especificando no arquivo .htaccess o seu IP, qualquer tentativa de login ou acesso a página wp-login.php por um IP diferente, será bloqueado. Basta colar o trecho de código abaixo:
order deny,allow # Substitua o IP 117.168.1.10 com o seu IP # allow from 117.168.1.10 deny from all
Bloqueie IP’s específicos
Se você tem percebido que os ataques ou tentativas de ataque ao seu site são provenientes de um mesmo IP, pode bloqueá-los manualmente pelo .htaccess. Copie e cole no arquivo .htaccess do seu servidor o seguinte código, especificando um IP para bloqueio por linha:
## Malicious IP Blocking ## order allow,deny deny from 1.1.1.1 deny from 2.2.2.2 allow from all
Diversos outros métodos de segurança podem ser implementados utilizando o .htaccess. Aqui nós listamos apenas algumas das mais importantes, mas segurança nunca é demais. Mantenha seus plugins atualizados e especifique as permissões corretas para pastas e arquivos. Com WordPress htaccess você mantém seu site completamente blindado de possíveis tentativas de ataque.
Se você gostou desse artigo considere compartilhar nas redes sociais. Siga-nos nas redes sociais para acompanhar mais artigos como esse. Se de alguma forma este artigo lhe foi útil deixa seu comentário abaixo para podermos saber a sua opinião.
Ferramentas WordPress Veja Mais Ferramentas
WordFence
Thirsty Affiliates
Regenerate Thumbnail
Oi, Sandy, eu já tenho o seguinte no meu .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Devo inserir tudo que você incluiu para evitar Injeção de SQL ou devo remover as duas primeiras linhas depois do “<IfModule mod_rewrite.c>”, a saber:
RewriteEngine On
RewriteBase /
Olá Lucas,
Recomendo que você utiliza um plugin de segurança como o WordFence.
Ele conta com várias outras formas de proteção avançadas que você não precisa alterar nada manualmente.
Inclusive usamos ele aqui no Canal WP para bloquear centenas de ataques diários.
Segue essa dica que você não vai ter problema com esse tipo de ataque.
Abraço!
Não rolou gente
Todas deixaram o site com erro 403 :(
Ola Malta tudo bem? Eu sofri dois ataques de Hackers nos ultimos tempos e estar ser complicado mesmo depois de por alguns plugins. Neste exacto momento estou a tentar executar esses passos e se tiver uma versão actualizada agradecia.
Obrigado
coloquei os código no htaccess e tirou o site do ar, acho que to fazendo errado, teria um print de algum pra dar exemplo?
Olá Giovani,
Dependendo do seu servidor de hospedagem e configurações que você já tenha no htaccess é possível que alguns códigos não funcionem.
Recomendo que adicione 1 a 1 e verifique qual deles não está sendo aceito.
Abraço.