WAF
Pontue as requisições de um firewall contra oito famílias de ameaças com WAF e recuse SQL injection, cross-site scripting e outros ataques.
Um firewall de aplicação web lê uma requisição antes da aplicação. Ele pesa as partes que podem carregar um ataque, como o caminho, a query string, os headers, os cookies e o corpo, contra padrões de ataque conhecidos. Quando as evidências se somam, ele recusa a requisição, então a aplicação nunca a processa. Caso contrário, a requisição chega à aplicação sem alteração.
Web Application Firewall (WAF) pontua cada requisição que uma regra de um firewall entrega a ele contra oito famílias de ameaças, na camada 7, a camada de aplicação. Ele recusa ou registra cada requisição cujo score alcança um limite. Em um firewall que tem WAF ativado, ele roda para as requisições cuja regra carrega um comportamento Set WAF. Use WAF para recusar requisições que carregam ameaças do OWASP Top 10 e outras, como SQL injection, cross-site scripting e remote file inclusion.
Primeiros passos Referência do WAFEstrutura do rule set
WAF age por meio de um rule set, que guarda as famílias de ameaças a detectar e a sensibilidade escolhida para cada uma. Este rule set pontua as oito famílias na sensibilidade padrão, enviado como corpo de POST /v4/workspace/wafs:
thresholdsguarda uma entrada por família de ameaças.sensitivityaceita um de cinco níveis:highest,high,medium,lowoulowest. Uma sensibilidade maior bloqueia com um score menor:highestbloqueia em 4,mediumem 16 elowestem 40.rulesets,engine_versionetypeaceitam um valor cada, os mostrados. Uma criação que não enviaengine_settingsproduz o mesmo rule set.- Um rule set não pontua nada sozinho. Uma regra de firewall o aplica com um comportamento Set WAF,
{ "type": "set_waf", "attributes": { "waf_id": <rule-set-id>, "mode": "blocking" } }, que nomeia o rule set e o modo. - Azion Console lista os rule sets na página WAF Rules, e Azion API e Azion CLI chamam o mesmo objeto de
waf.
Se você configurou um rule set gerenciado em outro lugar, o modelo se transfere. Você escolhe categorias, que aqui são as famílias de ameaças, e um rigor para cada uma, que é a sensibilidade dela. As regras individuais ficam com a plataforma.
Caminho da requisição
Criar um rule set não inspeciona nada. Um rule set é um objeto de configuração que não carrega domínio, caminho nem método, então ele pontua exatamente as requisições que os critérios de uma regra entregam a ele. Uma regra carrega no máximo um comportamento Set WAF, então uma regra decide um rule set e um modo para as requisições a que corresponde.
Este diagrama acompanha uma requisição, da regra que corresponde a ela até a decisão do WAF:
- Uma regra no firewall corresponde à requisição, e o comportamento Set WAF dela nomeia um rule set e um modo,
loggingoublocking. - WAF pontua a requisição contra as famílias de ameaças configuradas nesse rule set.
- Um score que alcança o limite da sua família torna a requisição uma correspondência.
- Uma correspondência é recusada com
400em Blocking e registrada e servida em Logging. - Uma requisição que não alcança nenhum limite continua pelas regras do firewall até a aplicação.
Para saber como WAF pontua uma requisição, o que cada modo faz e como exceções e tuning restringem um rule set, consulte Score e modos.
Escopo e limites
- Firewall: WAF vem desativado em um firewall novo, e é o único produto que começa desativado.
modules.waf.enabledmostrafalseaté que você o ative em Main Settings › Modules do firewall, e um rule set aplicado em um firewall sem WAF nunca roda. Para saber onde fica esse interruptor, consulte Defina as configurações principais de um firewall. - Modos: Blocking responde a uma correspondência com
400e a página de erro padrão da Azion, com o título Bad Request. Nada na resposta nomeia WAF, a regra ou o score. Logging registra a correspondência e serve a requisição. Real-Time Events, Data Stream eazion.config.jschamam Logging de learning, enquanto a API recusalearningcomo modo. Para saber por que a produção começa em Logging, consulte Boas práticas de Firewall. - Corpo da requisição: em um
POST, WAF faz o parsing de um corpo enviado comoapplication/x-www-form-urlencoded,multipart/form-data,application/json,application/vnd.api+jsonouapplication/csp-report. Ele inspeciona até 131.072 bytes, que são 128 KiB, e recusa um corpo maior com400. - Exceções: uma exceção tira uma parte de uma requisição do score de uma regra interna, ou de todas as regras quando o ID da regra é
0, o padrão. Azion Console a chama de allowed rule e a mantém na aba Allowed Rules do rule set. A aba Tuning transforma correspondências selecionadas dos últimos 3 dias em allowed rules. Para cada campo, consulte Exceções. - Vários firewalls: a Azion mantém uma configuração Set WAF para cada conjunto de critérios de regra. Quando regras em dois firewalls carregam os mesmos critérios e nomeiam rule sets diferentes, só o comportamento mais recente roda. O outro rule set não roda, embora a regra dele continue ativa e o firewall dele não reporte erro. Para os detalhes, consulte Como Set WAF é resolvido entre firewalls.
- Produtos vizinhos: WAF pontua o que uma requisição carrega. Para bloquear uma requisição pela origem dela, use Network Shield, e para distinguir scripts de pessoas, use Bot Manager.
- Interfaces: você cria rule sets na página WAF Rules do Azion Console, pela API em
/v4/workspace/wafse com comandos da Azion CLI comoazion create waf. O comportamento Set WAF pertence a uma regra de firewall, criada comazion create firewall-ruleou em/v4/workspace/firewalls/<firewall-id>/request_rules.azion.config.jsdeclara um rule set e a regra que o aplica, como mostra Vincule um rule set no azion.config.js. Azion Terraform Provider gerencia WAF com os recursosazion_wafeazion_waf_rule_set. - Observabilidade: uma correspondência não deixa nada na resposta. Real-Time Metrics conta as requisições processadas e bloqueadas. Real-Time Events mostra as regras internas a que uma requisição correspondeu e o score que cada família alcançou, e Data Stream envia esses eventos para fora da Azion. Uma requisição bloqueada é encontrada pelo header
x-azion-request-iddela. - Limites: o
namede um rule set aceita até 250 caracteres, ethresholdsguarda de 1 a 8 entradas. Para cada limite, a resposta quando ele é ultrapassado e o que cada plano inclui, consulte Limites de Firewall e, para os valores, Preços. - Termos: o glossário de Firewall define as palavras às quais as páginas do WAF dão um significado específico, como rule set, limite e nível de sensibilidade.