07 comandos de segurança para o WordPress via .htaccess

No Comments

Como em qualquer segmento de negócio, garantir a segurança do seu site é um ponto importante. Na plataforma WordPress você dispõe de inúmeras opções para tornar seu site mais seguro. Essa maior camada de segurança normalmente é possível com a ativação de plugins específicos, mas hoje vamos te ensinar a fortalecer as “barreiras” do seu blog por meio do arquivo .htaccess. Com WordPress htaccess, você pode impedir o acesso a pastas e arquivos específicos, restringir o login por IP e até especificar injeções SQL que costumam utilizar em acessos mal intencionados.

Ao pesquisar sobre segurança no WordPress, você encontrará inúmeros plugins e medidas de segurança via código. Os plugins são uteis, muitas vezes mais fáceis de instalar e configurar. Entretanto, são pacotes de códigos que você instala em seu site e podem influenciar em seu desempenho.

WordPress htaccess

Hoje traremos algumas dicas para usar no arquivo .htaccess do seu site. Esse arquivo normalmente está localizado na raiz do seu WordPress. Pode acontecer de não existir, bastando criar o arquivo com esse nome em um editor de texto comum e enviá-lo ao servidor.

1 – Protegendo o wp-config.php

Um dos arquivos mais importantes em todo o sistema do WordPress é o wp-config.php. Nele estão dados como nome, usuário, senha e servidor para acesso ao banco de dados, informações para o funcionamento do site e que deve ficar bem longe de qualquer pessoa mal intencionada. O seguinte código adicionado ao .htaccess ajuda a proteger o wp-config.php.

<files wp-config.php>
order allow,deny
deny from all
</files>

2 – Protegendo o wp-content

Quando um site é atacado por um invasor, o diretório wp-content é um dos primeiros alvos. Nele estão os plugins e temas e mídias enviadas, ou seja, o funcionamento do site depende muito do conteúdo deste local. Podemos proteger o diretório wp-content usando o .htaccess com o seguinte trecho:

order deny,allow
deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>

3 – Injeção de SQL

Pessoas mal intencionadas 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} ^.*("|'|<|>|\|{||).* [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>

4 – Protegendo o próprio .htaccess

Proteger o próprio arquivo .htaccess é muito importante. Abaixo temos um trecho de código que pode ser adicionado para garantir sua integridade.

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

5 – Desabilitando execução PHP em pastas específicas

Os criminosos têm costume de fazer o upload de scripts backdoor nas pastas de uploads WordPress. Como padrão esta pasta é usada somente para o upload de arquivos de mídia. Sendo assim não deveria conter nenhum arquivo PHP. Você pode facilmente desabilitar a execução PHP criando um novo arquivo .htaccess no /wp-content/uploads/ com estas regras:

<Files *.php>
deny from all
</Files>

6 – Limitando acesso à área do administrador no WordPress

O código abaixo mostra como permitir acesso à área do administrador WordPress somente através de um IP específico.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xxx
allow from xx.xx.xx.xxx
</LIMIT>

Note que você precisa alterar XX.XX.XX.XXX pelo seu endereço de IP

7 – Não listar pastas e arquivos

Options -Indexes

Faça uma análise do seu site

Oferecemos serviços profissionais de SEO que ajudam a aumentar a sua pontuação de sites de busca orgânica drasticamente a fim de concorrer para a mais alta classificação, mesmo quando se trata de palavras-chave altamente competitivos.

Qual é a sua necessidade? Podemos criar o site da sua empresa, incluindo sistemas para automatizar seu negócio e etapas dentro do site. Criar campanhas e divulga-las para o público-alvo desejado. Disponibilizar extensões de domínios nacionais e internacionais, inclusive especiais como .BAR ou .PIZZA por exemplo. Oferecemos servidores estáveis e seguros para hospedar seu projeto e com suporte em português. E ainda realizamos correções de falhas em sites já existentes, além de criação de conteúdo. Podemos fazer muito por seu negócio, fale conosco. Estamos na cidade de Indaiatuba - SP e atendemos a todo o Brasil. Conheça alguns dos nossos clientes.

Receba nossa Newsletter!

Campos marcados como * são requeridos.

Veja também

Ver todos os artigos