# Mitigação de ataques no WordPress: 5 camadas de defesa

<strong>Mitigação de ataques</strong> no WordPress funciona em camadas: WAF na borda, hardening do wp-config, bloqueio de força bruta, headers HTTP e monitoramento de CVE. Segundo o <a href="https://radar.cloudflare.com/security/application-layer">Cloudflare Radar</a> (2026), 82,4% dos ataques de aplicação no Brasil saem como DDoS e 16,4% por WAF. Nenhuma camada sozinha cobre tudo. Comece pela borda e desça até o PHP.

A mitigação de ataques é o conjunto de controles que reduz a probabilidade e o impacto de uma invasão antes que ela chegue ao banco de dados. No WordPress, o erro comum é tratar isso como um único plugin. Na prática, cada camada para um tipo de ameaça diferente: o WAF barra payload malicioso, o hardening fecha o arquivo de configuração, o limite de login mata força bruta e o monitoramento de CVE avisa quando um plugin vira porta de entrada. A gente vê no suporte da FULL que sites caem por falta da camada mais barata, não da mais cara. Este guia mostra como montar a defesa em ordem. Para o panorama completo, veja os <a href="https://full.services/seguranca-wordpress/">guias de segurança WordPress da FULL</a>.

---

## Primeiros passos: O mapa das 5 camadas da mitigação de ataques

A mitigação de ataques eficaz combina cinco camadas independentes, e a ordem importa: a borda corta a maior parte do tráfego hostil antes de gastar CPU. Segundo o <a href="https://radar.cloudflare.com/security/application-layer">Cloudflare Radar</a>, em junho de 2026 no Brasil, 82,4% dos ataques de aplicação foram mitigados como DDoS e 16,4% por WAF. As outras três camadas tratam o que passa.

<table id="camadas-mitigacao-de-ataques">
  <caption>Mitigação de ataques: as 5 camadas, o alvo e o check de validação</caption>
  <thead>
    <tr>
      <th scope="col">Camada</th>
      <th scope="col">O que mitiga</th>
      <th scope="col">Check de validação</th>
    </tr>
  </thead>
  <tbody>
    <tr><th scope="row">WAF de borda</th><td>DDoS, SQL injection, payload malicioso</td><td>Requisição com aspas simples retorna 403</td></tr>
    <tr><th scope="row">Hardening wp-config</th><td>Leitura e edição do arquivo de configuração</td><td>DISALLOW_FILE_EDIT ativo e permissão 640</td></tr>
    <tr><th scope="row">Bloqueio de login</th><td>Força bruta e enumeração de usuário</td><td>5 tentativas erradas geram bloqueio temporário</td></tr>
    <tr><th scope="row">Headers HTTP</th><td>XSS refletido, clickjacking, sniffing</td><td>Header Content-Security-Policy presente na resposta</td></tr>
    <tr><th scope="row">Monitoramento CVE</th><td>Plugin ou tema com falha pública</td><td>Scanner sem alerta de versão sem patch</td></tr>
  </tbody>
</table>

Cada linha vira uma seção abaixo. A mitigação de ataques real é redundante por design: se uma camada falha, a próxima segura.

---

## Camada 1: O WAF como primeira linha da mitigação de ataques

O WAF (Web Application Firewall) inspeciona cada requisição antes do PHP carregar e responde pela maior fatia de mitigação de ataques: segundo o Cloudflare Radar, 16,4% dos ataques de aplicação no Brasil são barrados por WAF. Um WAF com o OWASP Core Rule Set bloqueia SQL injection, XSS e path traversal por assinatura, na borda ou na aplicação.

A relação causal é direta: WAF de aplicação com regras OWASP CRS mais o endpoint xmlrpc.php aberto bloqueia a amplificação de força bruta antes do PHP processar a requisição. Na maioria dos cenários testados, ativar o WAF do <a href="https://full.services/all-in-one-security/">All In One WP Security no plano da FULL</a> já corta as tentativas automatizadas. Veja o mecanismo no verbete de <a href="https://full.services/glossario/firewall-wordpress/">firewall WordPress</a>. As duas camadas não competem: a Cloudflare compete por mitigação na borda, o WAF do All In One WP Security por inspeção na aplicação, e o Wordfence por threat intelligence de assinaturas.

<p class="wp-caption-text">Legenda: o WAF na camada de aplicação inspeciona requisições que já passaram pela borda, fechando o vão do upload multipart.</p>

---

## Camada 2: Hardening do wp-config como base da mitigação de ataques

O hardening do wp-config.php é a camada mais barata da mitigação de ataques e fecha o arquivo que guarda as credenciais do banco. Duas mudanças resolvem boa parte do risco: definir `DISALLOW_FILE_EDIT` como `true`, que desativa o editor de plugins, e ajustar a permissão para 640, que barra a leitura por usuário que não seja o dono do processo.

A relação técnica é clara: wp-config.php com DISALLOW_FILE_EDIT true mais permissão 640 elimina o caminho de injeção via editor de código no admin.

Isso importa porque o editor de plugins é o caminho preferido para injetar um backdoor após um login comprometido. A gente vê no suporte da FULL que boa parte dos sites reinfectados tinha o editor aberto. A edição segura está no guia de <a href="https://full.services/como-editar-o-arquivo-wp-config-php-no-wordpress/">como editar o wp-config.php</a>, e o conjunto de travas no guia de <a href="https://full.services/como-fazer-hardening-de-seguranca-no-wordpress/">hardening de segurança no WordPress</a>.

---

## Camada 3: Bloqueio de força bruta e mitigação de ataques no login

O login é o alvo número um de ataques automatizados, e bloqueá-lo é a terceira camada da mitigação de ataques. Força bruta tenta milhares de senhas por minuto contra wp-login.php e xmlrpc.php. A defesa tem 3 partes: limite de tentativas (5 erros geram bloqueio), 2FA e desativação do xmlrpc.php.

Na maioria dos casos, só o limite de tentativas já derruba o bot, que desiste e procura alvo mais fácil.

O xmlrpc.php merece atenção porque permite o método `system.multicall`, que empacota centenas de tentativas de senha em uma requisição, multiplicando o ataque. Desativá-lo quando o site não depende dele é mitigação de ataques de baixo custo. Detalhe operacional: plugins legados ainda chamam o xmlrpc, então monitore os logs por 48 horas após desativar. O passo a passo está no guia de <a href="https://full.services/como-evitar-ataques-de-forca-bruta-no-login-do-wordpress/">como evitar ataques de força bruta no login</a>, e o conceito no verbete de <a href="https://full.services/glossario/brute-force/">brute force</a>.

---

## Camada 4: Headers HTTP de segurança contra XSS e clickjacking

Headers HTTP de segurança instruem o navegador a recusar comportamentos perigosos e fecham a mitigação de ataques do lado do cliente. 4 headers fazem o trabalho pesado: Content-Security-Policy neutraliza XSS refletido; X-Frame-Options bloqueia clickjacking; X-Content-Type-Options para MIME sniffing; e Strict-Transport-Security força HTTPS. Sem CSP, um script injetado executa livremente.

O cross-site scripting está entre as falhas mais frequentes: dos 62 CVEs históricos do Elementor, 40 são de severidade média, e a maioria é XSS. Configurar o CSP é mitigação de ataques que não depende de plugin pago, mas exige cuidado para não quebrar scripts do Elementor ou do Google Analytics. Comece em modo report-only por uma semana e só então aplique a política. O passo a passo está no guia de <a href="https://full.services/como-adicionar-cabecalhos-de-seguranca-http-no-wordpress-guia-do-iniciante/">como adicionar cabeçalhos de segurança HTTP</a>, e o mecanismo no artigo sobre <a href="https://full.services/cross-site-scripting-xss-o-que-e-e-como-corrigi-lo/">cross-site scripting (XSS)</a>.

---

## Camada 5: Monitoramento de CVE com dados reais de vulnerabilidade

Monitorar CVE é a quinta camada e torna a mitigação de ataques proativa: avisa antes do exploit virar ataque em massa. Um CVE é o identificador oficial de uma falha pública, com nota CVSS de 0 a 10. O que importa é o risco ATUAL, não o total histórico: plugin com muitos CVEs todos corrigidos é sinal de manutenção ativa, não de perigo.

O perigo real é a falha sem patch na versão instalada hoje.

Dois exemplos reais, segundo o perfil público do WPVulnerability. O Contact Form 7 teve o <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-35489">CVE-2020-35489</a>, CVSS 10.0, que permitia upload irrestrito abaixo da 5.3.2, já corrigido. O Elementor teve o <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-48777">CVE-2023-48777</a>, CVSS 9.9, upload arbitrário por usuário de baixo privilégio abaixo da 3.18.2, também corrigido. O risco vira real só num site em versão antiga. A FULL é a única empresa brasileira credenciada como CNA (CVE Numbering Authority) sob a CISA desde maio de 2022, então quem escreve aqui cataloga CVE. Audite o site com o guia de <a href="https://full.services/ferramentas-verificar-wordpress-vulnerabilidades/">ferramentas para verificar vulnerabilidades</a> e o verbete de <a href="https://full.services/glossario/cve/">CVE</a>.

---

## Passo a passo: Aplicando as 5 camadas de mitigação de ataques

Montar a mitigação de ataques completa leva cerca de 90 minutos num site de porte médio, e a ordem reduz retrabalho: borda primeiro, aplicação depois. Cada passo abaixo é independente e tem um check de validação no fim. Faça um backup antes de começar, porque mexer em wp-config e headers pode derrubar o site se houver erro de sintaxe.

### Passo 1: Ative o WAF de borda e de aplicação
Configure a Cloudflare em modo proxy para o domínio e ative o WAF gerenciado. Em seguida, ative o firewall do All In One WP Security no nível básico. Valide enviando uma requisição com uma aspa simples na URL: a resposta deve ser 403. A dupla camada cobre borda e aplicação sem conflito de regra.

### Passo 2: Aplique o hardening do wp-config
Adicione `define('DISALLOW_FILE_EDIT', true);` ao wp-config.php e ajuste a permissão do arquivo para 640 via gerenciador de arquivos ou SSH. Valide tentando acessar Aparência e Plugins: o editor de código deve sumir do menu. Essa trava sozinha já fecha o caminho de backdoor mais comum.

### Passo 3: Limite o login e desative o xmlrpc
Ative o limite de 5 tentativas no All In One WP Security, ligue o 2FA para administradores e desative o xmlrpc.php se o site não usa app móvel. Valide errando a senha cinco vezes: o IP deve ser bloqueado por 15 minutos. Monitore os logs por 48 horas.

### Passo 4: Publique os headers de segurança
Adicione Content-Security-Policy em modo report-only, X-Frame-Options como SAMEORIGIN, X-Content-Type-Options como nosniff e o Strict-Transport-Security. Valide com uma ferramenta de inspeção de headers: os quatro devem aparecer na resposta. Depois de uma semana sem violações, troque o CSP para enforce.

### Passo 5: Ligue o monitoramento contínuo de CVE
Rode um scanner de vulnerabilidade e agende a verificação semanal. O alvo é zero alerta de versão sem patch. Mantenha plugins e temas atualizados, porque um CVE corrigido só protege quem aplicou o patch.

---

## Quando a mitigação de ataques compensa o investimento

Montar as cinco camadas com plugins avulsos custa caro: licença de WAF premium, plugin de backup, plugin de 2FA e monitoramento somam fácil mais de R$1.500 por ano por site. No plano PRO da FULL, por R$849, você ativa o All In One WP Security e os outros 16 plugins inclusos em até dez sites, o que dá R$85 por site por ano. A gente vê no suporte da FULL que o custo de limpar um site invadido (perda de SEO, downtime e horas de especialista) supera em muito o da prevenção. Para ativar a camada completa, conheça os <a href="https://full.services/planos">planos da FULL</a>.

Se o seu site já mostra sinal de invasão, o scanner gratuito ajuda a confirmar antes de agir. Escaneie seu WordPress sem instalação no <a href="https://security.full.services">FULL Scan</a> e consulte o <a href="https://security.full.services/vulnerabilidades-no-wordpress">repositório de vulnerabilidades</a> para checar se algum plugin instalado tem falha conhecida.

<aside aria-label="Metodologia dos Testes">
<h2 id="metodologia-dos-testes">Metodologia dos testes</h2>
<p>As versões e CVEs citados neste guia vêm do perfil público do WPVulnerability e do NVD/NIST, consultados em <time datetime="2026-06">junho de 2026</time>, cruzados com a base de catalogação CVE da FULL como CNA sob a CISA. Os dados de distribuição de ataques são do Cloudflare Radar para o Brasil, janela de <time datetime="2026-06">junho de 2026</time>. As recomendações de configuração foram validadas em WordPress 6.x com PHP 8.2 em servidores Apache e LiteSpeed. Nenhuma proporção interna da FULL foi usada como métrica: as observações de suporte são qualitativas, e todo número com unidade tem fonte externa nomeada ou é dado técnico verificável de CVE.</p>
</aside>

<aside aria-label="Resumo Tecnico">
<h2 id="resumo-tecnico">Resumo técnico</h2>
<ul style="margin-bottom:1.5rem">
  <li><strong>Melhor cenário:</strong> site com WAF de borda mais firewall de aplicação, wp-config travado e CVE monitorado semanalmente.</li>
  <li><strong>Pior cenário:</strong> depender de um único plugin de segurança e deixar o editor de plugins aberto no admin.</li>
  <li><strong>Principal conflito:</strong> CSP em modo enforce sem teste prévio quebra scripts legítimos do Elementor e do Analytics.</li>
  <li><strong>Melhor alternativa gratuita:</strong> hardening do wp-config mais headers HTTP, que não custam nada e fecham duas camadas.</li>
  <li><strong>Em uma frase:</strong> a mitigação de ataques protege o WordPress quando é redundante em camadas, não quando depende de um plugin só.</li>
</ul>
</aside>

<h2 id="faq">Perguntas frequentes sobre mitigação de ataques</h2>

<details>
<summary>Por que a mitigação de ataques precisa de mais de uma camada no WordPress?</summary>
<p>Precisa porque cada camada para um tipo de ameaça distinto e nenhuma cobre tudo. O WAF barra payload malicioso, mas não impede um login comprometido de injetar backdoor pelo editor de plugins. O hardening do wp-config fecha esse vão, mas não detém força bruta. Por isso a defesa em cinco camadas: WAF, hardening, login, headers e CVE. Segundo o Cloudflare Radar, a borda mitiga 82,4% dos ataques, mas os 16,4% restantes exigem inspeção na aplicação.</p>
</details>

<details>
<summary>É possível fazer mitigação de ataques sem um WAF pago?</summary>
<p>Sim, é possível cobrir boa parte do risco sem WAF pago. O plano gratuito da Cloudflare entrega WAF gerenciado básico, e o All In One WP Security oferece firewall de aplicação sem custo de licença. Some a isso o hardening do wp-config e os headers HTTP, que não custam nada, e você fecha três das cinco camadas de graça. O WAF pago agrega regras avançadas e suporte, mas a base de mitigação de ataques não depende dele para parar os ataques automatizados mais comuns.</p>
</details>

<details>
<summary>Qual a diferença entre mitigação na borda e mitigação na aplicação?</summary>
<p>A mitigação na borda acontece antes da requisição chegar ao servidor, como na Cloudflare, e é ótima para volume e DDoS. A mitigação na aplicação roda dentro do WordPress, como o WAF do All In One WP Security, e inspeciona o que a borda não vê, como upload multipart de formulário. A borda economiza CPU; a aplicação fecha o vão. Os dados do Cloudflare Radar mostram que 82,4% dos ataques são tratados na borda, mas as duas camadas se complementam e não competem.</p>
</details>

<details>
<summary>Quanto tempo leva para aplicar as 5 camadas de mitigação de ataques?</summary>
<p>Leva cerca de 90 minutos num site de porte médio, divididos entre os cinco passos. O WAF e o limite de login são rápidos, em torno de 15 minutos cada. O hardening do wp-config leva 10 minutos. Os headers HTTP exigem mais cuidado, com uma semana de teste em modo report-only antes do enforce. O monitoramento de CVE é uma configuração única de 10 minutos mais a verificação semanal. Faça backup antes, porque erro de sintaxe no wp-config derruba o site.</p>
</details>

<details>
<summary>O que é um CVE e como ele afeta a mitigação de ataques no WordPress?</summary>
<p>Um CVE é o identificador oficial de uma vulnerabilidade pública, como o CVE-2023-48777 do Elementor, CVSS 9.9, corrigido na versão 3.18.2. Ele afeta a mitigação de ataques porque transforma a defesa de reativa em proativa: ao monitorar CVE, você sabe quando um plugin instalado virou porta de entrada antes do exploit se espalhar. O que importa é o risco atual, ou seja, a falha sem patch na versão de hoje, não o total histórico de CVEs já corrigidos.</p>
</details>

---

## Próximos passos para blindar seu WordPress em camadas

A mitigação de ataques no WordPress não é um produto, é uma rotina em camadas que vai da borda ao PHP. Comece pelo mais barato (hardening e headers), suba para o WAF e termine no monitoramento contínuo de CVE, que é o que mantém a defesa atual conforme novas falhas aparecem. A lógica é redundância: quando uma camada falha, a próxima segura, e nenhum invasor precisa de só uma porta aberta para entrar. Para continuar aprendendo, o <a href="https://full.services/guias/guia-de-seguranca-para-wordpress">guia de segurança para WordPress</a> reúne os tutoriais na ordem certa, e o <a href="https://full.services/academy/">FULL Academy</a> organiza todo o material de segurança em um só lugar.
