Encontre os principais ataques com GraphQL
Classifique as famílias de ataque que WAF detecta nas suas aplicações por requisições de ameaça, com uma query da GraphQL API ao endpoint de métricas.
Você pode classificar os tipos de ataque que WAF detecta nas suas aplicações, do mais frequente ao menos frequente, com uma query da GraphQL API. A query lê o dataset workloadMetrics, que ajuda você a acompanhar padrões de tráfego, identificar anomalias e analisar ameaças. O dataset descontinuado httpMetrics aceita a mesma query e retorna as mesmas linhas; use workloadMetrics.
Para enviar uma query GraphQL pela primeira vez, consulte Primeiros passos com a GraphQL API.
Pré-requisitos
- Um personal token. Para criar um, consulte Como criar um personal token.
- Uma aplicação cujas requisições um firewall inspeciona com um WAF rule set. Para configurar um, consulte Crie e aplique um WAF rule set.
Classifique as famílias de ataque
O endpoint de métricas conta as requisições que WAF sinaliza como ameaças e as agrupa por família de ataque. Para obter as cinco famílias de ataque mais frequentes:
Agrupe o dataset workloadMetrics por wafAttackFamily e ordene-o por wafRequestsThreat, da maior contagem para a menor. Defina begin e end como o período que você quer ler:
Cada argumento define uma parte da classificação:
| Argumento | O que faz |
|---|---|
limit | O número máximo de linhas que a API retorna. 5 mantém as cinco famílias com mais requisições de ameaça. |
filter | Os critérios que selecionam os dados que a query lê. |
tsRange | Dentro de filter, o período a ler, de begin a end. Cada valor usa o formato "YYYY-MM-DDTHH:mm:ss", como "2024-04-11T00:00:00". |
groupBy | Os campos que agrupam as linhas. [wafAttackFamily] retorna uma linha por família de ataque. |
orderBy | A ordem das linhas. [wafRequestsThreat_DESC] coloca a maior contagem primeiro; [wafRequestsThreat_ASC] coloca a menor primeiro. |
Envie a query em uma requisição POST para https://api.azion.com/v4/metrics/graphql, com o cabeçalho Authorization: Token [TOKEN VALUE]. Você também pode colá-la no GraphiQL Playground, na mesma URL. Para saber como abri-lo, consulte GraphiQL Playground.
A API responde com um objeto por família de ataque, no array workloadMetrics:
Uma linha cujo wafRequestsThreat é 0 significa que WAF não sinalizou nenhuma requisição como ameaça no período.
Cada objeto carrega os dois campos que a query selecionou:
| Campo | Valor |
|---|---|
wafAttackFamily | A categoria de ataque que WAF detectou, com base nas características da requisição, como $SQL, $XSS, $RFI ou $OTHERS. Um grupo pode nomear várias famílias, como $SQL, $XSS. |
wafRequestsThreat | O número de requisições que WAF sinalizou como ameaças nessa família durante o período, como 216747. |
As linhas vão da família com mais requisições de ameaça até a família com menos, até o limit que você definiu. Para todos os campos de WAF do dataset, consulte Campos do Real-Time Metrics.