As condições de correspondência permitem direcionar atributos específicos de solicitações HTTP ao configurar listas de permissões de sites ou regras de proteção personalizadas. Cada condição testa um campo em relação a um valor usando um operador lógico. O WAF aplica a regra somente quando todas as condições definidas nela são atendidas.
Como funcionam as condições de correspondência
Uma condição de correspondência é composta por três partes:
Campo de correspondência — o atributo da solicitação HTTP a ser inspecionado (por exemplo, URL, IP ou User-Agent).
Operador lógico — a forma de comparar o valor do campo (por exemplo, Equals, Contains ou Prefix Match).
Match content — o valor usado como base para a comparação.
Cada regra de proteção aceita até cinco condições de correspondência. As condições são combinadas com a lógica AND; portanto, uma solicitação precisa atender a todas elas para que o WAF execute a ação da regra.
Ao configurar uma lista de permissões, defina o parâmetro Bypassed Modules para especificar quais módulos do WAF as solicitações correspondentes ignorarão. Na configuração de uma regra de proteção personalizada, defina o parâmetro Action para determinar o que o WAF fará com as solicitações correspondentes. Para obter mais detalhes, consulte:
Campos de correspondência compatíveis
Os campos estão agrupados conforme a disponibilidade por edição. Os campos marcados como Pro+ estão disponíveis nas edições Pro, Business, Enterprise e Exclusive. Já os campos marcados como Business+ exigem as edições Business, Enterprise ou Exclusive.
Edições Pro, Business, Enterprise e Exclusive
| Campo | Tipo | Descrição | Operadores lógicos compatíveis |
|---|---|---|---|
| URL | String | A URL completa da solicitação. | Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| IP | IP | O endereço IP de source da solicitação. Insira endereços IP individuais ou blocos CIDR (por exemplo, 47.100.XX.XX/24). Separe vários valores com vírgulas. |
Belongs To, Does Not Belong To. Nota
Uma regra de proteção aceita no máximo 50 endereços IP ou blocos CIDR combinados em todas as condições de correspondência de IP. |
| Referer | String | A URL da página que vinculou ao recurso solicitado (o cabeçalho HTTP Referer). |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Empty; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| User-Agent | String | O navegador do cliente, o mecanismo de renderização e a versão, conforme relatado no cabeçalho User-Agent. |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Empty; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| Params | String | Toda a string de consulta na URL da solicitação — tudo após o caractere ?. Por exemplo, em www.example.com/index.html?action=login, o valor de Params é action=login. |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| Query-Arg | String | Um argumento de consulta individual na URL da solicitação. Por exemplo, em www.example.com/request_path?arg1=a&arg2=b, os argumentos de consulta são arg1=a e arg2=b. Nota
Quando você define Match Field como Query-Arg e Logical Operator como Contains, o WAF realiza correspondência de substring nos nomes dos argumentos. Definir Match Content como |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Empty; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| URLPath | String | O componente de caminho da URL da solicitação, excluindo a string de consulta. | Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Length Equal To, Length Greater Than, Length Less Than; Prefix Match, Suffix Match; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
Apenas edições Business, Enterprise e Exclusive
| Campo | Tipo | Descrição | Operadores lógicos compatíveis |
|---|---|---|---|
| Cookie | String | Os dados de cookie na solicitação. | Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Length Equal To, Length Greater Than, Length Less Than; Regular Expression Match, Regular Expression Mismatch. |
| Content-Type | String | O tipo de conteúdo HTTP especificado para a resposta. Também conhecido como tipo MIME (Multipurpose Internet Mail Extensions). | Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Length Equal To, Length Greater Than, Length Less Than; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| Content-Length | Número | O número de bytes permitidos na resposta. | Value Less Than, Value Equal To, Value Greater Than. |
| X-Forwarded-For | String | O endereço IP de source de um cliente cuja solicitação foi encaminhada por um proxy HTTP ou instância do Server Load Balancer (SLB). O cabeçalho X-Forwarded-For (XFF) está presente apenas em solicitações encaminhadas. |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain; Does Not Exist; Length Equal To, Length Greater Than, Length Less Than. |
| Post-Body | String | O conteúdo do corpo da solicitação. | Equal To, Not Equal To; Contains, Does Not Contain; Does Not Exist; Prefix Match, Suffix Match; Regular Expression Match. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
| Server-Port | String | O número da porta do servidor de source. Por exemplo, em www.example.com:9999, a porta do servidor é 9999. |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value. |
| Http-Method | String | O método HTTP da solicitação. Valores válidos: GET, POST, DELETE, PUT, OPTIONS. |
Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value. |
| Header | String | Um cabeçalho de solicitação HTTP personalizado. Utilize este campo para corresponder a cabeçalhos não padrão ou específicos do aplicativo. | Equals, Does Not Equal, Equals One of Multiple Values, Does Not Equal Any Value; Contains, Does Not Contain, Contains One of Multiple Values, Does Not Contain Any Value; Exists, Does Not Exist; Length Equal To, Length Greater Than, Length Less Than; Regular Expression Match, Regular Expression Mismatch. Importante
A Pro Edition não oferece suporte a Regular Expression Match. |
Params vs. Query-Arg
Tanto Params quanto Query-Arg inspecionam a string de consulta, mas com diferentes níveis de granularidade:
|
Params |
Query-Arg |
|
|
Escopo |
A string de consulta inteira como um único valor |
Um argumento individual dentro da string de consulta |
|
Exemplo de valor |
|
|
|
Mais indicado para |
Corresponder ao padrão completo da string de consulta |
Corresponder a um nome ou valor de argumento específico |
Por exemplo, para bloquear solicitações em que arg1 esteja definido com um valor específico, utilize Query-Arg com Equals. Para corresponder a qualquer solicitação cuja string de consulta contenha uma substring específica, utilize Params com Contains.