A solução final dependerá do tipo de bots que você deseja bloquear.
Se bots estiverem atacando o apache diretamente, provavelmente você desejará usar fail2ban
. Essa é uma ótima ferramenta para casos em que bots estão tentando forçar a página de login ou algo assim.
Se você tiver algum tipo de DDoS e, especialmente, se não estiver segmentado no nível do aplicativo, poderá usar iptables
para limitar as conexões à porta por base de IP de origem. Por exemplo:
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT --reject-with tcp-reset
Esta regra eliminará as conexões de redefinição do IP cujo número de conexões é maior que 10.