---
name: azion-encontre-as-principais-origens-de-ameacas-do-waf
description: >-
  Liste os países, as famílias de ataque e os endereços IP que mais enviam ameaças do WAF às suas aplicações, no Azion Console ou com a API GraphQL.
---

# Encontre as principais origens de ameaças do WAF

Você pode encontrar os países, as famílias de ataque e os endereços IP que mais enviam ameaças do [WAF](/pt-br/documentacao/plataforma/firewall/#waf) no Azion Console ou com a API GraphQL. Para saber o que cada gráfico dos dashboards do WAF mede, consulte [Dashboards de Secure](/pt-br/documentacao/plataforma/real-time-metrics/dashboards-secure/). Para o log de cada requisição sinalizada pelo WAF, consulte [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/).

[Real-Time Metrics](/pt-br/documentacao/plataforma/real-time-metrics/) lê esses números de dois datasets. O dataset `httpMetrics` agrupa as ameaças por país e por família de ataque. O dataset `httpBreakdownMetrics` as agrupa pelo endereço IP que as enviou. Todos os exemplos desta página cobrem os últimos 7 dias.

---

Selecione sua interface uma vez. Os pré-requisitos e cada tarefa abaixo mostram apenas esse caminho.

## Pré-requisitos

- Uma conta Azion. Para criar uma, consulte [Criar uma conta](/pt-br/documentacao/fundamentos/criar-uma-conta/).
- Uma [aplicação](/pt-br/documentacao/plataforma/applications/) servida por um [workload](/pt-br/documentacao/plataforma/workloads/), com requisições nos últimos 7 dias.
- Um firewall que executa um WAF rule set nas requisições para a sua aplicação, no modo *Blocking* ou *Logging*. Para configurar um, consulte [Crie e aplique um WAF rule set](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/criar-waf-rule-set/).

**Console**

- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

**API**

- Um personal token. Para criar um, consulte [Como criar um personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/).
- `curl`.

---

## Encontre os países

Real-Time Metrics conta as ameaças pelo país de origem de cada requisição. O dashboard do WAF e o dataset `httpMetrics` trazem essa contagem.

**Console**

Para encontrar os países no Azion Console:

1. **Abra Real-Time Metrics**

   Acesse [Azion Console](https://console.azion.com/) > **Real-Time Metrics**.

2. **Selecione Secure no dropdown de categoria**

   A aba **WAF** abre no seu único dashboard, **Threats**.

3. **Defina o intervalo para os últimos 7 dias**

   No seletor de intervalo de tempo, na aba **Quick**, em **Commonly used**, selecione **Last 7 days**.

4. **Selecione Update**

   Depois que o intervalo muda, o botão **Refresh** ao lado do seletor passa a exibir **Update**.

5. **Leia os gráficos de países**

   Encontre os dois gráficos **Top WAF Threat Requests by Country**.

O gráfico de barras desenha uma barra por país, com o número de ameaças vindas dele que foram bloqueadas pelo WAF. O gráfico de pizza mostra a participação de cada país. Os dois listam os 20 países com mais ameaças e deixam de fora as ameaças registradas pelo WAF sem bloqueio. Quando nenhuma ameaça foi bloqueada pelo WAF no intervalo, cada gráfico exibe `No data available`.

**API**

Para encontrar os países com a API GraphQL, envie uma requisição `POST` para `https://api.azion.com/v4/metrics/graphql`. A query agrupa o dataset `httpMetrics` por `geolocCountryName` e seleciona três contagens do WAF para cada país.

Substitua `[TOKEN VALUE]` pelo seu personal token e os valores de `begin` e `end` pelos 7 dias que você quer ler:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query TopWafThreatSourcesByCountry($begin: DateTime!, $end: DateTime!) { httpMetrics(limit: 10, filter: { tsRange: { begin: $begin, end: $end } }, groupBy: [geolocCountryName], orderBy: [wafRequestsThreat_DESC]) { geolocCountryName wafRequestsThreat wafRequestsBlocked wafRequestsAllowed } }","variables":{"begin":"2026-01-01T12:00:00","end":"2026-01-08T12:00:00"}}'
```

A API responde `200` com uma linha por país, no máximo 10:

```json
{
  "data": {
    "httpMetrics": [
      {
        "geolocCountryName": "United States",
        "wafRequestsThreat": 0,
        "wafRequestsBlocked": 0,
        "wafRequestsAllowed": 0
      },
      {
        "geolocCountryName": "Brazil",
        "wafRequestsThreat": 0,
        "wafRequestsBlocked": 0,
        "wafRequestsAllowed": 0
      }
    ]
  }
}
```

Cada linha traz três contagens para um país:

- `wafRequestsBlocked`: ameaças bloqueadas pelo WAF.
- `wafRequestsThreat`: ameaças registradas pelo WAF sem bloqueio.
- `wafRequestsAllowed`: requisições permitidas pelo WAF.

As linhas vão do maior `wafRequestsThreat` para o menor. Para ordenar os países por ameaças bloqueadas, substitua `wafRequestsThreat_DESC` por `wafRequestsBlocked_DESC`. Uma linha com as três contagens em `0` significa que nenhuma requisição desse país foi reportada pelo WAF no intervalo.

Para todos os campos do WAF no dataset, consulte [Campos da API GraphQL do Real-Time Metrics](/pt-br/documentacao/devtools/graphql/campos-gql-real-time-metrics/#workloadmetrics).

---

## Encontre as famílias de ataque

Cada ameaça é atribuída pelo WAF a uma família de ataque, como SQL injection ou cross-site scripting. Real-Time Metrics conta as ameaças de cada família, no dashboard do WAF e no dataset `httpMetrics`.

**Console**

Para encontrar as famílias de ataque no Azion Console:

1. **Abra Real-Time Metrics**

   Acesse [Azion Console](https://console.azion.com/) > **Real-Time Metrics**.

2. **Selecione Secure no dropdown de categoria**

   A aba **WAF** abre no seu único dashboard, **Threats**.

3. **Defina o intervalo para os últimos 7 dias**

   No seletor de intervalo de tempo, na aba **Quick**, em **Commonly used**, selecione **Last 7 days**.

4. **Selecione Update**

5. **Leia o gráfico de famílias**

   Encontre o gráfico **WAF Threat Requests by Family Attack**.

O gráfico desenha uma barra por família de ataque, com o número de ameaças dessa família bloqueadas pelo WAF, para as 10 famílias com mais ameaças. Quando nenhuma ameaça foi bloqueada pelo WAF no intervalo, o gráfico exibe `No data available`. Para o significado de cada nome de família, consulte [Dashboards de Secure](/pt-br/documentacao/plataforma/real-time-metrics/dashboards-secure/#waf).

Para ver quais dos seus hosts receberam as ameaças bloqueadas, leia **WAF Threat Requests by Host** no mesmo dashboard. Ele desenha uma linha por host, até 16 hosts.

**API**

Para encontrar as famílias de ataque com a API GraphQL, envie uma requisição `POST` para `https://api.azion.com/v4/metrics/graphql`. A query agrupa o dataset `httpMetrics` por `wafAttackFamily`.

Substitua `[TOKEN VALUE]` pelo seu personal token e os valores de `begin` e `end` pelos 7 dias que você quer ler:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query ThreatsByAttackFamily($begin: DateTime!, $end: DateTime!) { httpMetrics(limit: 10, filter: { tsRange: { begin: $begin, end: $end } }, groupBy: [wafAttackFamily], orderBy: [wafRequestsThreat_DESC]) { wafAttackFamily wafRequestsThreat wafRequestsBlocked } }","variables":{"begin":"2026-01-01T12:00:00","end":"2026-01-08T12:00:00"}}'
```

A API responde `200` com uma linha por família de ataque, no máximo 10:

```json
{
  "data": {
    "httpMetrics": [
      {
        "wafAttackFamily": "-",
        "wafRequestsThreat": 0,
        "wafRequestsBlocked": 0
      }
    ]
  }
}
```

Cada linha conta, para uma família, as ameaças registradas pelo WAF sem bloqueio em `wafRequestsThreat` e as ameaças bloqueadas em `wafRequestsBlocked`. Quando o WAF não identifica nenhuma ameaça no intervalo, a resposta traz uma linha, `"wafAttackFamily": "-"`, com `0` nas duas contagens.

---

## Encontre os endereços IP

O endereço IP de uma ameaça é o endereço remoto que enviou a requisição. Apenas o dashboard Threats Breakdown e o dataset `httpBreakdownMetrics` trazem esse dado.

**Console**

Para encontrar os endereços IP no Azion Console:

1. **Abra Real-Time Metrics**

   Acesse [Azion Console](https://console.azion.com/) > **Real-Time Metrics**.

2. **Selecione Secure no dropdown de categoria**

3. **Selecione a aba Threats Breakdown**

   A aba abre no seu único dashboard, também chamado **Threats Breakdown**.

4. **Defina o intervalo para os últimos 7 dias**

   No seletor de intervalo de tempo, na aba **Quick**, em **Commonly used**, selecione **Last 7 days**.

5. **Selecione Update**

6. **Leia o gráfico de IPs**

   Encontre o gráfico **Top WAF Threat Requests by IP**.

O gráfico desenha uma barra por endereço IP, com o número de requisições vindas dele que foram identificadas pelo WAF como ameaças. Ele lista os 10 endereços com mais ameaças. Quando nenhuma ameaça foi identificada pelo WAF no intervalo, o gráfico exibe `No data available`.

**API**

Para encontrar os endereços IP com a API GraphQL, envie uma requisição `POST` para `https://api.azion.com/v4/metrics/graphql`. A query soma `wafThreatRequests` do dataset `httpBreakdownMetrics`, agrupado por `remoteAddress`. O filtro `wafThreatRequestsGt: 0` mantém apenas os endereços que enviaram ameaças.

Substitua `[TOKEN VALUE]` pelo seu personal token e os valores de `begin` e `end` pelos 7 dias que você quer ler:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query TopWafThreatSourcesByIp($begin: DateTime!, $end: DateTime!) { httpBreakdownMetrics(limit: 10, filter: { tsRange: { begin: $begin, end: $end }, wafThreatRequestsGt: 0 }, aggregate: { sum: wafThreatRequests }, groupBy: [remoteAddress], orderBy: [sum_DESC]) { remoteAddress sum } }","variables":{"begin":"2026-01-01T12:00:00","end":"2026-01-08T12:00:00"}}'
```

A API responde `200` com uma linha por endereço, no máximo 10:

```json
{
  "data": {
    "httpBreakdownMetrics": []
  }
}
```

Cada linha traz um endereço em `remoteAddress` e as suas requisições de ameaça em `sum`, da maior contagem para a menor. Um array vazio significa que nenhum endereço enviou uma requisição identificada pelo WAF como ameaça no intervalo. Mantenha o filtro `wafThreatRequestsGt: 0`: sem ele, a query também retorna os endereços com mais requisições, com um `sum` de `0`.

Para todos os campos do dataset, consulte [Campos da API GraphQL do Real-Time Metrics](/pt-br/documentacao/devtools/graphql/campos-gql-real-time-metrics/#workloadbreakdownmetrics).

Para agir sobre as origens que você encontrou, bloqueie os endereços ou países com uma [network list](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/) ou ajuste o [WAF rule set](/pt-br/documentacao/plataforma/firewall/waf/rule-sets/) contra as principais famílias de ataque.

---

## Próximos passos

- [Dashboards de Secure](/pt-br/documentacao/plataforma/real-time-metrics/dashboards-secure.md): O que cada gráfico dos dashboards WAF e Threats Breakdown conta, e o campo que o retorna.
- [WAF](/pt-br/documentacao/plataforma/firewall.md#waf): Como cada requisição é pontuada pelo WAF contra as famílias de ameaças, e onde um firewall o ativa.
- [Network lists](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists.md): Agrupe os endereços IP ou países a bloquear em uma lista que uma regra de firewall usa como critério.
- [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events.md): Leia o log de cada requisição sinalizada pelo WAF, com o endereço remoto e o match do WAF.
