Você provavelmente desejará instalar o LogRotate para ajudar a manter os logs um pouco mais organizados.
O Fail2Ban pode funcionar para o que você está tentando fazer, mas talvez seja necessário criar alguns filtros detalhados para obter os resultados que você está procurando, simplesmente apontando Fail2Ban no log de acesso e definindo um longo temporizador não é vai ajudar em tudo.
Além disso, se você receber muitos pedidos, é provável que um ataque distribuído e o bloqueio de um único IP por vez com o Fail2Ban possa não ser a melhor abordagem - no entanto, se for assim que você quiser, eu crie filtros especificamente para user.xml, machine.xml e para qualquer pessoa que crie mais de alguns 403s em um determinado período de tempo.
Você pode criar suas próprias regras de firewall e descartar qualquer tráfego da maior parte do mundo - você pode encontrar listas de bloqueios de IP de 'bad block' conhecidos e banir todos esses bloqueios - você também pode fazer uma pesquisa de WHOIS no IP está vindo para você e retira todos os blocos de onde vem e começa a bloqueá-los dessa maneira.
Ou crie uma regra de firewall ou regra de .htaccess para permitir apenas o tráfego de locais conhecidos que usarão seu servidor apache.
Mas realmente ... se este é um servidor web que precisa ser acessível a todos, então você não será capaz de fazer muito para ser atingido muito, obter o LogRotate instalado, expandir um pouco as regras do Fail2Ban se você quiser e esquecer, você nunca vai parar o que está vendo inteiramente, a menos que o escopo do seu projeto permita que você especificamente permita que determinados IPs atinjam o seu servidor.