Acredito que mod_qos
provavelmente seja a resposta para suas orações. Eu não posso fornecer nenhuma configuração específica ou recomendações, porque eu nunca usei, mas vem com todos os botões que você precisa.
Mais geralmente, iptables
é mais do que capaz de lidar com esse tipo de coisa, e é uma solução muito melhor (fazer coisas de rede em nível de rede). Isto é especialmente verdadeiro se você quiser lidar com outros protocolos, assim como HTTP, ou apenas deseja aplicar os limites a um subconjunto de conexões.
O comando iptables
que você deseja é algo como
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http --update --seconds 1 --hitcount 5 -j REJECT
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http --set
Isso limitará as conexões de entrada a 5 por segundo.
Observe, no entanto, que a limitação de conexão pode ser um problema real para usuários legítimos que, por acaso, são usuários pesados do site, e isso só deixará os invasores mais lentos que, na verdade, não são uma preocupação. Use com cuidado.