Ao configurar uma lista de permissões ou regras personalizadas, defina condições de correspondência para especificar quais solicitações inspecionar. Cada condição consiste em um campo de correspondência e um operador lógico.
O que é uma condição de correspondência
Uma condição de correspondência define as características da solicitação que o DCDN WAF inspeciona na borda. Ao configurar uma política de proteção personalizada, uma lista de permissões ou uma lista de bloqueios de endereços IP, utilize uma ou mais Match Condition para definir os critérios da regra. Se a solicitação recebida atender às condições, a regra será acionada. O WAF aplica então a ação especificada, como Block, JavaScript Validation ou Monitor.
Campos de correspondência compatíveis
A tabela a seguir descreve os campos de correspondência disponíveis.
|
Campo de correspondência |
Operadores lógicos |
Descrição |
|
URI |
|
Identificador uniforme de recursos (URI) da solicitação, que especifica o caminho do recurso. O valor deve começar com uma barra ( |
|
IP |
|
Endereço IP de origem do cliente solicitante. O valor deve atender aos seguintes requisitos:
|
|
Referer |
|
URL da página de source. |
|
User-Agent |
|
Informações sobre o navegador do cliente, como identidade, mecanismo de renderização e versão. |
|
Query string |
|
Parte da URL após o ponto de interrogação (?). |
|
Cookie |
|
Informações de cookie na solicitação. |
|
Content-Type |
|
Tipo de mídia do corpo da solicitação, conforme especificado no cabeçalho Content-Type. Também conhecido como tipo MIME. |
|
Content-Length |
Is Less Than, Is Equal To, Is Greater Than |
Tamanho do corpo da solicitação em bytes. Valores válidos: 0 a 8192. |
|
X-Forwarded-For |
|
Endereço IP original do cliente, identificado pelo cabeçalho de solicitação X-Forwarded-For (XFF) quando o tráfego passa por um proxy http ou balanceador de carga. Esse cabeçalho só existe se a solicitação for roteada por meio de um proxy ou balanceador de carga. |
|
Request body |
|
Conteúdo do corpo da solicitação. O WAF não inspeciona corpos de solicitação maiores que 8 KB. |
|
HTTP method |
|
Método usado na solicitação. Os métodos compatíveis incluem GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE e PATCH. |
|
Header |
|
Cabeçalhos da solicitação. Há suporte para campos de cabeçalho personalizados. |
|
URI path |
|
Componente de caminho do URI da solicitação. |
|
Query string parameter |
|
Parâmetro na query string. Por exemplo, na URL |
|
Host |
|
Nome de domínio solicitado. |
|
CookieName |
|
Nome (ou chave) de um cookie. Por exemplo, no cookie |
|
BodyParameter |
|
Nome de um parâmetro no corpo da solicitação. Por exemplo, se o corpo contiver a string |
|
Filename |
|
Nome do arquivo no final do caminho do URI. Por exemplo, em |
|
File extension |
|
Extensão do arquivo solicitado, como |
Operadores lógicos
|
Operador lógico |
Descrição |
|
Is, Is Not |
Verifica se o valor do campo é ou não o endereço IP ou bloco CIDR especificado. |
|
Contains, Does Not Contain |
Verifica se o valor do campo contém ou não a substring especificada. |
|
Is in, Is Not in |
Verifica se o valor do campo está ou não na lista de endereços IP especificada. |
|
Contains One of, Does Not Contain Any of |
Verifica se o valor do campo contém pelo menos uma das substrings especificadas ou se não contém nenhuma delas. |
|
Equals, Does Not Equal |
Verifica se o valor do campo corresponde exatamente ou não ao valor especificado. |
|
Equals One of, Does Not Equal Any of |
Verifica se o valor do campo corresponde exatamente a pelo menos um dos valores especificados ou se não corresponde a nenhum deles. |
|
Length Equals, Length Is Greater Than, Length Is Less Than |
Compara o comprimento do valor do campo em bytes com o valor numérico especificado. |
|
Exists, Does Not Exist |
Verifica se o campo especificado existe ou não na solicitação. |
|
Is Less Than, Is Equal To, Is Greater Than |
Compara o valor numérico do campo com o valor numérico especificado. |
|
Starts With, Ends With |
Verifica se o valor do campo começa ou termina com a substring especificada. |
|
Regex Match, Regex Mismatch |
Verifica se o valor do campo corresponde ou não à expressão regular (regex) especificada. |
|
Is Empty |
Verifica se o valor do campo está vazio. |
Exemplos de configuração
Exemplo 1: Defina o campo de correspondência como
URI, o operador lógico comoContainse o conteúdo de correspondência como/login.php. Essa regra será acionada se o URI da solicitação contiver/login.php.Exemplo 2: Defina o campo de correspondência como
IP, o operador lógico comoIse o conteúdo de correspondência como 192.168.0.1. Essa regra será acionada para solicitações provenientes do endereço IP 192.168.0.1.