No hay ninguna fórmula mágica para detener un DDoS. Contra más máquinas y más ancho de banda tengan los atacanes más difícil será mitigar el ataque.
Pero lo primero que tienes que hacer es analizar el ataque, monitoriza las conexiones, etc. Tienes que buscar algún patrón, normalmente aunque sean muchas máquinas todas atacan en orden aleatorio pero siempre de la misma manera porque reciben ordenes.
¿A que puerto van dirigidas? Si es al 80, pues filtra (mitigar tráfico de nueva conexiones) al puerto 80
-A INPUT -p tcp -m state -m recent --dport 80 --state NEW --set
-A INPUT -p tcp -m state -m recent --dport 80 --state NEW -j DROP --update --seconds 5 --hitcount 20
¿Tienen algún patrón, user-agent? Deniega dicho user-agent o filtra los bots.
etc, etc.