O serviço X pode ser inundado?
Sim. Você precisa garantir que os serviços estejam configurados de tal forma que, se forem inundados, os recursos do sistema (CPU, memória, etc) não serão supercomprometidos. Como você está usando o mod_security, eu suponho que você esteja executando o Apache e o MySQL.
Para o Apache, você vai querer olhar para a utilização média de memória para cada processo do Apache. Ajuste a configuração MaxClients para que ...
MaxClients * Utilização média de memória < Memória Física Total - Sobrecarga do Sistema
Se o serviço de banco de dados estiver no mesmo sistema, será necessário contabilizar isso. Se você estiver usando o MySQL, um amigo meu escreveu MySQLTuner . Embora certamente não seja um todo-fim-tudo, ele lhe dará um ponto de partida para ajustar suas configurações do MySQL para ajustar suas restrições de memória.
Com o MySQL / Apache, você precisará garantir que eles sejam executados em uma carga normal por um dia ou dois, para que a utilização da memória se estabilize ao que você consideraria um nível de produção normal. Você também precisará monitorar o sistema com o passar do tempo, já que as alterações em seu código e o aumento no tráfego terão vários efeitos na utilização de recursos.
Tudo isso é menos relacionado à segurança, pois é relacionado à disponibilidade do serviço. Na maioria dos casos, a segurança não é tão difícil. Mantenha suas coisas remendadas, use boas senhas, não se estresse. Mais vezes do que não, vai ser o material de força bruta que mata você e com o planejamento adequado de recursos, que podem ser mitigados até certo ponto.