O arquivo .htaccess
é um dos recursos mais poderosos para proteger e personalizar o funcionamento de um site WordPress em servidores Apache.
Ele permite configurar regras para controle de acesso, segurança e desempenho.
Com ajustes simples, você pode proteger arquivos críticos, impedir a exploração de vulnerabilidades e limitar o acesso ao painel administrativo.
Neste guia, você aprenderá como usar o .htaccess
para melhorar a segurança do WordPress, bloqueando arquivos sensíveis, desativando listagens de diretórios e configurando restrições de IP.
Por que configurar o .htaccess no WordPress?
O .htaccess
é um arquivo de configuração usado por servidores Apache para definir regras de acesso e comportamento dos diretórios.
No WordPress, ele é usado principalmente para gerenciar URLs amigáveis (permalinks). No entanto, você pode expandir seu uso para:
- Bloquear acesso não autorizado a arquivos importantes.
- Impedir listagens de diretórios e exposição de arquivos.
- Restringir o acesso ao painel administrativo por IP.
Essas medidas aumentam significativamente a segurança do site, protegendo contra ataques de hackers e acessos indesejados.
1. Bloquear Acesso a Arquivos Críticos
Arquivos como wp-config.php
, .htaccess
e outros arquivos do WordPress contêm informações sensíveis que, se acessadas, podem comprometer todo o site.
Regras para Proteger o wp-config.php
Adicione as seguintes linhas ao .htaccess
para bloquear o acesso ao arquivo wp-config.php
:
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
Como funciona?
<Files>
: Define o arquivo que será protegido.Deny from all
: Bloqueia todo o acesso ao arquivo, independentemente de sua origem.
Resultado:
Se alguém tentar acessar wp-config.php
diretamente pelo navegador, receberá uma mensagem de “Acesso negado”.
Protegendo o .htaccess
Para evitar que hackers modifiquem ou leiam o próprio arquivo .htaccess
, adicione esta regra:
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
Bloquear Acesso a Outros Arquivos Críticos
Você também pode bloquear arquivos de log, backups e outros arquivos sensíveis:
<FilesMatch "\.(log|backup|bak|sql)$">
Order Allow,Deny
Deny from all
</FilesMatch>
O que essa regra faz?
- Bloqueia arquivos que terminam com extensões como
.log
,.backup
,.bak
e.sql
, que geralmente armazenam informações sensíveis.
2. Desativar Listagem de Diretórios
Por padrão, se um diretório não contém um arquivo index.php
ou index.html
, o servidor Apache pode exibir uma listagem de arquivos do diretório para os visitantes. Isso pode expor arquivos que deveriam ser privados.
Como Desativar a Listagem de Diretórios
Adicione esta linha ao .htaccess
:
Options -Indexes
Como funciona?
Options -Indexes
: Desativa a exibição do conteúdo de diretórios sem um arquivo de índice.
Resultado:
Se um visitante tentar acessar um diretório sem um arquivo index.php
, verá uma mensagem de “Acesso proibido” em vez da listagem de arquivos.
3. Bloqueio de IP
Se você gerencia um site com uma equipe limitada ou deseja restringir o acesso ao painel administrativo, é possível configurar o .htaccess
para permitir o acesso somente de IPs confiáveis.
Como Restringir o Acesso ao wp-admin
Adicione as seguintes regras ao .htaccess
:
<Limit GET POST>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
Allow from 987.654.321.000
</Limit>
O que essas regras fazem?
Order Deny,Allow
: Define que a ordem das permissões é negar todos os acessos primeiro e depois permitir para IPs específicos.Deny from all
: Bloqueia todo o tráfego.Allow from
: Permite acesso apenas para os IPs listados.
Exemplo Prático:
Se você adicionar Allow from 123.456.789.000
, apenas dispositivos com esse IP terão acesso ao painel administrativo.
Dica:
IPs dinâmicos podem dificultar o gerenciamento. Nesses casos, use autenticação adicional, como senhas de diretório (explorado abaixo).
4. Protegendo Diretórios com Senhas
Além do bloqueio por IP, você pode adicionar uma autenticação adicional ao diretório wp-admin
usando um arquivo .htpasswd
.
Passo a Passo
- Crie o arquivo
.htpasswd
Use o seguinte comando para criar um arquivo.htpasswd
:htpasswd -c /caminho/para/.htpasswd usuario
- Adicione Proteção ao Diretório wp-admin No arquivo
.htaccess
do diretóriowp-admin
, adicione:AuthType Basic AuthName "Acesso Restrito" AuthUserFile /caminho/para/.htpasswd Require valid-user
- Teste o Acesso Ao acessar o
wp-admin
, você será solicitado a fornecer um nome de usuário e senha.
5. Configurações Avançadas
Redirecionar Apenas HTTPS
Forçar o uso de HTTPS é essencial para proteger a comunicação entre o navegador e o servidor.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Proteger o XML-RPC
O XML-RPC é frequentemente alvo de ataques de força bruta. Você pode bloqueá-lo adicionando:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Limitar o Tamanho de Uploads
Para evitar sobrecarga no servidor, limite o tamanho de arquivos enviados:
LimitRequestBody 10485760
Conclusão
Configurar corretamente o arquivo .htaccess
é um passo essencial para proteger seu WordPress.
Com ajustes simples, você pode evitar ataques comuns, proteger arquivos críticos e restringir acessos ao painel administrativo.
Quer dominar todas as técnicas avançadas de segurança no WordPress? Inscreva-se no Curso Avançado de WordPress e torne-se um especialista em proteger e gerenciar seus projetos WordPress!