Esta pergunta sobre o Serverfault tem algumas boas dicas gerais sobre mitigação de DDoS - há muitas de coisas que você pode tentar, mas um DDoS significativo requer ajuda do seu ISP, como mencionado.
Ajudaria a conhecer o servidor da Web que você está usando no Windows e no Linux - presumivelmente o IIS e o Apache.
Algumas opções em ordem decrescente de utilidade:
-
Use o firewall do kernel do Linux (iptables) para bloquear - a abordagem xtables-addons é simples, mas o ipset pode lidar com números maiores de intervalos de endereços IP. Configuração semelhante no Windows. Usar um firewall físico separado seria melhor, então ele poderia fazer o frontend do Linux e do Windows, reduzindo a configuração e o descarregamento dos servidores.
-
Use mod_security no Apache - isso pode funcionar no Windows e no Linux, desde que você use o Apache ambos. Como o uso do GeoIP envolve bastante configuração para manter os blocos do GeoIP atualizados, isso pode reduzir a manutenção geral depois de configurado.
-
Use o servidor DNS para bloquear no GeoIP - OK para um DoS casual que usa seu nome de domínio. No entanto, isso é inútil contra qualquer pessoa simplesmente usando seu endereço IP para o DOS.
Veja esta pergunta sobre bloqueio de GeoIP como bem e as ddos e geoip (também adicionadas à sua pergunta.)
Um serviço de mitigação de DDoS (também conhecido como serviço "limpar cachimbos" ) pode ser a melhor opção para DDoS sério: eles fazem o front-end do seu tráfego e filtram o DDoS, deixando-o apenas com tráfego de site válido, sujeito a quão bem eles filtram. Eles têm canos enormes e estão focados nesse problema, então provavelmente farão um trabalho melhor do que uma solução interna, e muito depende de ter um cano grande o suficiente para absorver um DDoS para que seu hardware / software possa filtrá-lo. O BlockDOS.net é um serviço com preços razoáveis, a Prolexic e a Verisign são mais sofisticadas e muito mais caras.
Se isso for muito caro, talvez seja útil hospedar novamente o Amazon EC2, que pode rotear todo o tráfego por meio de uma instância específica do EC2 (como um VPS) - há um AMI específica (imagem VPS) destinada a servir de front end aos seus servidores da Web, que estariam em instâncias separadas do EC2. O Amazon EC2 também possibilita a criação de novas instâncias do servidor para lidar com o aumento da carga. Você ainda pode ser cobrado pelo tráfego de DDoS (possivelmente mais do que por um serviço de atenuação) e pagaria pelos servidores extras, portanto, isso precisa de alguma investigação. Outros provedores de VPS em nuvem podem ter melhores políticas de DDOS ou serviços internos de mitigação de DDoS.