WordPress: proteja seu site configurando o .htaccess corretamente🔐

porLuis Augusto Moretto

WordPress: proteja seu site configurando o .htaccess corretamente🔐

Em uma instalação insegura do WordPress, existem algumas vulnerabilidades potenciais . A maioria dos tutoriais de instalação do WordPress explica uma maneira rápida e fácil de implantar o WordPress em minutos. Porém desconsideram aspectos fundamentais da segurança no Apache2 com .htaccess. Por exemplo, a navegação no diretório WP-CONTENT. Hoje vamos dar uma olhada em snippets de código .htaccess que ajudarão a melhorar a segurança do seu blog WordPress.

Arquivo wp-config.php

É fundamental desabilitar o qualquer tipo de acesso fora do WordPress ao arquivo wp-config.php. Este arquivo tem informações das credenciais do banco de dados do WordPress. Para isso vamos adicionar o seguinte snippet em seu arquivo .htaccess na raiz do WordPress

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

Desativando o XML RPC

Se o seu WordPress não utiliza o XML RPC é interessante desativar o serviço. Primeiro que bots ficam fazendo chamadas remotas constantemente consumindo recursos de seu host. Segundo que se houver alguma vulnerabilidade nas senhas dos usuários este serviço permite alterar e o conteúdo do seu blog. No mesmo .htaccess na raiz do seu WordPress adicione o seguinte Snippet de código:

#disable XML RPC
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

PHP em wp-content/uploads

A pasta wp-content possui os plugins e uploads do WordPress. Dentro da pasta UPLOADS não faz sentido conter arquivos PHP sendo executados. Isto é na verdade uma falha de vulnerabilidade. Portanto crie dentro da pasta wp-content/uploads um arquivo .htaccess com o seguinte snippet de forma que desative a execução do PHP nesta pasta e subdiretórios;

# Kill PHP Execution wp-content/uploads
<Files *.php>
deny from all
</Files>

Permissões do WordPress

Verifique as permissões dos arquivos e pastas do seu WordPress conforme o snippet abaixo

chown -Rv www-data:www-data
chmod -Rv 0755 wp-includes
chmod -Rv 0755 wp-admin/js
chmod -Rv 0755 wp-content/themes
chmod -Rv 0755 wp-content/plugins
chmod -Rv 0755 wp-admin
chmod -Rv 0755 wp-content
chmod -v 0640 wp-config.php
chmod -v 0640 wp-admin/index.php
chmod -v 0644 .htaccess

Desativando o wp-login.php

Se você não for utilizar o login no wordpress é possível desabilitar o mesmo com o seguinte snippet no arquivo .htaccess na raiz do wordpress:

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

Desativando wp-json

Seu WordPress precisa da API JSON habilitada? Se a resposta for não adicione o seguinte Snippet no .htaccess na raiz do WordPress. Ele vai redirecionar todas as requisições para a raiz do site.

RewriteRule ^wp-json.*$ index.php

Dicas

Menos é mais. Verifique sempre a origem dos plugins instalados em seu WordPress. Desabilite as funções REST e XML RPC se nao forem utilizadas. Crie senhas seguras em seu WOrdpress e instale o Wordfence para bloquear em tempo real usuários maliciosos.