Como Fazer uma Auditoria de Segurança ao Seu Site
Uma auditoria de segurança é uma revisão sistemática das defesas do seu site para identificar vulnerabilidades antes que alguém as explore. Não precisa de ser um especialista em segurança — seguir esta checklist regularmente (trimestralmente é ideal) reduz significativamente o risco.
Actualizações
Verifique se o WordPress core, todos os plugins e o tema estão na versão mais recente. Plugins desactualizados são a vulnerabilidade mais explorada. Verifique a versão de PHP — deve ser a mais recente suportada. Elimine plugins e temas desactivados que não usa — mesmo desactivados, o código está no servidor e pode ser explorado.
Utilizadores e credenciais
Reveja a lista de utilizadores do WordPress. Existem contas que não reconhece? Existem contas com nível Administrator que deveriam ser Editor? Cada utilizador tem password forte? O 2FA está activo para todos os admins? Remova contas inactivas ou desnecessárias.
Ficheiros e permissões
Verifique permissões: ficheiros devem ser 644, pastas 755, wp-config.php 400 ou 440. O wp-config.php contém credenciais sensíveis — se não está protegido via .htaccess e com permissões restritivas, está exposto. Verifique se existem ficheiros suspeitos na raiz do site — ficheiros PHP com nomes aleatórios podem ser backdoors.
Scan de malware
Execute um scan completo com o Wordfence. Verifique ficheiros alterados (o Wordfence compara com versões originais). Scan externo com Sucuri SiteCheck para uma segunda opinião. Verifique no Google Search Console se há alertas de segurança.
SSL e HTTPS
O SSL está activo e válido (não expirado)? Todo o site carrega em HTTPS (não só o login)? Não há mixed content? Use whynopadlock.com para verificar.
Backups
Os backups automáticos estão a funcionar? Quando foi o último backup? Teste a restauração — um backup que não restaura correctamente é inútil. Existe uma cópia fora do servidor?
Configurações de servidor
O directory listing está desactivado? O xmlrpc.php está bloqueado (se não usa)? Os security headers estão configurados (X-Frame-Options, X-Content-Type-Options, Content-Security-Policy)?