Quando você precisa de proteção rigorosa contra ataques específicos — como chamadas de API maliciosas, solicitações suspeitas ou varreduras de alta frequência —, use regras personalizadas para criar estratégias de proteção sob medida com condições de correspondência e ações de regra flexíveis.
Conceitos principais
regra personalizada: Um módulo de proteção dentro do Core Web Protection. Para ativar este módulo, crie um modelo de proteção. É possível criar vários modelos de proteção.
-
modelo de proteção: Um conjunto de regras de proteção que define seu conteúdo e escopo. Um modelo de proteção consiste em um tipo de modelo, regras de proteção e objetos de aplicação.
-
Tipo de modelo: Especifique um tipo ao criar um modelo de proteção. Não é possível alterar o tipo após a criação. Há dois tipos de modelo disponíveis:
Tipo de modelo
Descrição
Casos de uso
Modelo de proteção padrão
Por padrão, o modelo se aplica a todos os objetos protegidos e grupos de objetos protegidos existentes e novos.
É possível excluir manualmente objetos específicos definindo seu status como "Not Applied".
Só é possível criar um modelo de proteção padrão dentro do módulo de regras personalizadas.
Implantar regras de proteção globais e de uso geral.
Modelo de proteção personalizado
É necessário especificar manualmente a quais objetos protegidos ou grupos de objetos protegidos o modelo se aplica.
Implantar regras de proteção granulares para services específicos, como APIs de login ou pagamento.
-
regra de proteção: Define a lógica de detecção específica e a ação de resposta. Um modelo de proteção pode conter várias regras de proteção. Cada regra consiste nos seguintes componentes:
condição de correspondência: Define as características da solicitação a serem inspecionadas, como o caminho da solicitação ou o endereço IP do cliente.
Tipo de proteção: Suporta três dimensões de detecção: Access Control, Rate Limiting e Extension Execution.
-
ação da regra: Define a ação a ser executada quando uma solicitação corresponde a uma regra. As ações são priorizadas da maior para a menor: Block, Strict CAPTCHA, CAPTCHA, JavaScript Validation e Log.
NotaSe uma solicitação corresponder a várias regras com a mesma ação dentro do mesmo módulo de proteção, o WAF aplicará aleatoriamente uma das regras correspondentes.
-
objeto de aplicação: Especifica o alvo de um modelo de proteção. Use esta configuração para aplicar regras de proteção a objetos protegidos ou grupos de objetos protegidos específicos. É possível associar um objeto protegido ou grupo de objetos protegidos a vários modelos de proteção.
objeto protegido: O sistema cria automaticamente um objeto protegido para cada domínio ou instância de cloud service que você adiciona ao WAF.
grupo de objetos protegidos: É possível adicionar vários objetos protegidos a um grupo para gerenciamento centralizado.
-
Procedimento
Antes de começar, certifique-se de ter adicionado seu web service ao Web Application Firewall (WAF) e de que exista um objeto protegido. Se você não adicionou seu service, consulte Add a domain to WAF.
Acesse o console do Web Application Firewall (WAF). Na barra de navegação superior, selecione o grupo de recursos e a região (Chinese Mainland ou Outside Chinese Mainland) da sua instância do WAF. No painel de navegação à esquerda, escolha .
Etapa 1: Configure o tipo de modelo
Na página Core Web Protection, localize a seção Custom Rule e clique em Create Template. No painel Create Template, configure os seguintes parâmetros.
Template Name: Insira um nome para o modelo.
-
Save as Default Template: É possível definir apenas um modelo padrão no módulo de regras personalizadas, e somente durante a criação de um novo modelo.
Yes: Não é necessário configurar um Apply To. Quando o modelo é criado, ele se aplica a todos os objetos protegidos e grupos de objetos por padrão. Também se aplica automaticamente a novos objetos adicionados posteriormente. É possível excluir manualmente objetos específicos definindo seu status como 'Inactive'.
No: Defina o Apply To para especificar manualmente os objetos protegidos ou grupos de objetos.
Etapa 2: Adicionar regras de proteção
Na área Rule Configuration, clique em Create Rule e configure os seguintes parâmetros.
Rule Name: Insira um nome para a regra.
-
Match Condition: Define as características da solicitação que a regra inspeciona. Clique em Add Condition para adicionar uma condição. Cada condição consiste em um Match Field, Logical Operator e Match Content. A tabela a seguir fornece exemplos de configuração.
NotaSe uma regra contiver várias condições, uma solicitação deverá corresponder a todas as condições (uma relação lógica AND) para acionar a regra. Não é possível configurar uma relação lógica OR entre condições. Para bloquear solicitações que correspondam a qualquer uma de várias palavras-chave ou características (por exemplo, palavra-chave A ou palavra-chave B), crie uma regra de proteção separada para cada condição. Para obter mais informações sobre campos de correspondência e operadores lógicos, consulte Match conditions.
Match Field
Logical Operator
Match Content
Descrição
URI Path
Contains
/login.phpA regra corresponde se o caminho da solicitação contiver
/login.php.IP
Belongs To
192.1.XX.XXA regra corresponde se o endereço IP do cliente for
192.1.XX.XX.NotaRegras de correspondência complexas
1. Lógica e limites de correspondência de múltiplos valores Para aplicar a mesma regra a vários endpoints de API, use operadores lógicos que suportem múltiplos valores, como Contains One of Multiple Values, Equals One of Multiple Values, Does Not Contain Any Value ou Does Not Equal Any Value. Os requisitos de configuração são os seguintes:
Delimitador: Use uma vírgula (,) para separar vários valores de correspondência. O sistema divide os valores por vírgulas e os processa de forma independente.
Quantidade e deduplicação: É possível inserir até 50 valores. Valores duplicados não são permitidos.
2. Tratamento de caracteres especiais Se o conteúdo de correspondência contiver uma vírgula (por exemplo, em algumas strings User-Agent), o sistema poderá interpretá-la incorretamente como um delimitador de múltiplos valores, causando falha na correspondência. Nesse caso, não use operadores lógicos de múltiplos valores. Recomendamos as seguintes alternativas:
Correspondência de expressão regular: Corresponde ao conteúdo usando uma expressão regular e trata vírgulas como caracteres literais.
Regra única: Crie uma regra separada para a string específica e use um operador lógico de valor único.
3. Exemplos de aplicação de Regex
Corresponder a um intervalo específico de números de versão: Para corresponder às versões do navegador Chrome entre 100 e 200, defina o campo de correspondência como
User-Agent, o operador lógico como Regex Match e o conteúdo de correspondência comoChrome/(1[0-9]{2}|200)\..Bloquear múltiplas codificações de URL: Para bloquear solicitações codificadas em URL várias vezes, por exemplo, onde
%é codificado como\x25, defina o operador lógico como "Regex Match" e o conteúdo de correspondência como\x25.*\x25.
4. Recomendações para ambientes de produção Ao configurar condições de correspondência complexas, como expressões regulares em um ambiente de produção, recomendamos usar primeiro a ação Monitor ou um teste canário para verificar o comportamento da regra. Após confirmar que não há problemas, aplique a regra a todo o tráfego.
-
Protection Rule Type: Suporta três tipos: Access Control, Rate Limiting e Extension Execution.
Access Control: Ideal para cenários que exigem controle preciso sobre tipos específicos de solicitações.
Rate Limiting: Ideal para cenários que exigem proteção com base na frequência de acesso, como prevenção contra ataques de stuffing de credenciais e força bruta. Este recurso está disponível apenas em instâncias do WAF por assinatura (Enterprise ou Ultimate Edition) e pagamento conforme o uso.
Extension Execution: Ideal para cenários de segurança personalizados que exigem scripts Lua customizados para implementar lógica de negócios complexa. Recomendamos configurar extensions primeiro.
Access control
Configure uma regra de controle de acesso para executar uma ação especificada em solicitações individuais que atendam a condições específicas.
Rate limiting
Configure uma regra de limitação de taxa para restringir o acesso excessivo de clientes.
-
Condições de detecção de taxa: Se o número de vezes que um único Statistical Object corresponde à regra dentro do Statistical Interval (Seconds) especificado exceder o Threshold (Times) configurado, o WAF acionará a ação de lista de bloqueios.
Parâmetro
Descrição
Statistical Object
Selecione o objeto para o qual medir a frequência de solicitações. As opções incluem:
IP: Mede a frequência de solicitações de um único endereço IP. Ao implantar um proxy de camada 7, como um CDN ou Anti-DDoS, na frente do WAF, certifique-se de definir o parâmetro Is a Layer 7 proxy (such as Anti-DDoS/CDN) deployed before WAF? como Yes ao adicionar o ativo ao WAF. Uma configuração incorreta impede que o WAF obtenha o endereço IP real do cliente, e as regras baseadas em IP falharão.
Custom Header: Agrupa solicitações pelo valor de um cabeçalho de solicitação personalizado, como
Referer, e mede a frequência de solicitações para cada grupo com o mesmo valor de cabeçalho dentro do período de tempo especificado.Custom Parameter: Mede a frequência de solicitações que contêm um parâmetro específico na URL. Por exemplo, se o parâmetro for
user_id, o WAF mede a frequência de solicitações com o mesmo valor deuser_id.Custom Cookie: Mede a frequência de solicitações HTTP que contêm um cookie específico dentro do período de tempo especificado. Por exemplo, se o nome do cookie personalizado for User, o WAF conta as ocorrências de cada valor User dentro do período de tempo.
Session: O WAF estabelece um ID de sessão definindo um cookie chamado
acw_tcna resposta e mede a frequência de solicitações do cliente com base no valor desse cookie.Account: Mede a frequência de solicitações da mesma conta. É necessário configurar o User Identification na página Protected Objects antes de poder usar esta opção. Para obter mais informações, consulte Configure protected objects and protected object groups.
Statistical Interval (Seconds)
Defina o período estatístico em segundos.
Threshold (Times)
Defina o número máximo de vezes que o Statistical Object pode corresponder à Match Condition dentro do Statistical Interval (Seconds).
-
Condições de detecção de código de status: Se a Quantity ou Percentage (%) de respostas com um Status Code específico exceder o limiar configurado, o WAF acionará a ação de lista de bloqueios. Ao ativar a detecção de código de status, o objeto estatístico deverá atender às condições de detecção de taxa e de código de status para acionar a ação.
Parâmetro
Descrição
Status Code
Defina o código de status a ser contado.
Quantity
Defina o número máximo de vezes que o Status Code especificado pode aparecer nas respostas dentro do período estatístico.
Percentage (%)
Defina a porcentagem máxima de respostas com o Status Code especificado dentro do período estatístico.
-
Condições de ação de lista de bloqueios: Adiciona objetos estatísticos que atendem às condições de detecção anteriores a uma lista de bloqueios. Durante a duração do Timeout Period, o WAF aplica a Rule Action configurada às solicitações do objeto bloqueado que se enquadram no escopo Apply To.
Parâmetro
Descrição
Apply To
Defina o escopo para a ação de lista de bloqueios. As opções incluem:
Current Match Condition: A ação se aplica apenas a solicitações que atendem à Match Condition da regra atual.
Protected Object: A ação se aplica a todas as solicitações do objeto estatístico, como um endereço IP, para o objeto protegido atual.
Timeout Period
Defina a duração da ação de lista de bloqueios. Unidade: segundos. Intervalo de valores: 60 a 86400.
Extension execution
Selecione as regras de extensão configuradas para implementar controles de segurança personalizados.
NotaAs regras de Extension Execution suportam apenas duas ações de regra: Block e Log.
-
Rule Action: Selecione a ação a ser executada quando uma solicitação corresponder à regra.
Parâmetro
Descrição
JavaScript Validation
O WAF retorna um trecho de JavaScript ao cliente para validação. Um navegador padrão executa este código automaticamente. Se o navegador do cliente executar o código com sucesso, o WAF permitirá todas as solicitações desse cliente por um período (30 minutos por padrão). Caso contrário, o WAF bloqueará as solicitações.
Block
Bloqueia solicitações que correspondem à regra e retorna uma página de resposta de bloqueio ao cliente.
NotaO WAF usa uma página de bloqueio padrão. Também é possível usar o recurso Custom Response para personalizar a página de bloqueio.
Log
Permite solicitações que correspondem à regra, mas registra a correspondência nos logs. Ao testar uma nova regra, é possível usar primeiro o modo Log para analisar os logs do WAF e confirmar que a regra não bloqueia solicitações legítimas e, em seguida, mudar para uma ação de regra diferente.
CAPTCHA
O WAF retorna uma página CAPTCHA ao cliente. Se o cliente concluir o CAPTCHA com sucesso, o WAF permitirá todas as solicitações desse cliente por um período (30 minutos por padrão). Caso contrário, o WAF bloqueará as solicitações.
NotaPara uma instância do WAF que usa o método de faturamento de pagamento conforme o uso, esta ação de regra incorre em taxas adicionais. Para obter mais informações, consulte Pay-as-you-go billing details.
Strict CAPTCHA
O WAF retorna uma página CAPTCHA ao cliente. Se o cliente concluir o CAPTCHA com sucesso, o WAF permitirá a solicitação. Caso contrário, o WAF a bloqueará. Neste modo, cada solicitação do cliente que corresponder a esta regra exige verificação CAPTCHA.
NotaPara uma instância do WAF que usa o método de faturamento de pagamento conforme o uso, esta ação de regra incorre em taxas adicionais. Para obter mais informações, consulte Pay-as-you-go billing details.
NotaA ação CAPTCHA está disponível apenas em instâncias do WAF por assinatura (Enterprise ou Ultimate Edition) e pagamento conforme o uso.
As ações JavaScript Validation e CAPTCHA aplicam-se apenas a solicitações síncronas. Para solicitações assíncronas, como aquelas feitas com XMLHttpRequest ou a Fetch API, é necessário injetar o Web SDK. Caso contrário, esses recursos não funcionarão corretamente. Para obter mais informações, consulte as seções de validação JavaScript e CAPTCHA em Bot management.
Após ativar o JavaScript Validation ou CAPTCHA e o cliente passar na verificação, o WAF usa Set-Cookie para definir um cookie chamado acw_sc__v2 (para JavaScript Validation) ou acw_sc__v3 (para CAPTCHA) no cabeçalho de resposta. O cliente então inclui este identificador no cabeçalho Cookie das solicitações subsequentes.
-
Advanced Settings (Opcional): Os seguintes recursos avançados estão disponíveis apenas para instâncias do WAF Enterprise Edition ou Ultimate Edition que usam o método de faturamento por assinatura, e para instâncias do WAF de pagamento conforme o uso.
Parâmetro
Descrição
Canary Rule
Configure a porcentagem de tráfego à qual a regra se aplica, com base em uma dimensão especificada.
Após ativar uma regra canário, defina também a Dimension e a Canary Release Proportion. Os valores válidos para Dimension são IP, Custom Header, Custom Parameter, Custom Cookie e Session.
NotaUma regra canário entra em vigor com base na Dimension configurada, em vez de ser aplicada aleatoriamente a uma porcentagem de todas as solicitações. Por exemplo, ao definir a Dimension como IP e a Canary Release Proportion como 10%, o WAF selecionará aproximadamente 10% de todos os endereços IP. O WAF então aplica a regra a todas as solicitações dos endereços IP selecionados, e não a 10% aleatórios de todas as solicitações.
Effective Mode
Permanently Effective (Padrão): A regra está sempre em vigor quando o modelo de proteção está ativado.
Fixed Schedule: A regra está em vigor apenas durante um período de tempo especificado.
Recurring Schedule: A regra está em vigor apenas durante um ciclo de tempo recorrente especificado.
Etapa 3: Defina objetos de aplicação
Na área Apply To, selecione os protected objects and protected object groups aos quais deseja aplicar o modelo.
A aplicação do modelo depende da configuração feita na Step 1:
Se você definiu o modelo como o modelo de proteção padrão: Não é necessário configurar objetos de aplicação. O modelo é aplicado a todos os objetos protegidos e grupos de objetos protegidos existentes e novos por padrão. É possível excluir manualmente objetos específicos definindo seu status como "Not Applied".
Se você não definiu o modelo como o modelo de proteção padrão: Especifique manualmente os objetos protegidos e grupos de objetos protegidos aos quais o modelo se aplica.
É possível ajustar manualmente o status de aplicação para objetos protegidos ou grupos de objetos protegidos durante e após a criação do modelo.
Exemplos de configuração de regras de proteção
Os seguintes exemplos de configuração são apenas para referência. Antes de implantar regras em um ambiente de produção, é necessário ajustá-las com base no tráfego real do seu negócio e nos padrões de ataque. A cópia e a aplicação direta desses exemplos podem causar interrupção nos negócios ou proteção ineficaz.
Restringir o acesso ao painel de administração a endereços IP específicos
Bloqueie todas as solicitações de acesso ao caminho /wp-admin e permita apenas solicitações do endereço IP do administrador, 192.1.XX.XX.
-
Match Condition:
Defina o Match Field como
IP, o Logical Operator comoNot Belong Toe o Match Content como o endereço IP da lista de permissões do administrador192.1.XX.XX.Defina o Match Field como
URI Path, o Logical Operator comoContainse o Match Content como o caminho ao qual deseja restringir o acesso:/wp-admin.
Protection Rule Type: Access Control.
Rule Action: Block.
Adicionar um endereço IP à lista de permissões para testar um domínio
Permita apenas que um endereço IP específico da lista de permissões acesse um domínio de teste adicionado ao WAF e bloqueie todo o outro tráfego público.
-
Match Condition:
Defina o Match Field como
IP, o Logical Operator comoNot Belong Toe o Match Content como o intervalo de endereços IP da lista de permissões, como203.xx.xx.200/32.Defina o Match Field como
Host, o Logical Operator comoEqualse o Match Content como o domínio de teste, comotest.example.com.
Protection Rule Type: Access Control.
Rule Action: Block.
Bloquear solicitações com um cabeçalho de host incompatível
Se o cabeçalho Host de uma solicitação não corresponder ao seu domínio de negócios legítimo, use a seguinte regra para bloqueá-la. Isso ajuda a reduzir o risco de ataques CC ou sondagens maliciosas.
-
Match Condition:
Match Field:
Host.Logical Operator:
Not Equal To.Match Content: Insira o nome de domínio legítimo usado pelo seu negócio.
Protection Rule Type: Access Control.
Rule Action: Block.
Bloquear crawlers e scanners maliciosos
Ao configurar regras personalizadas, use os seguintes padrões comuns de User-Agent (UA) para identificar diferentes tipos de tráfego:
Ferramentas de varredura de segurança: Como
sqlmap,nmapenikto, que são comumente usadas para varredura de vulnerabilidades.Scripts e bibliotecas automatizados: Como
python-requests,Python-urllib,curl/eWget/, que são frequentemente usados para chamadas por script ou acesso sem navegador.Crawlers de extração de dados: Como
MJ12bot,AhrefsBoteSemrushBot, que são usados para análise de SEO ou extração de conteúdo.Mecanismos de pesquisa convencionais: Como
Googlebot,Baiduspiderebingbot.Identificadores móveis: Como
Mobile,Android,iPhoneeiPad.
Confiar apenas no campo UA não é uma maneira confiável de identificar tráfego malicioso, pois os invasores frequentemente falsificam seu UA para imitar navegadores normais. Ao configurar regras personalizadas, recomendamos também considerar a reputação do IP, a frequência de acesso e os logs do WAF para uma avaliação abrangente, a fim de evitar o bloqueio de solicitações legítimas do negócio.
O exemplo a seguir bloqueia solicitações HTTP onde o campo UA contém a string bot.
Match Condition: Defina o Match Field como
User-Agent, o Logical Operator comoContainse o Match Content como o padrão UAbot.Protection Rule Type: Access Control.
Rule Action: Block.
Usar verificação humana para bloquear bots
Ative a validação JavaScript para um caminho de solicitação sob ataque malicioso, como /index.php, para bloquear ferramentas de ataque automatizadas sem afetar o acesso normal do navegador.
Para páginas estáticas, configure regras de validação JavaScript ou CAPTCHA para garantir que as solicitações se originem de navegadores padrão capazes de executar JavaScript. Esses métodos de verificação aplicam-se apenas a solicitações síncronas e não são adequados para solicitações assíncronas, como aquelas feitas com XMLHttpRequest ou a Fetch API.
Para endpoints de API apenas de back-end usados para comunicação service para service, não recomendamos configurar o Run JavaScript Validation. O Run JavaScript Validation depende de um ambiente de navegador para ser executado. Os clientes de API são tipicamente programas do lado do servidor ou scripts automatizados que não conseguem analisar e executar JavaScript, o que bloquearia continuamente solicitações legítimas. Ao configurar condições de correspondência, recomendamos excluir endpoints de API do escopo do Run JavaScript Validation.
Match Condition: Defina o Match Field como
URI Path, o Logical Operator comoContainse o Match Content como/index.php.Protection Rule Type: Access Control.
Rule Action: Run JavaScript Validation ou Run Slider CAPTCHA.
Para ativar a validação JavaScript para todos os caminhos de solicitação, defina o conteúdo de correspondência como /. Como esta configuração se aplica a todas as solicitações, recomendamos seguir o princípio do menor privilégio, definindo com precisão o escopo da regra e usando a correspondência global com cautela.
Limitar a taxa de endpoints de API
Ative a limitação de taxa para todos os endpoints de API, exceto example.com/api/pay. Este exemplo pressupõe que todas as URIs de endpoints de API contenham a string /api.
-
Match Condition:
Defina o Match Field como
URI Path, o Logical Operator comoNot Equal Toe o Match Content como/api/pay.Defina o Match Field como
URI Path, o Logical Operator comoContainse o Match Content como/api.
Protection Rule Type: Rate Limiting.
Statistical Object: IP.
Statistical Interval (Seconds): 10.
Threshold (Times): 5.
Apply To: Current Match Condition.
Timeout Period: 1800.
Rule Action: Block.
Implantação em produção
Para evitar interrupções no seu negócio, não crie e ative regras de proteção que usem a ação Block diretamente em um ambiente de produção. Recomendamos seguir este processo de implantação.
Analisar características de solicitação: Use os security reports e os logs do WAF para identificar as características de solicitações legítimas de negócios e ataques maliciosos, como endereço IP, User-Agent, Header e URI. Ao planejar configurar uma regra de limitação de taxa, determine também a frequência de solicitação de linha de base para o tráfego normal do seu negócio.
Configure uma lista de permissões: Antes de criar um modelo de regra personalizada, crie uma allowlist rule para adicionar endereços IP confiáveis à lista de permissões. Isso evita que novas regras bloqueiem solicitações confiáveis.
-
Realizar testes canário: Após criar uma regra personalizada, use um dos seguintes métodos para testá-la antes de implantá-la no ambiente de produção.
Aplique a regra a um ambiente de não produção para testes.
Defina a Rule Action como Log.
Ative a Canary Rule nas Advanced Settings.
Analisar resultados dos testes: Após a execução da regra por um período, verifique os relatórios de segurança e logs em busca de falsos positivos entre as solicitações correspondidas.
Aplicar à produção: Após confirmar que a taxa de falsos positivos é aceitável, altere a ação da regra para a ação pretendida e aplique a regra ao seu ambiente de produção.
Monitorar e otimizar continuamente: Monitore os relatórios de segurança e logs. Ajuste e otimize dinamicamente suas regras com base nas mudanças no tráfego do negócio e em sua eficácia.
Operações diárias
Gerencie modelos de proteção
Novos modelos de proteção são ativados por padrão. É possível realizar as seguintes operações na lista de modelos de proteção:
Visualize o número de entradas Protected Object/Group associadas para um modelo.
Ative ou desative um modelo usando a opção Status.
Clique em Create Rule para o modelo.
Edit, Delete ou Copy um modelo de proteção.
Clique no ícone
à esquerda do nome de um modelo de proteção para visualizar as regras no modelo.
Gerencie regras de proteção
Novas regras são ativadas por padrão. É possível realizar as seguintes operações na lista de regras:
Visualize informações como o Rule ID e a Rule Condition.
Ative ou desative uma regra usando a opção Status.
Edit ou Delete uma regra.
Cotas e limites
Apenas instâncias do WAF Enterprise Edition ou Ultimate Edition que usam o método de faturamento por assinatura, e instâncias do WAF de pagamento conforme o uso, suportam os recursos CAPTCHA, Rate Limiting e Advanced Settings.
Uma única regra de proteção pode ter no máximo cinco Match Condition.
Ao usar operadores lógicos como Equals One of Multiple Values ou Contains One of Multiple Values, é possível inserir no máximo 50 valores de conteúdo de correspondência. Para corresponder a mais de 50 valores, recomendamos dividi-los em várias regras ou usar operadores como Contains ou Regex Match.
-
Uma regra se qualifica como uma "regra avançada" se atender a qualquer uma das seguintes condições. Para instâncias do WAF por assinatura, regras avançadas são suportadas apenas pela Enterprise Edition e superiores. Para instâncias do WAF de pagamento conforme o uso, o WAF cobra regras avançadas de forma diferente das regras básicas. Para detalhes de preços, consulte Pay-as-you-go billing details.
O tipo de regra é limitação de taxa.
Usa um dos seguintes campos de correspondência:
Cookie,Content-Type,Content-Length,X-Forwarded-For,Body,Http-Method,File Extension,Filename,Server-Port,Header,Cookie NameouBody Parameter.Inclui uma condição de correspondência ou não correspondência de expressão regular.
Usa configurações avançadas, como liberação canário ou um tempo efetivo agendado.
FAQ
Por que minha regra não está funcionando?
Se uma regra personalizada do WAF configurada não funcionar conforme o esperado, ou se o número de solicitações interceptadas for significativamente menor do que o esperado, recomendamos solucionar sistematicamente o problema nas seguintes áreas.
Verifique configuração e status básicos
Verifique associação de objeto protegido: Verifique a criação e a associação correta do modelo de regra personalizada ao Protected Object/Group alvo (como uma instância ALB ou um nome de domínio). Certifique-se de que seu status seja Effective; caso contrário, o WAF não poderá entregar e executar a regra.
Verifique o status do modelo e da regra: Verifique se tanto a opção Status do modelo de proteção quanto a opção Status da regra específica estão ativadas. Se qualquer uma das opções estiver desativada, a regra correspondente ficará inativa.
Verifique a ação da regra: Confirme se a Rule Action da regra está definida como algo diferente de Log. A ação Log apenas registra eventos e não bloqueia solicitações.
Validar condições e lógica de correspondência
Precisão da condição de correspondência: Verifique minuciosamente se o Match Field, o Logical Operator e o Match Content da regra correspondem corretamente às solicitações alvo. Ao usar uma expressão regular, verifique estritamente a escrita dos caracteres de escape.
Estratégia para caminhos dinâmicos: Se o caminho alvo contiver segmentos aleatórios gerados dinamicamente (como parâmetros ou IDs aleatórios), recomendamos definir o campo de correspondência como
URI Pathe usar o operador lógico Contains para corresponder apenas à string fixa e imutável no caminho. Evite corresponder ao caminho completo, pois mudanças dinâmicas podem fazer com que a regra falhe.Tratamento de cabeçalhos ausentes: Para campos de cabeçalho de solicitação que podem estar ausentes, como
RefererouUser-Agent, observe que "o valor do campo está vazio" e "o campo não existe no cabeçalho da solicitação" são dois estados lógicos diferentes. Recomendamos configurar condições para ambos os estados lógicos para evitar que a regra falhe devido a um estado não tratado.
Verifique prioridade da regra e condições de acionamento
Outras regras podem ter precedência: Verifique se há outras regras ou módulos de proteção configurados. Por exemplo, se uma regra allowlist estiver configurada, uma solicitação pode passar antes que sua regra de bloqueio possa avaliá-la.
Limitação de taxa com condições de código de status: Ao configurar uma regra Rate Limiting e ativar a detecção de status code, o WAF acionará a regra apenas se o objeto estatístico atender às condições de "limiar de frequência de acesso" e "características de código de status" dentro do período estatístico. É necessário confirmar se o servidor de origem realmente retorna o código de status especificado (como 404) para as solicitações relevantes. Caso contrário, o WAF não acionará a regra, mesmo que a frequência de acesso atinja o limiar.
Limitar a taxa de um domínio em uma instância compartilhada
As regras de limitação de taxa restringem a frequência de solicitações de um único objeto estatístico com base no objeto protegido. Se uma única instância de cloud service lidar com tráfego para vários domínios, o WAF agregará a frequência de acesso em todos os domínios para fins estatísticos. Para limitar a frequência de acesso apenas para um domínio específico, use um dos seguintes métodos:
Adicione o domínio como um objeto protegido do WAF e aplique a regra de limitação de taxa a esse objeto. Para obter mais informações, consulte Configure protected objects and protected object groups.
Na Match Condition da regra de limitação de taxa, use o campo Host para especificar o domínio para o qual deseja limitar a frequência de acesso.
Solucionando problemas do campo de correspondência de parâmetro de corpo
A razão provável é que o conteúdo de correspondência é muito curto. Ao usar o campo Body Parameter, certifique-se de que o conteúdo de correspondência tenha pelo menos cinco caracteres. Caso contrário, o WAF não conseguirá detectar o tráfego.
Como proteger contra ataques noturnos
Para services com tráfego legítimo mínimo à noite, configure regras de proteção mais rígidas para se defender contra ataques. Para fazer isso, defina o Effective Mode da regra como Recurring Schedule e selecione o Time Zone correto para aplicar proteção precisa durante o horário noturno.
Se o seu service não atender a usuários em regiões específicas (por exemplo, se atender apenas a usuários domésticos), também é possível configurar regional blocking rules para bloquear diretamente solicitações de acesso dessas regiões, bloqueando assim o tráfego anômalo.
Permitir solicitações específicas e bloquear outras
Lógica de configuração para permitir solicitações específicas e bloquear todas as outras
As regras personalizadas do WAF usam uma lógica de "corresponder e acionar", que não suporta diretamente um modelo positivo de lista de permissões de "permitir apenas solicitações especificadas, bloquear todas as outras". Para implementar esta política de segurança, use a lógica reversa: "bloquear todas as solicitações que não correspondem aos critérios de permissão". Para um método de configuração específico, consulte Restrict admin panel access to specific IP addresses.
Diferenças entre WAF e ACLs do Cloud Firewall
O WAF difere fundamentalmente das ACLs do Cloud Firewall e dos grupos de segurança do ECS em seu modelo de defesa:
ACL do Cloud Firewall: Configurada com base em "intenções de negócios" fixas e enumeráveis. Por exemplo, é possível restringir um banco de dados interno para permitir acesso apenas de endereços IP de servidores de aplicação específicos. Ela usa uma estratégia de "negar tudo por padrão, permitir por exceção" para reduzir com precisão a superfície de ataque da rede.
WAF: Fornece defesa com base em assinaturas e comportamento, principalmente para solicitações HTTP/HTTPS. O tráfego de aplicações web é altamente complexo, envolvendo inúmeras solicitações dinâmicas e interações do usuário. A adoção de uma estratégia de "negar tudo, permitir por exceção" no WAF exigiria a enumeração de todas as características de solicitações legítimas, como URLs, parâmetros e cabeçalhos. Esta estratégia não é apenas difícil de implementar, mas também extremamente cara de manter.
Estratégias granulares recomendadas para o WAF
Dadas essas diferenças, não recomendamos configurar uma regra global de "bloquear tudo, permitir específico" no WAF. Em vez disso, adote a seguinte estratégia de configuração granular:
Controle de acesso preciso: Para caminhos sensíveis, como painéis de administração ou endpoints de API principais, configure regras de controle de acesso precisas com base em endereço IP, User-Agent ou cabeçalhos específicos para aplicar um controle de acesso rigoroso.
Proteção de linha de base: Para tráfego regular do público, confie nas regras do Core Web Protection do WAF e nos módulos de proteção CC para identificar e bloquear padrões de ataque conhecidos e comportamentos anômalos, em vez de usar um bloqueio geral.
Ajuste contínuo: Analise regularmente os logs de eventos do WAF. Itere e refine continuamente suas regras de controle de acesso com base nas mudanças no tráfego do negócio e no cenário de ameaças para garantir um equilíbrio entre segurança e disponibilidade do negócio.
Usando o operador contains para evitar regras duplicadas
Ao definir o campo de correspondência como URI Path e o operador lógico como Contains, uma solicitação corresponde se a string especificada aparecer em qualquer lugar no caminho da solicitação.
Exemplo: Ao inserir /resources/author/ como conteúdo de correspondência, ele poderá corresponder a caminhos multilíngues, como /cn/resources/author/ e /en/resources/author/.
Caso de uso: Para diretórios de vários níveis ou sites multilíngues que compartilham um segmento de caminho comum e fixo, este método pode reduzir efetivamente a necessidade de regras duplicadas.