Tenho um servidor NodeJS com HTTPS e certificados. O DNS está no CloudFlare.
O host recebe uma conexão todos os dias às 3h32 de 3.8.236.120
, um host da AWS no Reino Unido. O rastreador lança solicitações para as mesmas quatro páginas repetidamente nesse período, 26 solicitações em 5 minutos. Embora o número pareça administrável, este é o culpado mais provável e a única atividade que o servidor web mostra naquele horário todos os dias.
Bloqueei o IP no CloudFlare Web Application Firewall, junto com outros que atacaram no passado:
(ip.src in {194.48.199.78 5.43.32.229 92.220.10.100 107.172.137.111 193.169.254.179 149.3.170.66 47.243.233.244 3.8.236.120}) or (ip.geoip.country in {"IN" "ID"})
Verifiquei se a regra está habilitada. Mesmo assim, esse endereço IP ainda está se conectando ao servidor via DNS. Aqui está o log do servidor para uma conexão:
GET /pt/sumario 200 143.483 ms - 13972
[2024-02-16T03:31:18.155Z] /pt/amostras :: ::ffff:3.8.236.120 :: Python-urllib/3.11
[2024-02-16T03:31:18.156Z] Host = ginja.org
Suspeito que haja alguma configuração no CloudFlare que entre em conflito com esta regra. Como posso bloquear todas as solicitações deste endereço IP?
Atualizar
Para responder aos comentários:
- Bloqueei o endereço IPv6 no CloudFlare e ainda recebo tráfego dele.
- Não sei se o rastreador acessou
robots.txt
porque estava no diretório público e não rastreei suas visitas. Estou rastreando-os agora. - Uma solicitação a cada 12 segundos parece realmente leve. Mas recebo tráfego desse rastreador todos os dias no mesmo horário e, em alguns dias, meu servidor fica inativo nesse horário, então quero descartar esse bot primeiro. Além disso, tenho outro servidor verificando a cada minuto se este está funcionando e, nos dias que considero sob ataque, o servidor não registra nenhuma atividade do verificador de integridade, então é possível que o rastreador inunde meu servidor com isso. muitas solicitações ao mesmo tempo que não são registradas.
O problema era que meu DNS no CloudFlare não tinha proxy. Era "somente DNS". E, portanto, as regras do Web Application Firewall não se aplicavam.
Quando ativei o DNS
root
ewww
fiz proxy através do CloudFlare, as regras começaram a funcionar.E acabou não sendo um ataque DoS, como sugeriram os comentários, porque uma solicitação a cada 12 segundos é bastante leve. Mas, após descartar essa causa, encontrei o verdadeiro culpado.
Hoje aprendi que o tráfego do CloudFlare precisa ser proxy para ser protegido.