Il est tout à fait possible de développer des modules Apache. En analysant le code source de mod_evasive, je ne suis pas en mesure de définir à quel moment le module est appelé : avant ou après la création du processus pour répondre à la page. A priori, il a l'air d'être appelé après, car selon son travail, il renvoie "OK" ou "FORBIDDEN" (constantes).
Or, si je souhaiterais intervenir avant tout.
Je précise que, hélas, après deux nuits entières à chercher, je n'ai pas trouvé de solutions pour les DOS. LA seule pseudo solution est de placer MaxClients à 10, en partant du plus pessimiste des situations que chaque appel soit à des pages PHP très lourdes (15 mo de RAM). Cela n'empêche en rien un simple DOS, brute force ou autre, car les autres requetes sont mises en attentes, et rend les performances médiocres sur un scénario pessismiste. EN plus, mod_evasive ne fonctionne pas bien, et il n'agit qu'après le processus créé (si mon hypothèse est bonne).
Donc, je suis reparti sur un calcul simple en faisant une moyenne des pages, pour une moyenne de 3 Mo par ressource (Php / Image), et j'ai remonté MaxClients à 30.
Je regarde donc à mettre Nginx en serveur frontal afin d'éviter ce genre de limite, et de jouer le filtre avant de transmettre une page à Apache. Je pourrai alors donner un nombre important de requêtes possibles sur les ressources statiques, et partir sur une moyenne de ressource par processus pour Apache beaucoup plus réel (8-10 Mo). J'espère aussi et surtout trouver de quoi filtrer les abus, donc le plus tôt possible pour éviter le gachis de ressources et le DOS, et sinon développer un simple et léger module Apache, à la condition mentionnée ci-dessus.
Merci par avance ...