1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

doc

Web Application Firewall

O Web Application Firewall (WAF) protege as suas aplicações contra ameaças do tipo SQL Injections, Remote File Inclusion (RFI), Cross-Site Scripting (XSS), entre outras vulnerabilidades web. O WAF analisa as requisições HTTP e HTTPS, detecta e bloqueia atividades maliciosas antes que elas alcancem a infraestrutura da sua aplicação.

WAF é uma barreira que usa um conjunto de regras para filtrar e monitorar o tráfego entre a sua aplicação e a internet. Atua na camada 7, conhecida como camada da aplicação (application layer), onde as aplicações acessam os serviços de rede.

  1. Como funciona
  2. Criando um WAF
  3. Main Settings
  4. WAF Tuning
  5. Allowed Rules
  6. Leia também

1. Como funciona

O Web Application Firewall é um módulo do Azion Edge Firewall baseado na metodologia de scoring de requisições. Cada requisição HTTP/HTTPS é comparada com um conjunto bem rigoroso e detalhado de padrões de aplicação e recebe uma pontuação (score) que é associada a uma determinada família de ameaças.

De acordo com o score recebido pela requisição, ela poderá ser liberada ou bloqueada diretamente nos edge nodes da Azion, antes que a ameaça atinja sua origem ou cause qualquer tipo de dano. Você define o nível desejado de sensibilidade para o bloqueio de cada família de ameaças.

Para evitar o bloqueio de requisições lícitas e o mau funcionamento de sua aplicação, você deve executar uma etapa de aprendizagem na qual o WAF Rule Set identifica os comportamentos legítimos de sua aplicação, inserindo-os em uma lista de permissões (whitelist).

Também é possível flexibilizar o funcionamento do WAF, através da aba Tuning, caso tenha tráfego interno, testes e falsos positivos sendo barrados pelo WAF.

Para utilizar os recursos de WAF Rule Sets é necessário habilitar o módulo Web Application Firewall no Edge Firewall Rule Set.


2. Criando um WAF

Para acessar a página do WAF:

  1. Acesse o Real-Time Manager (RTM).
  2. Abra o Products menu, indicado pelo ícone ☰, e na categoria Edge Libraries, clique em WAF Rules. Essa página irá mostrar todos os WAFs criados.
  3. Caso não tenha nenhum WAF configurado, clique no botão Add WAF.

O botão o enviará para a página de configuração do WAF, com o campo para adicionar um nome identificador, as abas Main Settings, Tuning e Allowed Rules, além da tabela Threat Type Configuration, onde você define o nível de sensibilidade para cada família de ameaças.


3. Main Settings

A tabela Threat Type Configuration está disponível na aba Main Settings. Aqui, as ameaças são categorizadas em famílias, conforme o objetivo do ataque.

Família de ameaça Descrição
SQL Injections Sensitivity Detecta tentativas de ataque do tipo injeção de código SQL, por meio dos dados do cliente para a aplicação.
Remote File Inclusions (RFI) Detecta tentativas de incluir arquivos, normalmente por meio de scripts no servidor web.
Directory Traversal Previne a exploração de vulnerabilidade referente à sanitização insuficiente de campos de nomes de arquivo fornecidos pelos usuários, de modo que caracteres representando atalhos para o diretório pai sejam passados por meio da API de arquivos.
Cross-Site Scripting (XSS) Previne a injeção de scripts client-side em páginas vistas por seus visitantes.
File Upload Detecta a tentativa de envio de arquivos para o servidor web.
Evading Tricks Protege contra alguns truques de codificação utilizados para tentar escapar dos mecanismos de proteção.
Unwanted Access Detecta as tentativas de acesso a páginas administrativas ou vulneráveis, bots e ferramentas de scanning de segurança.
Identified Attacks Previne vários tipos de ataques comuns e vulnerabilidades conhecidas que certamente deverão ser bloqueados.

Você também pode ativar ou desativar a proteção para cada família de ameaças individualmente através do switch Active, na terceira coluna.

Sensitivity

A sensibilidade define o rigor com o qual o WAF irá considerar uma requisição como uma ameaça.

Sensibilidade Descrição
Lowest A requisição será considerada uma ameaça se apresentar indícios muito fortes e receber um score alto. Essa sensibilidade tem um menor nível de proteção para suas aplicações, mas também evitará o bloqueio de requisições com menor chance de representar ameaças (falsos positivos).
Low A requisição será considerada uma ameaça se apresentar indícios muito fortes e receber um score alto. Essa sensibilidade tem um menor nível de proteção para suas aplicações, mas também evitará o bloqueio de requisições com menor chance de representar ameaças (falsos positivos).
Medium A requisição será considerada como ameaça se apresentar indícios suficientes e receber um score intermediário.
High Ao menor indício de uma ameaça, a requisição poderá ser bloqueada, mesmo quando apresentar um score relativamente baixo. Esse nível de sensibilidade pode apresentar mais falsos positivos se a etapa de aprendizagem não tiver cobertura suficiente sobre a variabilidade de cenários e usos de sua aplicação.
Highest Ao mínimo indício de uma ameaça, a requisição poderá ser bloqueada, mesmo quando apresentar um score muito baixo. Esse nível de sensibilidade pode apresentar muitos falsos positivos se a etapa de aprendizagem não tiver cobertura suficiente sobre a variabilidade de cenários e usos de sua aplicação.

4. WAF Tuning

WAF Tuning é uma ferramenta analítica, que mostra os IPs bloqueados por possível tentativa de ataque. Na aba Tuning, é onde você pode flexibilizar o funcionamento do WAF. Os IPs bloqueados são exibidos de forma agrupada na tabela Filter Possible Attacks e é possível filtrar por Domínio, Data, Network Lists, IP e país.

Nos filtros abaixo de Filter Possible Attacks:

  1. Informe o domínio (obrigatório), a data, quais Network Lists prefere utilizar, quais IPs está investigando e o país de origem da requisição.
  2. Clique no botão Apply filter.

Para ver os IPs bloqueados pelo WAF é necessário informar pelo menos o domínio (ou os domínios) da sua aplicação. Os outros campos são opcionais, mas permitem uma seleção mais detalhada.

Ao clicar no botão Apply filter, uma lista de Possible Attacks será exibida. Essa lista conta com os campos Rule ID, Description, Hits, IPs, Countries, Top 10 IPs Address e Top 10 Countries.

Para mais informações sobre esses possíveis ataques, consulte a documentação de Custom Allowed Rules do WAF.

Caso note tráfego interno, testes ou até mesmo falsos positivos barrados pelo WAF, é possível criar uma Allowed Rule para esses IPs e comportamentos barrados. Para isso

  1. Clique na linha que representa a regra barrada, para acessar mais detalhes como Field e Top 10 Paths.
  2. Selecione o checkbox das regras que você deseja permitir.
  3. Clique Allow Rules. Um modal aparecerá pedindo para confirmar a ação e descrever o motivo.

Dica: é importante lembrar que, ao descrever o motivo, ele irá sobrescrever a descrição do Rule ID. Por isso, se deseja manter a descrição, junto com o motivo, copie a descrição e cole junto com o motivo.


5. Allowed Rules

As Allowed Rules são compostas pelos campos:

  • Rule ID: ID numérico único de cada regra do WAF.
  • Rule Descriptions: uma descrição textual do que a regra faz.
  • URI: Uniform Resource Identifier (URI) é o path (caminho) que vai após o domínio e a porta na URL. Exemplo: /documentation/products/edge-firewall/
  • Path: quando especificado, restringe a aplicação da Match Zone somente ao path definido. O path delimita o escopo de atuação da regra.
  • Match Zone: partes ou campos da requisição que serão comparados com o match pattern. Pode ser:
    • Path: o match pattern será comparado com o path da requisição.
    • Query String: o match pattern será comparado com a query string, também chamada de GET arguments.
    • Request Header: o match pattern será comparado com os cabeçalhos HTTP da requisição.
    • Request Body: o match pattern será comparado com o body de um POST, também chamado de POST arguments.
    • File Name (Multipart Body): o match pattern será comparado com o nome de arquivos em multipart POSTs.
    • Raw Body: o match pattern será comparado com o body não interpretado de uma requisição, também chamado de unparsed body.
  • Last Editor: nome do último usuário a modificar essa Allowed Rule.
  • Last Modified: data da última modificação.
  • Active: status da Allowed Rule.

Caso deseje apagar uma regra criada:

  1. Acesse a aba Allowed Rules.
  2. Clique no ícone da lixeira.
  3. Digite delete na janela de confirmação, em seguida clique no botão Delete.

6. Leia também


Não encontrou o que procurava? Abra um ticket.