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.
Índice de Tópicos
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: