Plugin de segurança personalizado para WordPress implementado como Must-Use Plugin (MU-Plugin).
Must-Use Plugins são plugins especiais do WordPress que:
- São carregados automaticamente pelo WordPress
- Não podem ser desativados através do painel administrativo
- Não aparecem na lista de plugins regulares
- São executados antes dos plugins convencionais
- Ideais para funcionalidades críticas de segurança
-
Copie o arquivo
wp-custom-security.phppara a pasta:wp-content/mu-plugins/wp-custom-security.php -
Se a pasta
mu-pluginsnão existir, crie-a dentro dewp-content/ -
O plugin será ativado automaticamente (não requer ativação manual)
-
Para verificar se está ativo, acesse: Painel Admin → Plugins → Must-Use
Para desativar o plugin, simplesmente remova o arquivo da pasta mu-plugins.
- Ocultar versão do WordPress: Remove informações de versão do header e meta tags
- Remover headers do servidor: Oculta
X-Powered-ByeServerheaders - Remover informações desnecessárias: Remove RSD link, WLW manifest, shortlink, REST API discovery e oEmbed links do head
- Query strings seguras: Remove
?ver=e adiciona timestamp de arquivo (?v=timestamp) para manter cache funcionando
- X-Frame-Options: Previne clickjacking
- X-Content-Type-Options: Previne MIME sniffing
- X-XSS-Protection: Proteção contra XSS
- Referrer-Policy: Controla informações de referrer
- Permissions-Policy: Controla acesso a APIs sensíveis (geolocalização, microfone, câmera)
- HSTS (Strict-Transport-Security): Força HTTPS quando disponível
- Content-Security-Policy: Policy básica de frame-ancestors
- Bloqueia acesso a
/?author=Xpara usuários não logados - Mensagens de erro genéricas no login
- Restringe endpoints de usuários na REST API (
/wp/v2/users) apenas para usuários autenticados
- XML-RPC completamente desabilitado: Previne ataques DDoS e brute force
- Pingbacks/Trackbacks desabilitados: Remove vetor de ataque DDoS
- Application Passwords desabilitados: Remove funcionalidade de senhas de aplicativo (WP 5.6+)
- jQuery Migrate removido: Reduz superfície de ataque (apenas no frontend)
- Scripts de emoji removidos: Remove código desnecessário
- Limite de 100 requisições por minuto na REST API para usuários não autenticados
- Proteção contra abuso de API
- Honeypot field: Campo invisível no formulário de login que detecta e bloqueia bots automaticamente
- Não afeta usuários legítimos
- Registra tentativas de login falhadas com timestamp, username e IP
- Registra detecções de bot via honeypot
- Logs salvos no error_log padrão do PHP
- WordPress: 5.6 ou superior
- PHP: 7.4 ou superior
- Compatível com: Multisite (Network: true)
- Não interfere com: Temas, plugins regulares, cache do navegador
- Implementado usando padrão Singleton
- Usa hooks e filtros nativos do WordPress
- Não quebra funcionalidades do WordPress
- Performance otimizada: Usa transients nativos do WP para cache
- Seguro por padrão: Todas as medidas são não-intrusivas
Esse código é distribuído sob a licença GNU GPL 3.0.