Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

WP Custom Security

Plugin de segurança personalizado para WordPress implementado como Must-Use Plugin (MU-Plugin).

O que é um Must-Use 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

Instalação

  1. Copie o arquivo wp-custom-security.php para a pasta:

    wp-content/mu-plugins/wp-custom-security.php
    
  2. Se a pasta mu-plugins não existir, crie-a dentro de wp-content/

  3. O plugin será ativado automaticamente (não requer ativação manual)

  4. Para verificar se está ativo, acesse: Painel Admin → Plugins → Must-Use

Desinstalação

Para desativar o plugin, simplesmente remova o arquivo da pasta mu-plugins.

Medidas de Segurança Implementadas

🔒 Proteção de Informações

  • Ocultar versão do WordPress: Remove informações de versão do header e meta tags
  • Remover headers do servidor: Oculta X-Powered-By e Server headers
  • 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

🛡️ Headers de Segurança HTTP

  • 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

👤 Proteção contra Enumeração de Usuários

  • Bloqueia acesso a /?author=X para 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

🚫 Desabilitação de Recursos Desnecessários

  • 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

⚡ Rate Limiting

  • Limite de 100 requisições por minuto na REST API para usuários não autenticados
  • Proteção contra abuso de API

🍯 Proteção Adicional de Login

  • Honeypot field: Campo invisível no formulário de login que detecta e bloqueia bots automaticamente
  • Não afeta usuários legítimos

📝 Logging de Segurança

  • 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

Compatibilidade

  • 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

Características Técnicas

  • 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

Licença

Esse código é distribuído sob a licença GNU GPL 3.0.

About

Plugin Wordpress com medidas de segurança personalizadas.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages