Guia completo do modo Under Attack da Cloudflare: 3 técnicas para preservar SEO e experiência

Introdução
CPU do servidor em 100% e tráfego dez vezes maior: sinais clássicos de um ataque CC. Entrei no painel da Cloudflare, ativei o modo “I’m Under Attack” e, 30 segundos depois, a carga do servidor havia diminuído.
No dia seguinte, abri o Google Search Console: o número de páginas indexadas tinha caído de mais de 1.200 para pouco mais de 800, uma redução superior a 30%. Depois de investigar por um bom tempo, entendi que o desafio de cinco segundos também estava bloqueando os rastreadores dos mecanismos de busca.
Sem ele, o servidor não suportava o ataque; com ele, SEO e experiência do usuário eram prejudicados. Neste artigo, explico como usar o modo Under Attack da Cloudflare para conter ataques sem sacrificar esses dois pontos.
Capítulo 1: o que é o modo Under Attack da Cloudflare?
Como funciona: o que acontece nesses cinco segundos
Em termos simples, o modo Under Attack acrescenta uma etapa de verificação entre seu site e o visitante. Quando alguém acessa o site, a Cloudflare não libera a entrada imediatamente: primeiro exibe uma página intermediária e pede que a pessoa aguarde cerca de cinco segundos.
Essa espera tem uma função. Durante o intervalo, a Cloudflare executa três etapas:
Primeira etapa: o navegador envia automaticamente uma solicitação inicial, e a Cloudflare grava um cookie chamado __cfduid, como se fosse uma credencial temporária para o visitante.
Segunda etapa: o navegador envia outra solicitação, agora com parâmetros criptografados. Depois da validação, a Cloudflare grava o cookie essencial cf_clearance. Essa é a credencial efetiva, válida por 30 minutos por padrão.
Terceira etapa: o navegador solicita a página inicial levando os dois cookies. A Cloudflare confere os dados e libera o acesso; só então o conteúdo do site é carregado de verdade.
Além dessas três solicitações, há outras verificações em segundo plano:
- Verificação JavaScript: um código JS ofuscado testa se o navegador consegue executar JavaScript normalmente. Navegadores comuns passam sem dificuldade, mas muitos bots simples e scripts de ataque falham.
- Impressão digital do navegador: resolução da tela, lista de extensões instaladas, fontes do sistema e outros dados são combinados em uma “impressão digital” única. Isso ajuda a identificar ferramentas de ataque disfarçadas de navegadores normais.
- Análise comportamental: frequência das solicitações, User-Agent, movimento do mouse e outros sinais ajudam a determinar se há uma pessoa de verdade operando o navegador.
Qual é a diferença para os outros níveis de segurança?
A Cloudflare oferece vários níveis de segurança, não apenas o modo Under Attack. A tabela resume as diferenças:
| Nível de segurança | Tipo de verificação | Experiência do visitante | Quando usar |
|---|---|---|---|
| Low | Quase não bloqueia | Imperceptível | Ambiente de teste, APIs |
| Medium | Desafio leve apenas para IPs suspeitos | Espera ocasional de alguns segundos | Operação cotidiana (recomendado) |
| High | Desafio mais rigoroso | Verificações frequentes | Ataques de pequena escala |
| I’m Under Attack | Todos aguardam cerca de 5 segundos | Espera obrigatória no primeiro acesso | Ataque DDoS/CC em andamento |
Pela minha experiência, Medium basta no dia a dia. Só mudo temporariamente para I’m Under Attack quando o site realmente está sendo atacado. Não deixe o desafio ativo o tempo todo: seria como viver usando uma máscara de gás e acabar sem ar também.
Quais ataques ele consegue conter?
Antes, vale uma breve explicação sobre DDoS. Ataques de rede são classificados em sete camadas no modelo OSI, e as camadas superiores ficam mais próximas da aplicação.
O modo Under Attack protege principalmente contra ataques à camada 7, os chamados ataques CC (Challenge Collapsar). Eles simulam visitas normais, mas enviam um volume enorme de solicitações até esgotar os recursos do servidor.
Para DDoS volumétricos em camadas inferiores, como UDP Flood e SYN Flood, esse modo tem utilidade limitada. A Cloudflare usa outros mecanismos para se defender deles. Por isso, a documentação oficial o trata como “um dos últimos recursos”, não como uma solução universal.
Nas palavras da Cloudflare, o recurso “realiza verificações adicionais de segurança para ajudar a mitigar ataques DDoS de camada 7”. O ponto importante é “ajudar a mitigar”, e não “bloquear por completo”. Em ataques DDoS de escala muito grande, o modo sozinho não basta e precisa ser combinado com outras defesas.
Capítulo 2: o impacto real no SEO e na experiência do usuário
Os rastreadores de busca conseguem passar pelo desafio?
Eu já testei isso, e a resposta é: depende.
O rastreador do Google, o Googlebot, consegue executar JavaScript e, em teoria, pode passar pela verificação. O problema é que o tempo de rastreamento é precioso. Em vez de esperar cinco segundos como uma pessoa, ele tende a visitar outros sites e voltar mais tarde.
Ao acompanhar os dados do Google Search Console depois de ativar o modo Under Attack, observei alguns efeitos:
- Queda acentuada na frequência de rastreamento: de cerca de 1.200 acessos diários para 400 a 600.
- Mais erros de rastreamento: surgiram muitos avisos de timeout e erro de servidor.
- Indexação mais lenta: artigos novos, antes indexados em 1 ou 2 dias, passaram a levar de 4 a 5 dias.
O rastreador do Baidu sofre ainda mais. Como sua capacidade de executar JavaScript é limitada, ele costuma falhar diante do desafio. Um amigo que mantém um site em chinês ativou o modo por três dias e viu o número de páginas indexadas pelo Baidu cair de mais de 2.000 para pouco mais de 1.000.
O Bing fica entre os dois: consegue passar, mas é mais lento, e o volume indexado pode cair de 15% a 20%.
Dados reais sobre a experiência do usuário
Não basta falar de teoria: precisamos olhar os dados. Fiz um teste A/B e registrei como o comportamento dos usuários mudou antes e depois da ativação.
A taxa de rejeição disparou:
- Antes: 35%
- Depois: 62%
- Aumento: 77%
De cada dez novos visitantes, cerca de seis fecharam a página assim que viram a espera de cinco segundos. E isso no desktop; no celular, a taxa de rejeição chegou a 75%.
O tempo médio de permanência caiu:
- Antes: 3 min 15 s
- Depois: 1 min 48 s
- Redução: 45%
A taxa de conversão caiu pela metade:
Se o site depende de cadastros, compras ou outras conversões, é razoável esperar uma queda de cerca de 50%. A pessoa chega animada, mas precisa esperar cinco segundos antes mesmo de ver o conteúdo e perde boa parte do interesse.
Um amigo do setor de e-commerce me contou que ativou o modo durante um ataque e viu os pedidos daquele dia caírem de uma média de 60 para 22. O ataque foi contido, mas as vendas também desapareceram.
Distorções nas ferramentas de análise
Esse problema é menos visível. A documentação oficial da Cloudflare diz que, como a exibição e a conclusão da página intermediária exigem JavaScript no navegador, é esperado que haja interferência em ferramentas de análise que também dependem de JavaScript.
Na prática:
O Google Analytics registra menos dados:
- A página de espera não inclui o código de rastreamento do GA.
- Quem abandona nessa etapa não é contabilizado.
- Os dados exibidos representam apenas quem passou pela validação; o volume real é maior.
Mapas de calor deixam de funcionar:
Ferramentas como Hotjar e Crazy Egg não registram o comportamento na página de espera. Você pode achar que todos entraram no site normalmente, quando, na verdade, metade foi embora ainda na porta.
O rastreamento de anúncios perde a visibilidade:
Se você usa Google Ads ou anúncios no Facebook, o acompanhamento de conversões pode ficar praticamente inutilizável após a ativação. Facebook Pixel e tags de conversão do Google Ads não são carregados: o orçamento é gasto, mas os dados desaparecem.
O desastre para APIs e serviços de terceiros
O impacto sobre páginas web ainda pode ser tolerado, mas para APIs é desastroso.
Problema 1: todas as solicitações de API falham
Chamadas de API normalmente ocorrem entre programas, não em um navegador. O cliente não executa JavaScript nem espera cinco segundos; ele apenas recebe um erro.
O pior caso que já vi envolveu um aplicativo móvel cuja API era protegida pela Cloudflare. O desenvolvedor ativou o modo no site inteiro por engano e derrubou de uma vez o aplicativo de mais de 50 mil usuários ativos. O telefone de suporte não parava de tocar.
Problema 2: integrações de terceiros são interrompidas
Muitos sites integram serviços externos, como:
- Callbacks de pagamento, como PayPal e Stripe
- Webhooks, como GitHub e Slack
- Feeds RSS
- Monitoramento do site, como Uptime Robot
Esses serviços não passam pelo desafio e acabam bloqueados. A falha no callback de pagamento é especialmente grave: o cliente paga, o site não recebe a notificação, o pedido não é atualizado e a equipe de suporte fica sobrecarregada.
Problema 3: aplicativos móveis não conseguem acessar a API
Se um aplicativo iOS ou Android se comunica com o servidor por uma Web API, ativar o modo Under Attack equivale a inutilizá-lo. O usuário abre o app, fica preso em “Loading” e termina com uma mensagem de “erro de rede”.
Por isso, minha recomendação é clara: se você tem APIs, aplicativos móveis ou integrações importantes, nunca ative o modo no site inteiro. Exclua esses caminhos com Page Rules, como veremos no próximo capítulo.
Capítulo 3: como ativar o modo apenas em caminhos específicos com Page Rules
O que são Page Rules?
Page Rules são as “regras condicionais” da Cloudflare. Elas permitem definir níveis de segurança, políticas de cache e outras opções para caminhos diferentes de uma URL.
Por exemplo:
- Em
example.com/api/*, use Security Level Low e não aplique o desafio. - Em
example.com/admin/*, use I’m Under Attack e valide rigorosamente. - Nas demais páginas, use Medium.
Assim você obtém uma proteção precisa: restringe os pontos sensíveis sem prejudicar a experiência no restante do site.
Há, porém, uma notícia ruim: em junho de 2024, a Cloudflare anunciou que Page Rules seriam descontinuadas gradualmente, com os novos recursos migrando para Configuration Rules, Cache Rules e outros sistemas. A boa notícia é que as Page Rules dos usuários atuais continuarão funcionando e a própria Cloudflare cuidará da migração, sem exigir uma mudança manual.
Contas gratuitas ainda podem usar três Page Rules, o que basta para a maioria dos sites pessoais. O plano Pro oferece 20 e o Business, 50.
Como usar corretamente o curinga * nas URLs
O núcleo das Page Rules é a correspondência de URL, e o recurso mais usado é o curinga *.
Regras básicas:
*corresponde a qualquer sequência, inclusive vazia.- Pode ser usado em qualquer posição da URL.
- Uma regra pode ter vários
*.
Padrões comuns:
example.com/api/*
→ corresponde a example.com/api/users
→ corresponde a example.com/api/posts/123
→ não corresponde a example.com/apiv2/users (é preciso haver uma barra após api)
example.com/*.jpg
→ corresponde a example.com/logo.jpg
→ corresponde a example.com/images/banner.jpg (inclui subdiretórios)
→ não corresponde a example.com/logo.png
example.com/*admin*
→ corresponde a example.com/wp-admin
→ corresponde a example.com/admin/users
→ corresponde a example.com/myadmin (basta admin aparecer na URL)
Regra de prioridade, um ponto essencial:
As Page Rules são avaliadas de cima para baixo. Assim que encontra a primeira correspondência, a Cloudflare executa essa regra e ignora as seguintes.
Isso significa que:
- Regras específicas devem vir antes; regras genéricas com curingas, depois.
- Na ordem inversa, a regra ampla “engole” todas as solicitações e as regras específicas nunca são executadas.
Exemplo incorreto:
Regra 1: example.com/* → Security Level: I'm Under Attack
Regra 2: example.com/api/* → Security Level: Low
A regra 2 nunca entra em vigor, porque a regra 1 já captura todas as solicitações.
A ordem correta é:
Regra 1: example.com/api/* → Security Level: Low (caminho específico primeiro)
Regra 2: example.com/* → Security Level: I'm Under Attack (curinga depois)
Cenário 1: proteger somente o login e o painel administrativo
Esse é o caso mais comum. Atacantes costumam tentar força bruta nas páginas de login, então basta proteger esses pontos com mais rigor.
Em um site WordPress, a configuração seria:
Regra 1: proteger o diretório wp-admin
- Correspondência:
example.com/wp-admin* - Configuração: Security Level → I’m Under Attack
Regra 2: proteger a página de login
- Correspondência:
example.com/wp-login.php - Configuração: Security Level → I’m Under Attack
Regra 3: manter as demais páginas no nível médio
- Correspondência:
example.com/* - Configuração: Security Level → Medium
Com isso, apenas o painel e o login acionam a espera de cinco segundos. A leitura de artigos continua normal e o SEO não é prejudicado.
Cenário 2: excluir endpoints de API
Se o site tem uma API, ela não pode ficar atrás desse desafio. Use:
Regra 1: nível de segurança baixo no caminho da API
- Correspondência:
example.com/api/* - Configuração: Security Level → Low
Regra 2: subdomínio dedicado à API móvel
- Correspondência:
api.example.com/* - Configuração: Security Level → Low
Regra 3: nível alto nos outros caminhos
- Correspondência:
example.com/* - Configuração: Security Level → I’m Under Attack
Observe a ordem: as regras da API precisam estar no topo.
Se a API tem várias versões, você pode usar:
example.com/api/v1/*
example.com/api/v2/*
Isso consome mais regras. Uma alternativa mais eficiente é:
example.com/api*
Esse padrão corresponde a todos os caminhos que começam com /api.
Cenário 3: proteger páginas dinâmicas e liberar arquivos estáticos
Imagens, CSS e JavaScript normalmente não precisam do desafio. Bloqueá-los pode deixar a página incompleta.
Regra 1: liberar imagens
- Correspondência:
example.com/*.jpg - Configuração: Security Level → Low, Cache Level → Cache Everything
Você poderia criar regras semelhantes para:
example.com/*.pngexample.com/*.cssexample.com/*.js
Mas isso consome muitas regras. Uma solução melhor é servir os arquivos estáticos em um subdomínio de CDN:
cdn.example.com/*→ Security Level: Low
Regra 2: proteção alta nas páginas dinâmicas
- Correspondência:
example.com/* - Configuração: Security Level → I’m Under Attack
Assim, o HTML fica protegido, enquanto imagens e folhas de estilo carregam normalmente, melhorando bastante a experiência.
Configuração completa, passo a passo
Vamos percorrer o processo:
Etapa 1: entre no Cloudflare Dashboard
Acesse cloudflare.com, entre na conta e selecione o domínio desejado.
Etapa 2: abra Page Rules
No menu lateral, acesse Rules → Page Rules.
No Dashboard mais recente, o caminho pode aparecer como Rules → Page Rules (Legacy).
Etapa 3: crie a primeira regra
Clique em Create Page Rule.
No campo If the URL matches, informe o padrão da URL, por exemplo:
example.com/api/*
Role a tela, clique em + Add a Setting, selecione Security Level e defina Low.
Clique em Save and Deploy para salvar.
Etapa 4: crie as outras regras
Repita a terceira etapa. Lembre-se de que a ordem é importante.
Etapa 5: ajuste a prioridade
Na lista de regras, arraste o ícone de três linhas ao lado de cada uma. Coloque as específicas em cima e as genéricas embaixo.
Etapa 6: teste
Abra uma janela anônima e visite caminhos diferentes, confirmando que:
- A API não aciona o desafio ✓
- As páginas comuns acionam o desafio ✓
- Os arquivos estáticos carregam normalmente ✓
Como aproveitar ao máximo as três regras do plano gratuito
Com apenas três regras, é preciso escolher bem. Minha configuração recomendada é:
Regra 1: proteger a entrada mais importante
example.com/wp-admin*
Security Level: I'm Under Attack
Regra 2: liberar APIs e arquivos estáticos
example.com/api*
Security Level: Low
Regra 3: proteção média para as demais páginas
example.com/*
Security Level: Medium
Isso protege as áreas críticas sem atrapalhar o uso cotidiano. Se o site não estiver sob ataque, não mude para I’m Under Attack sem necessidade.
Capítulo 4: boas práticas para o Challenge Passage
O que é Challenge Passage?
Como vimos, depois que o visitante passa pela primeira verificação, a Cloudflare grava no navegador o cookie cf_clearance. Ele funciona como uma credencial temporária: enquanto for válido, a pessoa navega pelas outras páginas sem repetir o desafio.
Challenge Passage é justamente o tempo de validade dessa credencial.
O padrão é 30 minutos. Depois da aprovação, o usuário pode navegar pelo site sem voltar a ver a página de desafio nesse período. Ao expirar, o cookie precisa ser renovado na visita seguinte.
Há alguns detalhes técnicos interessantes:
Margem para divergência de relógio: durante a validação, a Cloudflare acrescenta alguns minutos para evitar erros causados por diferenças entre os relógios do cliente e do servidor.
Tratamento especial para XMLHttpRequest: em requisições Ajax, a Cloudflare acrescenta uma hora de tolerância. Isso evita expirações frequentes em aplicações de página única, ou SPAs, com cache de curta duração.
Herança do nível de segurança: se o usuário passou por um Interactive Challenge, a verificação mais rigorosa, o cookie permite atravessar desafios de qualquer nível. Se passou apenas por um nível inferior, ainda precisará validar novamente diante de um nível superior.
Onde configurar o período?
No Cloudflare Dashboard, acesse:
Security → Settings → Challenge Passage
Clique no ícone de edição para mudar o tempo em minutos. A Cloudflare recomenda uma faixa de 15 a 45 minutos.
Essa configuração é global para todo o domínio. Não é possível definir um período diferente para cada caminho.
Valores recomendados para cada cenário
Com base na minha experiência prática, recomendo:
Alta segurança, como finanças, pagamentos e dados sensíveis: 15 a 20 minutos
- Indicado para: internet banking, plataformas de pagamento e sistemas corporativos.
- Motivo: a segurança tem prioridade máxima, as sessões costumam ser curtas e verificações frequentes são aceitáveis.
- Experiência: validar a cada 15 minutos incomoda um pouco, mas é compreensível nesse contexto.
Equilíbrio, como e-commerce, sites corporativos e SaaS: 30 minutos, o padrão
- Indicado para: a maioria dos sites comerciais.
- Motivo: equilibra segurança e experiência; 30 minutos bastam para concluir uma compra ou uma sessão de navegação.
- Experiência: a maioria das pessoas termina o que precisava antes de encontrar uma segunda verificação.
Experiência em primeiro lugar, como portais de conteúdo, blogs e mídia: 40 a 45 minutos
- Indicado para: sites de notícias, blogs técnicos e plataformas de vídeo.
- Motivo: as sessões são longas e passam por várias páginas; verificações frequentes interrompem a leitura.
- Experiência: o leitor consegue terminar alguns artigos longos sem ser interrompido.
No meu blog técnico, uso 40 minutos. Os leitores costumam abrir vários artigos em uma única visita, e 30 minutos às vezes não bastam.
Três equívocos comuns
Equívoco 1: quanto menor o período, maior a segurança
Muita gente imagina que definir cinco minutos e repetir a validação nesse intervalo oferece o máximo de segurança.
Isso é ilusório. O objetivo do modo Under Attack é diferenciar pessoas de máquinas, não impedir a mesma pessoa de voltar. Se um usuário real já foi aprovado, obrigá-lo a repetir o processo a cada cinco minutos só cria irritação.
O tráfego malicioso é bloqueado logo no primeiro desafio, sem obter o cookie, ou usa ferramentas avançadas para contornar a verificação. Nesse segundo caso, cinco ou 30 minutos não fazem diferença.
Equívoco 2: várias horas são mais convenientes
Talvez você pense: “Se eu definir duas horas, a experiência não fica melhor?”
O problema é que um cookie válido por tempo demais reduz bastante a segurança. Imagine:
- A pessoa passa pela verificação usando o Wi-Fi público de uma cafeteria.
- Ela vai embora, mas o cookie continua válido.
- Outra pessoa na mesma rede, ou um invasor, pode obter esse cookie.
- Pelas próximas duas horas, o invasor navega livremente com essa credencial.
Há uma razão para a Cloudflare recomendar um máximo de 45 minutos. Não tente ser mais esperto definindo um período muito maior.
Equívoco 3: acreditar que o período vale para todas as regras
Eu mesmo já caí nessa armadilha. Mesmo depois de configurar o Challenge Passage, algumas regras continuavam acionando verificações frequentes.
Ao consultar a documentação, descobri que Challenge Passage não se aplica a Rate Limiting Rules.
Se você limita a frequência de solicitações com Rate Limiting, o usuário terá de validar novamente sempre que exceder o limite, independentemente do valor definido no Challenge Passage.
Como saber se a configuração está adequada?
Depois de configurá-la, não confie apenas na intuição. Acompanhe estes indicadores:
1. Reclamações dos usuários
Se as pessoas começarem a dizer que “precisam esperar cinco segundos o tempo todo”, o período pode estar curto demais. Analise o padrão normal das visitas e ajuste o valor.
2. Logs de Security Events
No Cloudflare Dashboard, acesse Security → Events. Se o mesmo IP acionar vários desafios em um intervalo curto, o período talvez esteja baixo demais.
3. Taxa de rejeição e tempo de permanência
Se a rejeição subir de repente e o tempo médio cair, pode haver uma segunda verificação durante a navegação, fazendo o usuário desistir.
Minha prática é observar por uma semana depois de alterar a configuração e ajustar com base nos dados. Não comece com valores extremos.
Como combinar o recurso com o WAF
Em muitos casos, não é preciso aplicar o modo Under Attack em todo o site nem repetir desafios com frequência. Com o WAF, o resultado pode ser melhor:
- Filtre o tráfego claramente malicioso no WAF
- Bloqueie faixas de IP maliciosas conhecidas.
- Intercepte User-Agents anormais.
- Limite a frequência das solicitações.
- Reserve o modo Under Attack para caminhos críticos
- Ative-o apenas em páginas de login, cadastro e pagamento usando Page Rules.
- Use Medium ou High nas demais páginas.
- Defina um período razoável
- Não tente usar o menor intervalo possível.
- Trinta minutos bastam para a maioria dos sites.
Nessa configuração, 90% do tráfego malicioso é filtrado pelo WAF, e apenas os 10% restantes, considerados suspeitos, passam pelo desafio. O resultado é mais seguro e menos incômodo para usuários legítimos.
Capítulo 5: sete boas práticas para usar o modo Under Attack
Prática 1: não o mantenha ativo no site inteiro
Esse é um dos erros mais comuns entre iniciantes. A pessoa vê o site sob ataque, ativa o recurso às pressas e esquece de desligá-lo quando o ataque termina, mantendo-o por meses.
O que fazer:
- Ative temporariamente apenas durante um ataque evidente.
- Depois que ele terminar, normalmente em 1 a 3 dias, volte para Medium ou High.
- Use uma ferramenta de monitoramento, como UptimeRobot, para verificar o site regularmente.
- Crie um lembrete semanal no calendário para revisar o nível de segurança.
Eu sigo uma regra: sempre que ativo o modo, programo um alarme no celular para 48 horas depois e reavalio obrigatoriamente se ele ainda é necessário.
Prática 2: priorize a proteção precisa com Page Rules
Ativar no site inteiro é a solução mais bruta, como soldar todas as portas de casa para impedir a entrada de ladrões. A abordagem inteligente é trancar apenas as portas importantes.
Caminhos que merecem proteção reforçada:
- Login:
/login,/wp-login.php - Cadastro:
/register,/signup - Administração:
/admin,/wp-admin - Pagamento:
/checkout,/payment - Envio de formulários:
/contact,/comment
Caminhos que precisam ser excluídos:
- APIs:
/api/*,/rest/* - Arquivos estáticos:
/*.jpg,/*.css,/*.js - Feeds RSS:
/feed,/rss.xml robots.txtesitemap.xml- Health checks:
/health,/status
Uma configuração ideal para um blog técnico:
Regra 1: example.com/wp-admin* → I'm Under Attack
Regra 2: example.com/xmlrpc.php → I'm Under Attack (alvo específico em WordPress)
Regra 3: example.com/* → Medium
Prática 3: personalize a página de desafio para melhorar a experiência
A página padrão do desafio aparece em inglês, o que não é amigável para usuários que falam português. Os planos pagos da Cloudflare permitem personalizá-la.
Como personalizar:
Acesse Custom Pages → 5-Second Shield e envie uma página HTML personalizada.
Elementos recomendados:
- Logotipo e nome do site, reforçando a marca.
- Mensagem em português: “Estamos verificando a segurança do seu navegador. Aguarde…”
- Contagem regressiva para tornar a espera menos monótona.
- Motivo breve: “Para proteger o site contra ataques, precisamos confirmar que você é uma pessoa.”
- Informações de contato para quem encontrar problemas.
O melhor exemplo que vi transformava os cinco segundos em um pequeno jogo de carregamento no qual o usuário coletava estrelas. A espera ficou bem mais agradável.
Prática 4: combine com regras de WAF
O modo Under Attack deve ser a última linha de defesa, não carregar toda a pressão. O WAF pode filtrar boa parte do tráfego malicioso antes.
Regras de WAF recomendadas:
Regra 1: bloquear faixas de IP maliciosas conhecidas
(ip.geoip.country in {"CN"} and cf.threat_score > 30)
→ Action: Block
(Atenção: é apenas um exemplo; a configuração real depende do seu público.)
Regra 2: interceptar User-Agents anormais
(http.user_agent contains "curl" or http.user_agent contains "python")
→ Action: Challenge
Regra 3: limitar a frequência da API
(http.request.uri.path contains "/api/" and rate > 100/1m)
→ Action: Block for 1h
Regra 4: proteger o endpoint de login
(http.request.uri.path eq "/wp-login.php" and rate > 5/5m)
→ Action: Challenge
Com essas regras, 90% do tráfego malicioso é bloqueado antes, e o desafio precisa lidar apenas com uma pequena parcela suspeita.
Prática 5: crie exceções para rastreadores de busca
Essa medida pode reduzir bastante o impacto no SEO. Embora o Googlebot consiga passar em teoria, facilitar o rastreamento é sempre melhor.
Método 1: identificar o User-Agent no WAF
Crie uma WAF Custom Rule:
(http.user_agent contains "Googlebot" or
http.user_agent contains "Bingbot" or
http.user_agent contains "Baiduspider")
→ Skip: Security Level for this request
Assim, os rastreadores ignoram a verificação.
Método 2: reduzir o nível para faixas de IP conhecidas
Google, Bing e outros mecanismos publicam as faixas de IP de seus rastreadores. Você pode criar uma IP Access Rule e permitir esses endereços.
Lista oficial de IPs dos rastreadores do Google:
https://developers.google.com/search/docs/advanced/crawling/verifying-googlebot
Atenção:
Atacantes podem falsificar o User-Agent. A abordagem mais segura combina a validação do endereço IP com o User-Agent ou usa uma consulta DNS reversa.
Prática 6: monitore e ajuste
Uma configuração não dura para sempre. É preciso acompanhá-la e otimizá-la continuamente.
Checklist semanal:
- Revise Security Events
- Caminho:
Security→Events - Observe: número de bloqueios, regras acionadas e distribuição dos IPs de origem.
- Avalie: houve falso positivo? Alguma regra precisa mudar?
- Caminho:
- Revise o Analytics
- Tendência do tráfego.
- Mudanças anormais na taxa de rejeição.
- Queda do tempo médio de permanência.
- Revise o Google Search Console
- Estatísticas: a frequência de rastreamento caiu?
- Cobertura: a indexação foi afetada?
- Erros: aumentaram os timeouts ou respostas 403?
- Revise o feedback dos usuários
- Suporte ou e-mail receberam relatos de dificuldade de acesso?
- Há reclamações nas redes sociais?
Meu hábito:
Toda segunda-feira, às 10h, dedico 15 minutos a esses dados e registro os resultados em uma planilha do Excel. Se encontro algo anormal, ajusto imediatamente.
Prática 7: use um domínio dedicado para aplicativos móveis
Se você tem um aplicativo iOS ou Android, recomendo fortemente um subdomínio separado para a API.
Arquitetura:
www.example.com— frontend do site, pode usar o modo Under Attack.api.example.com— API, sem o desafio.admin.example.com— painel administrativo, com o desafio e uma verificação adicional.
Política de segurança:
- Autentique a API com API Key ou JWT Token.
- Limite a frequência das solicitações pelo WAF.
- Use uma lista de IPs permitidos para aceitar apenas os endereços de saída do aplicativo móvel.
Vantagens:
- A experiência no aplicativo não é afetada.
- O frontend do site pode ativar a proteção sem receio.
- API e frontend ficam desacoplados e mais fáceis de manter.
- Cada domínio pode usar uma política de CDN diferente.
Projetei essa arquitetura para um cliente cujo site sofria ataques frequentes, mas cujo aplicativo tinha 200 mil usuários ativos por dia. Com um domínio dedicado à API, o site podia ativar o modo Under Attack durante um incidente sem afetar o app.
Conclusão
Depois de tudo isso, a ideia central cabe em três frases:
1. O modo Under Attack é uma ferramenta de emergência, não uma proteção rotineira
Ele se parece com o freio de emergência de um carro: pode salvar você no momento crítico, mas não dá para dirigir pisando nele o tempo inteiro. No cotidiano, Medium combinado com WAF costuma bastar; mude para I’m Under Attack apenas diante de um ataque real.
2. Page Rules são a chave para um controle preciso
Não ative o desafio no site inteiro, pois o prejuízo pode superar o benefício. Proteja apenas login, cadastro, pagamento e outros caminhos críticos, mantendo baixa interferência no restante. Com uma boa configuração, as três regras do plano gratuito são suficientes.
3. Equilibrar segurança e experiência exige ajustes contínuos
Nenhuma configuração serve para sempre. Monitore os dados e ajuste os parâmetros de acordo com o tipo de site, o comportamento dos usuários e os ataques observados. Trinta minutos de Challenge Passage são um bom ponto de partida, mas a decisão final deve vir dos seus próprios dados.
Para terminar, aqui está um checklist de ações:
- Verifique agora: qual é o nível de segurança atual na Cloudflare? Se for I’m Under Attack, avalie se ele ainda é necessário.
- Configure Page Rules: use os cenários do capítulo 3 para criar pelo menos duas regras e obter proteção precisa.
- Defina o Challenge Passage: escolha um valor entre 15 e 45 minutos de acordo com o tipo de site.
- Teste: abra uma janela anônima, visite caminhos diferentes e confirme se a configuração funciona.
- Crie um lembrete de monitoramento: revise Security Events e Analytics uma vez por semana.
Se este artigo ajudou, compartilhe-o com outros administradores que também estejam enfrentando ataques DDoS. E, se você tiver outras experiências ou dúvidas sobre o modo Under Attack da Cloudflare, deixe um comentário.
Como configurar uma proteção precisa com o modo Under Attack da Cloudflare
Do funcionamento do modo Under Attack à configuração precisa com Page Rules, passando pela otimização do Challenge Passage e por 7 boas práticas para reduzir o impacto no SEO e na experiência do usuário durante a defesa contra ataques DDoS
Estimated time: PT30M
-
1
Step 1: Entenda como funciona o modo Under Attack e quando usá-lo
Como funciona: -
2
Step 2: Entenda o impacto no SEO e na experiência do usuário
Impacto no SEO: -
3
Step 3: Configure Page Rules para obter proteção precisa
O que são Page Rules: regras condicionais da Cloudflare que definem níveis de segurança diferentes conforme o caminho da URL. A conta gratuita oferece 3 Page Rules, o plano Pro oferece 20 e o Business, 50. Correspondência: o curinga * representa qualquer sequência, pode aparecer em qualquer posição da URL e ser usado várias vezes. Exemplos: example.com/api/* corresponde a caminhos de API; example.com/.jpg, a imagens JPG; example.com/admin, a URLs que contenham admin. Prioridade, um ponto essencial: as Page Rules são avaliadas de cima para baixo, e somente a primeira correspondente é executada. Coloque regras específicas antes das genéricas. Na ordem errada, uma regra ampla captura todas as solicitações e impede a avaliação das específicas. Cenário 1, proteger somente login e painel: regra 1 para example.com/wp-admin com Security Level igual a I’m Under Attack; regra 2 para example.com/wp-login.php com Security Level igual a I’m Under Attack; regra 3 para example.com/* com Security Level igual a Medium. Cenário 2, excluir APIs: regra 1 para example.com/api/* com Security Level igual a Low; regra 2 para example.com/* com Security Level igual a I’m Under Attack. A regra da API deve vir primeiro. Cenário 3, proteger páginas dinâmicas e liberar arquivos estáticos: regra 1 para example.com/.jpg com Security Level igual a Low e Cache Level igual a Cache Everything; regra 2 para example.com/ com Security Level igual a I’m Under Attack. Etapas: entre no Cloudflare Dashboard; acesse Rules → Page Rules; clique em Create Page Rule; informe o padrão da URL; clique em + Add a Setting, escolha Security Level e defina o valor; clique em Save and Deploy; repita para as demais regras; reordene-as com as específicas acima e as genéricas abaixo; teste os caminhos em uma janela anônima. -
4
Step 4: Defina o Challenge Passage para melhorar a experiência
O que é Challenge Passage: depois que o visitante passa pela primeira verificação, a Cloudflare grava o cookie cf_clearance no navegador; seu período de validade é o Challenge Passage. O padrão é 30 minutos, durante os quais o usuário pode navegar sem repetir o desafio. Onde configurar: no Cloudflare Dashboard, acesse Security → Settings → Challenge Passage e clique no ícone de edição para mudar o tempo em minutos. A Cloudflare recomenda de 15 a 45 minutos. A configuração é global para todo o domínio e não pode variar por caminho. Valores recomendados: alta segurança, como finanças, pagamentos e dados sensíveis, de 15 a 20 minutos; equilíbrio, como e-commerce, sites corporativos e SaaS, 30 minutos; experiência em primeiro lugar, como conteúdo, blogs e mídia, de 40 a 45 minutos. Três equívocos: primeiro, acreditar que um período menor sempre é mais seguro, embora o objetivo seja diferenciar pessoas de máquinas, não impedir o retorno do mesmo usuário; segundo, definir várias horas por conveniência, o que reduz bastante a segurança e ultrapassa o máximo recomendado de 45 minutos; terceiro, acreditar que o período vale para todas as regras, embora Challenge Passage não se aplique a Rate Limiting Rules. Para avaliar a configuração, acompanhe as reclamações, os logs de Security Events, a taxa de rejeição e o tempo de permanência. -
5
Step 5: Aplique as 7 boas práticas
Prática 1, não mantenha o modo ativo no site inteiro: use-o temporariamente durante um ataque evidente, volte para Medium ou High em 1 a 3 dias, monitore o site e crie um lembrete semanal. Prática 2, priorize a proteção precisa com Page Rules: proteja login (/login, /wp-login.php), cadastro (/register, /signup), administração (/admin, /wp-admin), pagamento (/checkout, /payment) e envio de formulários (/contact, /comment). Exclua APIs (/api/, /rest/), arquivos estáticos (/.jpg, /.css, /*.js), feeds RSS (/feed, /rss.xml), robots.txt, sitemap.xml e health checks (/health, /status). Prática 3, personalize a página: nos planos pagos, inclua logotipo e nome, explicação em português, contagem regressiva, motivo breve e contato. Prática 4, combine com WAF: filtre faixas de IP maliciosas, User-Agents anormais e excesso de solicitações; use o modo Under Attack apenas em caminhos críticos; mantenha um período razoável, como 30 minutos. Prática 5, crie exceções para rastreadores: identifique Googlebot, Bingbot e Baiduspider em uma WAF Custom Rule e aplique Skip Security Level; reduza o nível para as faixas de IP oficiais usando uma IP Access Rule. Prática 6, monitore e ajuste: revise semanalmente Security Events, Analytics, Google Search Console e o feedback dos usuários. Prática 7, use um domínio dedicado para aplicativos móveis: www.example.com pode usar o desafio no frontend, api.example.com não o aplica à API e admin.example.com usa o desafio com uma verificação adicional; proteja a API com API Key ou JWT Token, limite a frequência pelo WAF e use uma lista de IPs permitidos.
FAQ
O que é o modo Under Attack da Cloudflare e como ele funciona?
Nesse intervalo, a Cloudflare realiza três etapas:
• Primeira: o navegador envia a primeira solicitação, e a Cloudflare grava o cookie __cfduid, que funciona como uma credencial temporária
• Segunda: o navegador envia outra solicitação com parâmetros criptografados; após validá-la, a Cloudflare grava o cookie cf_clearance, a credencial efetiva, válida por 30 minutos por padrão
• Terceira: o navegador solicita a página inicial com os dois cookies, e a Cloudflare libera o acesso após conferi-los
Além dessas três solicitações, a Cloudflare usa verificação JavaScript, impressão digital do navegador e análise comportamental para diferenciar pessoas de bots.
O modo protege principalmente contra ataques à camada 7, como ataques CC. Para DDoS volumétricos em camadas inferiores, como UDP Flood e SYN Flood, sua utilidade é limitada, e a Cloudflare emprega outros mecanismos de defesa.
Qual é o impacto do modo Under Attack no SEO e na experiência do usuário?
Googlebot:
• Em teoria, consegue passar pela verificação, mas a frequência de rastreamento cai bastante, de 1.200 acessos diários para 400 a 600
• Aumentam os erros de rastreamento, incluindo muitos timeouts e erros de servidor
• A indexação fica mais lenta: artigos novos passam de 1 a 2 dias para 4 a 5 dias
• O volume indexado pode cair mais de 30%
Baiduspider:
• Tem capacidade limitada para executar JavaScript e, na prática, costuma falhar diante do desafio
• O volume indexado pode cair pela metade
Bing:
• Fica entre os dois: consegue passar, mas com lentidão
• O volume indexado pode cair de 15% a 20%
Impacto na experiência do usuário:
• A taxa de rejeição sobe de 35% para 62%, um aumento de 77%; no celular, chega a 75%, ou seja, cerca de 6 em cada 10 novos visitantes fecham a página ao ver a espera de 5 segundos
• O tempo médio de permanência cai de 3 min 15 s para 1 min 48 s, redução de 45%
• A taxa de conversão pode cair pela metade, inclusive com redução semelhante nos pedidos de e-commerce
Impacto em APIs e serviços de terceiros:
• Solicitações de API falham, pois programas não executam JavaScript
• Callbacks de pagamento, webhooks, feeds RSS, monitoramento do site e outras integrações são interrompidos
• Aplicativos móveis deixam de acessar o serviço
Como ativar o modo Under Attack apenas em caminhos específicos usando Page Rules?
Limites por plano:
• Conta gratuita: 3 Page Rules
• Pro: 20
• Business: 50
Correspondência de URL:
• O curinga * corresponde a qualquer sequência e pode aparecer em qualquer posição da URL
• Exemplos comuns:
- example.com/api/* corresponde a todos os caminhos de API
- example.com/*.jpg corresponde às imagens JPG
- example.com/*admin* corresponde a URLs que contenham admin
Prioridade, um ponto essencial:
• As Page Rules são avaliadas de cima para baixo, e apenas a primeira regra correspondente é executada
• Coloque regras específicas antes das regras genéricas com curingas
• Na ordem errada, uma regra ampla captura todas as solicitações e impede que as regras específicas sejam avaliadas
Cenário 1 — proteger somente login e painel:
• Regra 1: proteger wp-admin, com URL example.com/wp-admin* e Security Level igual a I'm Under Attack
• Regra 2: proteger o login, com URL example.com/wp-login.php e Security Level igual a I'm Under Attack
• Regra 3: manter as demais páginas no nível médio, com URL example.com/* e Security Level igual a Medium
Cenário 2 — excluir APIs:
• Regra 1: reduzir o nível das APIs, com URL example.com/api/* e Security Level igual a Low
• Regra 2: elevar o nível dos demais caminhos, com URL example.com/* e Security Level igual a I'm Under Attack
• Atenção: a regra da API deve vir primeiro
Etapas de configuração:
1. Entre no Cloudflare Dashboard e acesse Rules → Page Rules
2. Clique em Create Page Rule
3. Informe o padrão da URL
4. Clique em + Add a Setting, escolha Security Level e defina o valor
5. Clique em Save and Deploy
6. Repita o processo para criar as demais regras
7. Arraste as regras para reordená-las, com as específicas acima e as genéricas abaixo
8. Teste em uma janela anônima
O que é Challenge Passage e como configurá-lo?
O padrão é 30 minutos. Depois da aprovação, a pessoa pode navegar pelo site durante esse período sem voltar a ver a página de desafio.
Onde configurar:
• Entre no Cloudflare Dashboard e acesse Security → Settings → Challenge Passage
• Clique no ícone de edição para mudar o tempo, em minutos
• A faixa recomendada pela Cloudflare é de 15 a 45 minutos
• Atenção: a configuração é global para todo o domínio e não pode variar por caminho
Valores recomendados por cenário:
Alta segurança, como finanças, pagamentos e dados sensíveis — 15 a 20 minutos:
• Adequado para internet banking, plataformas de pagamento e sistemas corporativos
• A segurança tem prioridade máxima, e as sessões costumam ser curtas; verificações frequentes são aceitáveis
Equilíbrio, como e-commerce, sites corporativos e SaaS — 30 minutos, o padrão:
• Adequado para a maioria dos sites comerciais, equilibrando segurança e experiência
• Trinta minutos costumam bastar para concluir uma compra ou uma sessão de navegação
Experiência em primeiro lugar, como portais de conteúdo, blogs e mídia — 40 a 45 minutos:
• Adequado para sites de notícias, blogs técnicos e plataformas de vídeo
• Como as sessões são longas e passam por várias páginas, verificações frequentes prejudicam a leitura
Três equívocos comuns:
• Equívoco 1: quanto menor o período, maior a segurança. Isso é ilusório, pois o objetivo é diferenciar pessoas de máquinas, não impedir que a mesma pessoa volte a acessar
• Equívoco 2: definir várias horas é mais conveniente. Cookies válidos por tempo demais reduzem muito a segurança; há razão para a Cloudflare recomendar um máximo de 45 minutos
• Equívoco 3: acreditar que o período vale para todas as regras. O Challenge Passage não se aplica a Rate Limiting Rules
Quais são as boas práticas para usar o modo Under Attack?
• Ative-o temporariamente apenas durante um ataque evidente
• Depois do ataque, normalmente em 1 a 3 dias, volte para Medium ou High
• Verifique o estado do site com uma ferramenta de monitoramento
• Crie um lembrete semanal para revisar o nível de segurança
Prática 2 — priorize a proteção precisa com Page Rules:
• Caminhos prioritários: login, cadastro, administração, pagamento e envio de formulários
• Caminhos que precisam ser excluídos: APIs, arquivos estáticos, feeds RSS, robots.txt, sitemap.xml e endpoints de health check
Prática 3 — personalize a página de desafio:
• Os planos pagos da Cloudflare permitem personalizar a página
• Inclua logotipo e nome do site, explicação em português, contagem regressiva, motivo breve e contato
Prática 4 — combine com regras de WAF:
• Use o WAF para filtrar tráfego claramente malicioso, bloqueando faixas de IP conhecidas, User-Agents anormais e excesso de solicitações
• Reserve o modo Under Attack para caminhos críticos
• Defina um Challenge Passage razoável; 30 minutos servem para a maioria dos sites
Prática 5 — crie exceções para rastreadores de busca:
• Identifique o User-Agent dos bots no WAF
• Reduza o nível de segurança para faixas de IP conhecidas
Prática 6 — monitore e ajuste:
• Revise semanalmente Security Events, Analytics, Google Search Console e o feedback dos usuários
Prática 7 — use um domínio dedicado para aplicativos móveis:
• Arquitetura:
- www.example.com pode usar o modo Under Attack no frontend
- api.example.com não usa o desafio na API
- admin.example.com usa o modo Under Attack e uma verificação adicional
Qual é a diferença entre o modo Under Attack e os outros níveis de segurança? Quando usar cada um?
Low:
• Quase não bloqueia solicitações e é imperceptível para o visitante
• Adequado para ambientes de teste e APIs
Medium:
• Aplica um desafio leve somente a IPs suspeitos
• O visitante ocasionalmente espera alguns segundos
• Recomendado para a operação cotidiana
High:
• Aplica verificações mais rigorosas
• O visitante precisa validar o acesso com frequência
• Adequado durante ataques de pequena escala
I'm Under Attack:
• Todos os visitantes aguardam cerca de 5 segundos
• A espera é obrigatória no primeiro acesso
• Adequado quando há um ataque DDoS ou CC em andamento
Pela minha experiência, Medium basta no dia a dia. Só mudo temporariamente para I'm Under Attack quando o site realmente está sob ataque. Manter o desafio ativo o tempo todo é como viver de máscara de gás: você também acaba sem ar.
O modo Under Attack é uma ferramenta de emergência, não uma proteção rotineira. Ele se parece com o freio de emergência de um carro: pode salvar você no momento crítico, mas não dá para dirigir pisando nele o tempo inteiro. No cotidiano, Medium combinado com WAF costuma bastar; mude para I'm Under Attack somente durante um ataque real.
27 min de leitura · Publicado em: 1 dez 2025 · Atualizado em: 4 set 2026
Cloudflare Full Stack
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Guia para iniciantes: 5 regras gratuitas do firewall da Cloudflare para filtrar 80% do tráfego malicioso
O plano gratuito da Cloudflare oferece apenas 5 regras de firewall? Veja modelos de regras WAF testados na prática, com filtros de IP, ASN, User-Agent e caminhos, além da ordem de prioridade ideal para filtrar 80% do tráfego malicioso em 30 minutos.
Parte 6 de 13
Próximo
Lista de permissões de IPs da Cloudflare na origem: 3 formas de bloquear tráfego externo
O vazamento do IP de origem pode inutilizar a proteção da Cloudflare. Veja três formas de configurar a lista de permissões com o painel BT, Nginx puro e certificado de origem, além da lista completa de IPs, testes, solução de problemas e um script de atualização automática.
Parte 8 de 13



Comentários
Entre com GitHub para comentar