Protegendo seu site em WordPress

Como muitos clientes usam sites criados em WordPress, achamos melhor publicar algumas dicas para torna-lo mais seguro, principalmente porque vimos que muitos estão pecando em procedimentos simples, o que pode fazer com que seu site seja invadido, sofra defacement (pichação no mundo da internet), passe a conter conteúdos maliciosos (que podem atacar os próprios visitantes do site), entre outros.

Como são várias dicas, vamos agrupa-las pelo nível de dificuldade, embora recomendamos que todas sejam praticadas, seja pelo cliente diretamente ou via seu técnico / webmaster responsável pelo site.

Regra básica de ouro: você precisa atualizar SEMPRE seu wordpress e seus plugins. Em nossa página https://specialist.srv.br/por-que-eu-preciso-ficar-atualizando-meu-site-se-eu-nao-alterei-nenhuma-informacao-nele/ explicamos mais a fundo o motivo da exigência das atualizações, para quem não sabe. Vale a leitura!

Procedimentos Simples (você mesmo pode fazer)

  • Atualizar sempre o wordpress e seus plugins. Embora seja repetitivo falar isso, é algo tão simples mas que passa batido na grande maioria dos clientes. Uma vez dentro da tela de admin do wordpress, contando que seu usuário tenha permissão de admin (caso não tenha, peça para quem tiver que faça o procedimento, ou que dê a permissão para você também), basta ir em “Painel” (primeiro item do menu administrativo) e depois em “Atualizações”. Ai dentro veja se tem atualização do WordPress. Se tiver, clique em atualizar. Aguarde o processo finalizar (não feche a janela ou mude de página, caso contrário você pode quebrar seu site, precisando fazer restore do backup). Após finalizar, volte nessa tela e veja que itens ainda precisam de atualizações. Se citar plugins, atualize-os também. Aguarde novamente. Volte na tela e reveja, pode haver atualização para os Temas e para a Tradução. Faça também, até constar que está você possui a última versão e que todos os itens estão atualizados. Pode ser necessário limpar o cache do WordPress caso estiver usando algum plugin de cache. Veja no menu superior se existe alguma opção de “limpar cache”, “Clean cache” ou algo assim, e clique nela.
  • Use senhas seguras. Isso significa usar senhas com 10 ou mais caracteres, uso de letras maiúsculas e minúsculas, números e símbolos juntos. Não crie senhas com palavras comuns trocando letra “o” por número “0” ou outros que isso é completamente “manjado” e facilmente um bot (um “robozinho”, quase um vírus, em um micro qualquer) vai testar essa combinação mais cedo ou mais tarde. Senhas como “[email protected]” ou sequencias númericas ou nomes são extremamentes fáceis de serem descobertas. Já uma senha “Kmi32TarRvccbVkK” mesmo sem conter símbolos, são extremamentes díficeis de serem descobertas.
  • Não use o usuário “admin” que é o padrão do WordPress. A maioria dos bots tenta quebrar a senha tentando como usuário “admin”. Você pode renomear o usuário para um nome qualquer.
  • Se você publica conteúdo (posts) e aparece seu nome como autor dos posts, use a técnica de exibir um apelido no lugar do nome e crie um apelido para você (dentro da configuração de seu usuário). Assim os posts podem aparecer como sendo do “Alexandre” mas o usuário real para logar no WordPress é outro completamente diferente. Isso frusta também os bots, fazendo com que eles não encontrem um usuário para tentar quebrar a senha.

Procedimentos um pouco mais técnico (caso não saiba, peça ao seu Técnico/Webmaster realizar)

  • Mesmo com os plugins atualizados, veja se o mesmo ainda está em desenvolvimento. Usar plugins de meses atrás pode indicar que o mesmo está vulnerável, de anos atrás então, nem se fala. Fuja deles. As vezes o plugin pode ter mudado de nome, exemplo, você usa o plugin XYZ e depois de um tempo o desenvolvedor pode ter vendido a solução para outro e o plugin passou a se chamar XYZ-RQ, neste caso, remova o XYZ e instale o novo XYZ-RQ uma vez que todo o desenvolvimento e atualizações de segurança serão em cima deste novo, com o antigo sendo abandonado.
  • Remova todos os plugins sem uso (com o estado de “desativado”).
  • Remova todos os temas sem uso, deixando apenas seu tema em uso instalado. Embora essa etapa e a acima seja simples, por envolver ações diretamente no painel, achamos melhor deixar para o técnico fazer.
  • Instale plugins de segurança, recomendamos o “Wordfence Security” ou o “Sucuri Security – Auditing, Malware Scanner and Hardening”, ambos encontrados gratuitamente na seção de plugins do wordpress. Ao instalar um deles (não precisa e não é recomendado ter ambos ao mesmo tempo), execute os procedimentos recomendados por ele, reveja a configuração e aplique. Eles podem esconder a versão do wordpress ao público, mudar permissões de arquivos, criar comandos no .htaccess bloqueando algum uso indevido (como rodar um .php) dentro de pastas como upload ou outras e várias outras seguranças extras.
  • Veja se no wp-config.php (na raíz de seu WordPress) os SALTS foram configurados corretamente. Caso negativo, gere um novo pelo link citado lá mesmo e copie/cole no arquivo. Isso fará apenas você ser deslogado do admin caso esteja logado.

Procedimentos avançados (deixe para seu técnico fazer)

  • Veja no wp-config.php se variável $table_prefix contem o prefixo de tabelas padrão “wp_”, que é muito conhecido e alvo de ataques de injeção de código SQL. Recomendamos o uso de qualquer outro prefixo, como xyz_ ou qualquer outra sequencia de 3 a 6 caracteres. Lembrando que ao alterar esse prefixo o site sairá do ar até as tabelas do mysql serem renomeadas corretamente com o novo prefixo, então só faça isso quando tiver a certeza que saberá proceder de acordo.
  • Crie uma camada extra de segurança no sistema de Login do WordPress, protegendo arquivos e pastas com uma senha extra, via servidor, conforme passo a passo abaixo:

1- Proteja com senha seu /wp-login.php usando o código abaixo, colocando-o dentro do .htaccess na raíz do seu wordpress. Caso o arquivo já exista (é bem provável que ele exista), edite-o e coloque no final essas linhas:

<Files “wp-login.php”>
AuthUserFile “/DADOS/sites-dominio/www.seudominio.com.br/public_html/.htpasswd”
AuthGroupFile /dev/null
AuthName “Admin – Acesso RESTRITO”
AuthType Basic
Require valid-user
</Files>

No exemplo acima, estamos considerando que seu wordpress esteja na raíz (/) e não dentro de alguma pasta em seu www.seudominio.com.br. Caso contrário, edite e acerte o caminho no campo AuthUserFile.

2- Crie o .htpasswd e coloque-o ai dentro, junto com o .htaccess também. Veja o item 3 em nossa página https://specialist.srv.br/protegendo-pastas-no-site-com-senhas/ para entender como criar o .htpasswd com um user/senha ou mesmo para entender melhor o bloqueio por user/senha. Note apenas que os comandos do .htaccess nessa página difere deste exemplo, pois lá o exemplo dado foi bloqueio de uma pasta e não de um arquivo, mas o .htpasswd você pode seguir na íntegra.

Mas atenção, não crie o .htpasswd com o mesmo login/senha do wordpress, use um outro nome para o usuário e uma outra senha qualquer.

3- Proteja com senha a pasta /wp-admin/ onde contem o painel administrativo e funções administrativas do wordpress. Coloque o código abaixo dentro de um .htaccess, dentro por sua vez do /wp-admin/ (neste caso, provavelmente o arquivo ainda não existe, precisando ser criado):

AuthUserFile “/DADOS/sites-dominio/www.seudominio.com.br/public_html/wp-admin/.htpasswd”
AuthGroupFile /dev/null
AuthName “Admin – Acesso RESTRITO”
AuthType Basic
Require valid-user
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

No exemplo acima, estamos considerando que seu wordpress esteja na raíz (/) e não dentro de alguma pasta em seu www.seudominio.com.br. Caso contrário, edite e acerte o caminho no campo AuthUserFile.

Esse .htaccess tem o mesmo objetivo do anterior, bloquear o acesso (neste caso à pasta wp-admin toda) exigindo um user/senha extra. Porem ele cria uma exceção para o arquivo admin-ajax.php, que é usado pelo frontend na grande maioria das vezes, então ele não pode ser bloqueado.

4- Crie o .htpasswd e coloque-o ai dentro, junto com o .htaccess também. Use o mesmo .htpasswd do anterior, apenas copie ele novamente para essa pasta.

5- Tente acessar o www.seusite.com.br/wp-login.php ou www.seusite.com.br/wp-admin/ que vai aparecer uma tela pedindo um user/senha “extra”. Use o user/senha que você criou no .htpasswd. Depois na próxima tela, será solicitado o user/senha do wordpres mesmo, use a sua normalmente.

Com isso você terá uma camada extra de proteção, a grande maioria dos ataques ocorrem em cima do wp-login.php ou de arquivos dentro do /wp-admin/*.

  • Veja em https://sucuri.net/guides/wordpress-security/ várias outras dicas sobre como proteger e deixar seu wordpress mais seguro.
  • Faça uma varredura em seu atual site em https://sitecheck.sucuri.net/ colocando o endereço do seu site (incluindo o https:// no começo) e clicando em Scan Website. Aguarde ele completar e veja nos resultados se os itens estão todos em cor verde (exceto o campo “Website Monitoring” e o “Website Firewall” que são serviços adquiridos a parte) e mostrando “Minimal” ou “Low Security Risk” na barra que eles exibem o grau de segurança. Porem é bom lembrar que este sistema apenas acessa o site e verifica o conteúdo das páginas, ele não consegue scanear os arquivos do site propriamente dito, que pode esconder um vírus, trojan ou código malicioso. O resultado desse site é apenas uma base para você ter sobre a segurança de seu site.

Existem outras dicas como usar https (ssl) no site, certificar-se que o servidor possui PHP atualizado, uso de módulos especiais no Apache para minimizar as chances de exploração de uma vulnerabilidade, uso de firewall contra ataques DoS/DDoS, entre outros, mas essas os nossos clientes não precisam se preocupar, pois a Specialist já mantem tudo atualizado e seguro para você.

Por fim, citamos novamente a regra básica de ouro: você precisa atualizar SEMPRE seu wordpress e seus plugins. Em nossa página https://specialist.srv.br/por-que-eu-preciso-ficar-atualizando-meu-site-se-eu-nao-alterei-nenhuma-informacao-nele/ explicamos mais a fundo o motivo da exigência das atualizações, para quem não sabe. Vale a leitura!

Obs: Vale lembrar também que manter seu site atualizado consta no Contrato de Hospedagem e ainda que a grande maioria das dicas, como manter atualizado tudo, usar senhas seguras, criar camada de senha extra, etc vale para outros tipos de sites (não wordpress), como Joomla, Drupal, IPS, OsCommerce, etc.

Agora que seu site está seguro, vamos torna-lo mais rápido? Veja como em https://specialist.srv.br/aceleracao-de-sites/

Compartilhe isso:

Matérias relacionadas: