Você não está apenas tentando suportar um DoS, está tentando suportar um DDoS, que é distribuído e muito mais difícil de lidar.
Essencialmente, você está tentando identificar tráfego ilegítimo e bloqueá-lo. Idealmente, você deseja rotear nulo esse tráfego (melhor ainda, faça com que seus provedores upstream o rotulem nulo)
A primeira porta de escala é a identificação. Você precisa encontrar uma maneira de identificar o tráfego que está sendo enviado ao seu host. Seja um agente de usuário comum, seja o fato de que eles não estão realmente usando um navegador adequado ( DICA: eles agem como navegadores adequados - por exemplo, seguem os redirecionamentos 301), se todas as solicitações chegam exatamente ao mesmo tempo ou como muitas solicitações que cada IP está atingindo no servidor por hora.
Você não pode bloqueá-los sem identificá-los e precisa encontrar uma maneira de fazer isso.
Essas ferramentas de mitigação de DDoS essencialmente fazem a mesma coisa, exceto em tempo real e custam uma bomba. Na metade do tempo, há falsos positivos ou o DDoS é tão grande que não importa, então tome cuidado onde você coloca seu dinheiro aqui se decidir investir em um deles agora ou no futuro.
Lembre-se: 1. IDENTIFICAR 2. BLOCO . 1 é a parte mais difícil.