Melhores Práticas para Configurar o WordPress com Segurança Avançada (Nível WordPress e Servidor)

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.php para 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 nobody ou www-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 root para 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.cnf para 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)

  • CloudflareSucuri, ou ModSecurity ajudam a bloquear ataques antes de chegarem ao servidor.

5.3. Monitore Logs e Atividades Suspeitas

  • Use ferramentas como LogwatchGoAccess, ou Fail2Ban para monitorar acessos maliciosos.

5.4. Faça Backups Automatizados

  • Utilize UpdraftPlusBackupBuddy, ou scripts via cron para 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 WPScanSucuri 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!

Voltar ao Blog