Como Evitar 80% Das Invasões No WordPress

Conforme falei no artigo anterior, muitos plugins têm vulnerabilidades que os tornam portas abertas para invasões de servidor, o que pode causar prejuízos dos mais diversos ao legítimo dono de um blog WordPress.

Contudo, há um meio muito simples de evitar pelo menos 80% dos problemas causados por plugins e temas mal elaborados: basta impedir que scripts .php sejam executados diretamente via URL. Ou melhor dizendo, garantindo que suas URLs diretas não possam ser “chamadas” por qualquer tipo de navegador.

Como ocorrem 80% das invasões ao WP

A bem da verdade, a única coisa que deveria estar publicamente disponível abaixo de wp-content em um blog WordPress deveriam ser os uploads e os scripts e folhas de estilo do blog. Em hipótese alguma scripts .php deveriam estar disponíveis para serem invocados livremente por nenhum tipo de visitante.

É justamente aí que mora o perigo: um script mal elaborado pode expor pontos de falha exploráveis por alguém que detenha a informação adequada, e os efeitos podem ir desde criação de usuários arbitrários no blog até inserção de arquivos maliciosos para fins de spam, phishing scam e outras atividades ilegais.

Bloqueando scripts abaixo de wp-content

Se o problema são os scripts .php abaixo de wp-content sendo livremente executados, então a solução é simples: bloquear a execução destes!

Em meus servidores com Nginx utilizo o seguinte código para bloquear a invocação de scripts abaixo de wp-content:

location ~ /wp-content/(.*)\.php {  
    access_log /var/log/nginx/ban.log;
    return 403;
}

Em se tratando de Apache, creio que o código para o .htaccess seria algo como:

Order deny,allow  
Deny from all  
<Files ~ ".(xml|css|jpeg|png|gif|js)$">  
    Allow from all
</Files>  

Diferente do código do Nginx, o conteúdo acima deve ser colocado em um arquivo .htaccess diretamente no diretório wp-content.

Efeitos colaterais desta técnica

Como disse acima, plugins e temas bem elaborados não vão ter problemas com essa técnica de proteção, porque seus scripts .php não terão sido feitos para acesso público. Entretanto, alguns programadores não estão nem aí para as boas práticas, e se você tiver sido vítima de um deles seu site será prejudicado.

Honestamente, não creio que plugin nenhum valha o risco, então recomendo que, caso seu blog tenha algum efeito por conta de impedir os scripts .php abaixo do wp-content de serem invocados diretamente, troque de plugin ou de tema.

Quer mais dicas de segurança? Confira aqui!

Ajuda profissional

É relativamente controversa a questão de se cuidar da segurança do WordPress é uma atribuição da hospedagem ou do usuário (é do usuário). Por esta razão a maioria dos hostsnão se preocupa em oferecer este tipo de proteção nativamente.

Se sua hospedagem não oferece ajuda neste tipo de assunto, recomendo que você troque imediatamente para uma empresa que prima por oferecer o melhor aos seus clientes, e que tem longa expertise em se tratando de WordPress.

Minhas recomendações são:

Newsletter

Gostou deste conteúdo? Informe seu email e receba gratuitamente todos os novos posts na sua caixa de entrada (será necessário confirmar a inscrição em seguida, verifique sua caixa postal).

Deixe seu comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.