Recuperação Robusta de Permissões Após Infecção por Plugin GPL
Você instalou um plugin GPL e seu site foi invadido. O invasor modificou permissões de arquivos para criar backdoors. Agora, a limpeza não é suficiente: é preciso reconfigurar as filesystem permissions corretamente.
Por que as permissões padrão falham
Muitos tutoriais recomendam 755 para pastas e 644 para arquivos. Isso é frágil contra ataques que exploram plugins GPL. Após uma infecção, o invasor pode ter alterado permissões para 777 em arquivos críticos como wp-config.php ou .htaccess. Verifique com:
find /caminho-wordpress -type f -perm 777
Altere imediatamente:
find . -type d -exec chmod 755 {} \\; && find . -type f -exec chmod 644 {} \\;
Permissões mínimas para hardening pós-ataque
Para pastas: 755 (drwxr-xr-x). Para arquivos: 644 (-rw-r--r--). Exceções: wp-config.php deve ter 600 ou 640 se o grupo do servidor web precisar ler. Diretório wp-content/uploads pode usar 755, mas arquivos de upload 644. Nunca 777!
Privilégios de proprietário e grupo
O proprietário deve ser seu usuário FTP (ex: user), e o grupo do servidor web (ex: www-data). Use:
chown -R user:www-data /caminho-wordpress
Para o diretório wp-content, muitos hosts exigem que o servidor possa escrever em uploads. Isso é feito corretamente com permissão de grupo de escrita (775) apenas nessa pasta:
chmod 775 wp-content/uploads
E garanta que o bit setgid esteja ativo para herança de grupo:
chmod g+s wp-content/uploads
Proteção contra escaneamento de diretórios
Após restaurar permissões, impeça listagem de diretórios no Apache ou Nginx. Para Apache, em .htaccess ou wp-content/.htaccess:
Options -Indexes
No Nginx, adicione autoindex off; no bloco location.
Mude o método de instalação de plugins
Sempre use FTP ou SFTP para instalar plugins GPL manualmente, evitando o método direto do WordPress que exige write permissions na pasta wp-content. Desative a edição de arquivos pelo painel com:
define('DISALLOW_FILE_EDIT', true);
E bloqueie a instalação de plugins via upload direto com:
define('DISALLOW_FILE_MODS', true);
Isso não só protege, como força você a gerenciar plugins manualmente, reduzindo riscos.
Verificação final de segurança
Após reconfigurar, execute uma auditoria com Theme Check ou Exploit Scanner. Monitore arquivos alterados com:
find . -mtime -2 -type f
Lembre-se: permissões frouxas são o principal vetor de reinfecção em sites que usam plugins GPL sem verificação.