Detectando e prevenindo ataques com observabilidade em seu CDN

Prevenir ataques ao seu site, seja ele corporativo ou pessoal, é hoje uma necessidade. A melhor forma de fazer isso é usando ferramentas WAF (Web Application Firewall) que permitem não apenas fazer o cache para aceleração de conteudo como um proxy reverso, mas tambem para fazer as proteções de conteudo.

No exemplo abaixo estou usando o CDN da Microsoft que é o Azure Front Door.

Utilizando o Workbook Azure WAF Workbook With Metrics

O workbook está disponivel no Github oficial da Microsoft em Azure-Network-Security/Azure WAF/Workbook - WAF Monitor Workbook at master · Azure/Azure-Network-Security

Uma vez baixado, basta informar os dados de seu CDN ou WAF.

Detectando as Anomalias de Ataque

Já a algum tempo que faço os bloqueios por paises e URLs mal formadas ou com indicios de ataque. Como rotina olho a cada manhã para ver as estatística e se preciso incluir novos tipos de acesso indevido.

Hoje me deparei com um aumento expressivo de request em meu dashboard principal indicando algo errado, como mostra a umagem abaixo:

Pode-se perceber que um alto numero de request ocorreu sem aumentar o numero de conexões ativas, ou seja uma unica conexão gerando milhares de requests é realmente algo suspeito. Na madrugada isso pode ocorrer realmente, afinal os buscadores costumam fazer suas varreduras durante os horarios fora de pico. Mas não na hora do almoço...

Ao abrir o workbook de analise do WAF vi que o resultado era o esperado, o numero de páginas legitimas nas ultimas 24 horas correspondia ao normal porem o numero excessivo de blocks se confirmou!

Na sequencia analisei as regras que geraram estes 30 mil bloqueios e pude notar que foram realmente tentativas de ataque utilizando SQL e JSON injection, brute-force de administração e quebra de páginas com script embedded:

Como observação, pude ver que os paises conhecidos como atacantes na minha segunda regra que mais gerou blocks tambem tem um alto indice de paridade indicando que por algum motivo fui alvo de um ataque zumbi e vou explicar mais abaixo sobre isso.

Continuando a observação pude ver que os ataques se concentraram basicamente em 3 IPs, destacando o 122.128.109.253 como o mais ativo. Detalhe que o IP 146.70.184.154 está se utilizando de um ataque anterior que irei abordar na conclusão.

Por fim, verifiquei no Microsoft Defender Threat Intelligence que o IP 122.128.109.253 é um IP registrado em Hong Kong pertencente a uma empresa real em um endereço legitimo em um condominio da JLL:

Essa informação bate com o resumo do tráfego no meu CDN Front Door:

Conclusão

Ao pesquisar os dados notamos que é provavel o uso deste IP como zumbi, já que se trata de uma empresa de internet. Isso pode ocorrer de várias formas como um injeção de código em um blog ou um site mal protegido. Por exemplo esta empresa pode hospedar sites de terceiros e um deles ao ser hackeado está servindo de fonte de ataques.

Isso não é raro de acontecer, por exemplo eu até inicio de 2023 utilizava uma versão de Wordpress que era vulnerável e sofri a injeção uma unica página no site chamada "video.aspx" que servia para gerar lucros por simular clicks em um video monetizado. Hoje eu tenho uma versão mais recente e não vulnerável alem de ter colocado a página "videos.aspx" na lista de bloqueios. Mas se eu já removi e fiz a atualização do engine do blog, porque preciso fazer o bloqueio da página?

O motivo é simples, os "zumbis" ainda usam o meu site como tentativa de monetizar click em videos externos... Pode-se ver que o IP 146.70.184.154 mostrado em um dos prints acima está tambem sob controle de algum tipo de atacante, pois ele está tentando disparar uma série de videos a partir do meu blog.

E o caso do IP 122.128.109.253?

Olhando depois os logs vi que todas as tentativas de acesso vindos deste IP foram bloqueadas com sucesso, comprovante que a minha regra funcionou bem!

Portanto, lembre-se que a observação e analise das suas regras precisa ser constante, uma rotina para sua equipe.