Um Web Application Firewall (WAF) é a camada de segurança que filtra tráfego malicioso antes de chegar ao WordPress. Bloqueia SQL injection, XSS, tentativas de exploração de vulnerabilidades conhecidas e ataques DDoS. Para agências que gerem múltiplos sites, WAF é a diferença entre reagir a incidentes e preveni-los.
O que um WAF faz e o que não faz
O que um WAF faz:
- Bloqueia pedidos HTTP com padrões de ataque conhecidos (SQL injection, XSS, path traversal)
- Limita rate de pedidos por IP (proteção contra brute force e DDoS)
- Filtra bots maliciosos
- Bloqueia pedidos de países ou IPs em blacklist
- Protege contra exploração de vulnerabilidades conhecidas em plugins
O que um WAF não faz:
- Não substitui updates de segurança — um WAF é uma barreira adicional, não alternativa a manter o WordPress atualizado
- Não remove malware já instalado — para isso é necessário limpeza ativa
- Não protege contra vulnerabilidades em código personalizado que o WAF não conhece
Tipos de WAF para WordPress
WAF ao nível de CDN/Proxy (Cloudflare)
O tráfego passa pelo Cloudflare antes de chegar ao servidor. O Cloudflare filtra na sua rede edge — sem impacto de performance no servidor. É a opção mais eficaz para proteger contra ataques volumétricos (DDoS).
- Cloudflare Free: Bot Fight Mode, proteção DDoS básica, rate limiting básico. Sem OWASP ruleset completo.
- Cloudflare Pro (€20/mês): WAF com OWASP Core Rule Set, mais regras geridas, rate limiting avançado. Para sites com tráfego ou de negócio.
- Cloudflare Business (€200/mês): Para sites com requisitos avançados de segurança e conformidade.
WAF ao nível do servidor (fail2ban, ModSecurity)
Configurado diretamente no servidor web (Apache/Nginx). ModSecurity com OWASP Core Rule Set é a implementação mais robusta. Requer acesso root ao servidor e conhecimento técnico para configurar corretamente — não é opção em hosting partilhado.
WAF via plugin WordPress (Wordfence)
O Wordfence implementa um WAF ao nível da aplicação — o tráfego ainda chega ao servidor e é processado por PHP, mas antes de chegar ao WordPress. É menos eficiente que um WAF de CDN mas muito mais acessível para hosting partilhado.
Wordfence Free: WAF com regras atualizadas com 30 dias de atraso vs versão premium. Proteção básica mas funcional.
Wordfence Premium: regras em tempo real, IP blocklist atualizada em tempo real, scanner de malware avançado. ~€99/ano por site.
Configuração Cloudflare WAF para WordPress
Rules básicas para WordPress
No Cloudflare (plano Pro ou superior), crie Custom Rules:
Bloquear acesso a wp-admin de IPs não autorizados:
Rule: (http.request.uri.path contains "/wp-admin")
and not (ip.src in {1.2.3.4 5.6.7.8})
Action: Block
Rate limiting em wp-login.php:
Rule: (http.request.uri.path eq "/wp-login.php")
and (http.request.method eq "POST")
Action: Rate Limit (5 requests per minute per IP → Block for 1 hour)
Bloquear scanners de vulnerabilidades comuns:
Rule: (http.user_agent contains "sqlmap")
or (http.user_agent contains "nikto")
or (http.user_agent contains "Nessus")
Action: Block
Managed Rulesets
No Cloudflare Pro, ative os managed rulesets: Cloudflare OWASP Core Ruleset e Cloudflare Managed Ruleset. Comecem com modo "Log" para ver o que seria bloqueado antes de ativar "Block" — alguns sites com formulários complexos podem ter falsos positivos.
Configuração Wordfence para WordPress
Firewall em modo Learning vs Enabled
Quando instala pela primeira vez, o Wordfence entra em "Learning Mode" por 1 semana. Durante este período, aprende o tráfego normal do site antes de bloquear ativamente. Após 1 semana, ative manualmente "Enabled and Protecting".
Regras de brute force
Wordfence → Firewall → Brute Force Protection:
- Lock out after X failed login attempts: 5 tentativas
- Count failures over: 4 horas
- Lockout duration: 24 horas
- Immediately lock out invalid usernames: Sim (bloqueia imediatamente tentativas com username inválido)
WAF em contexto de segurança multicamadas
Um WAF é mais eficaz como parte de uma estratégia de segurança multicamadas:
- Nível de rede/CDN: Cloudflare WAF — bloqueia antes de chegar ao servidor
- Nível de servidor: fail2ban para SSH, ModSecurity para HTTP (se VPS)
- Nível de aplicação: Wordfence — proteção específica WordPress
- Nível de configuração: hardening WordPress — permissões, desativação de funcionalidades não usadas
- Nível de acesso: 2FA, passwords fortes, mínimo de utilizadores admin
Para agências sem budget para soluções premium, o mínimo viável é: Cloudflare gratuito (com Bot Fight Mode ativo) + Wordfence gratuito + hardening básico de WordPress. Esta combinação cobre a esmagadora maioria dos ataques comuns.
Quer que configuremos segurança WAF para os sites WordPress dos seus clientes?
O nosso serviço de manutenção WordPress inclui configuração de segurança e monitorização contínua.
Proteger sites de clientes