Você pode usar um firewall para limitar o número de conexões simultâneas e a taxa de novas conexões provenientes de uma rede (por exemplo, um / 32 para IPv4 e um / 64 para IPv6). Exemplo de como isso pode parecer usando iptables
:
# Limit number of concurrent connections
-A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 50 -j DROP
# Limit rate of new connections
-A INPUT -i eth0 -p tcp --syn -m hashlimit --hashlimit-name tcp --hashlimit-mode srcip --hashlimit-above 3/sec --hashlimit-burst 7 --hashlimit-srcmask 32 -j DROP
(A mesma coisa para ip6tables
exceto adicionar --connlimit-mask 64
ao primeiro e alterar --hashlimit-srcmask
para 64
no segundo.)
Você também pode limitar a taxa de solicitações HTTP, por exemplo, com o módulo limit_req de nginx .