O WordPress é o CMS mais popular do mundo, mas sua popularidade também o torna um alvo frequente de ataques. Para manter um site WordPress seguro, é essencial adotar boas práticas tanto no nível da aplicação (WordPress) quanto no nível do servidor (PHP, MySQL, Apache/Nginx/OpenLiteSpeed).
Neste artigo, vamos explorar as melhores configurações para fortalecer a segurança do WordPress em todas as camadas.
1. Configurações de Segurança no WordPress
1.1. Mantenha o WordPress Atualizado
- Sempre utilize a versão mais recente do WordPress, plugins e temas.
- Ative atualizações automáticas para o core do WordPress (adicionando no
wp-config.php):
define('WP_AUTO_UPDATE_CORE', true);
1.5. Proteja o Arquivo wp-config.php
- Mova o
wp-config.phppara um nível acima da raiz do WordPress (se possível). - Defina permissões restritivas:
chmod 600 wp-config.php
1.6. Habilite HTTPS (SSL)
- Force HTTPS no
wp-config.php:
define('FORCE_SSL_ADMIN', true);
- Use um plugin como Really Simple SSL para garantir que todos os recursos carreguem via HTTPS.
1.7. Desative a Execução de PHP em Diretórios Sensíveis
- Adicione no
.htaccess(Apache) ou diretiva no Nginx/OLS para bloquear execução em/uploads/:
location ~* /wp-content/uploads/.*\.php$ {
deny all;
}
2. Configurações de Segurança no PHP
2.1. Use a Versão Mais Recente do PHP
- Versões antigas do PHP têm vulnerabilidades conhecidas. Utilize PHP 8.0+.
2.2. Desative Funções Perigosas
- No
php.ini, desative funções vulneráveis:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
2.3. Limite os Parâmetros do PHP
- Configure limites seguros no
php.ini:
max_execution_time = 120
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 64M
2.4. Ative o SuPHP ou PHP-FPM com Usuário Dedicado
- Evite executar PHP como
nobodyouwww-data. Use um usuário separado para cada site.
3. Configurações de Segurança no MySQL/MariaDB
3.1. Use um Usuário Dedicado para o Banco de Dados
- Não utilize o usuário
rootpara o WordPress. Crie um usuário com permissões mínimas necessárias.
3.2. Altere a Porta Padrão do MySQL (Opcional)
- Edite
my.cnfpara usar uma porta não padrão (ex: 3307):
port = 3307
3.3. Habilite Logs de Consultas Lentas e Erros
- No
my.cnf, adicione:
log_error = /var/log/mysql/mysql-error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
4. Configurações de Segurança no Servidor Web (Apache/Nginx/OLS)
4.1. Apache: Proteja o .htaccess e Diretórios
- No
.htaccess, adicione:
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|sql)$">
Order Allow,Deny
Deny from all
</FilesMatch>
- Adicione ao
server block:
4.2. Nginx: Bloqueie Acesso a Arquivos Sensíveis
location ~* ^/(wp-config\.php|xmlrpc\.php|\.git) {
deny all;
}
4.3. OpenLiteSpeed (OLS): Ative ModSecurity e Limite Requisições
- Habilite o ModSecurity e configure regras de firewall.
- Limite requisições para evitar DDoS:
connectionLimit 50
4.4. Desative a Listagem de Diretórios
- No Apache (
Options -Indexes) ou Nginx (autoindex off;).
5. Outras Medidas de Segurança no Servidor
5.1. Configure um Firewall (UFW/CSF)
- Use UFW (Ubuntu) ou ConfigServer Firewall (CSF) para bloquear portas desnecessárias.
5.2. Instale um WAF (Web Application Firewall)
- Cloudflare, Sucuri, ou ModSecurity ajudam a bloquear ataques antes de chegarem ao servidor.
5.3. Monitore Logs e Atividades Suspeitas
- Use ferramentas como Logwatch, GoAccess, ou Fail2Ban para monitorar acessos maliciosos.
5.4. Faça Backups Automatizados
- Utilize UpdraftPlus, BackupBuddy, ou scripts via
cronpara backups diários em um local seguro (ex: AWS S3).
Conclusão
A segurança do WordPress depende de uma abordagem em camadas, desde configurações no CMS até otimizações no servidor. Implementando essas práticas, você reduz significativamente o risco de invasões e mantém seu site protegido contra ameaças comuns.
Lembre-se: segurança não é um evento, mas um processo contínuo. Mantenha-se atualizado e revise regularmente as configurações do seu ambiente WordPress.
🔒 Dica Extra: Teste a segurança do seu site com ferramentas como WPScan, Sucuri SiteCheck ou Pentest-Tools.com.
Se precisar de ajuda profissional, considere contratar um especialista em segurança WordPress ou administração de servidores.
🚀 Seu WordPress está pronto para enfrentar ameaças? Implemente essas dicas hoje mesmo!
