ModSecurity et l'OWASP CRS — les règles WAF que nous livrons réellement sur Apache
14 mai 2026 · 2 min de lecture · par Sudhanshu K.
Ceci est un extrait. L'article complet est sur Medium.
ModSecurity est l'un de ces outils que presque tout le monde a installé et que presque personne n'a tuné. Le pattern dans les audits est constant : le module est chargé, l'OWASP Core Rule Set est posé avec ses paramètres par défaut, les logs se remplissent de milliers d'alertes que personne ne lit, et soit (a) il tourne tranquillement en DetectionOnly depuis des années, soit (b) il bloque du trafic légitime et le client ne le sait pas.
Les deux modes signifient que le WAF ne fait rien d'utile.
Pourquoi s'embêter en 2026 quand Cloudflare existe ?
Trois raisons pour lesquelles nous déployons encore ModSecurity au niveau origin derrière un cloud WAF :
- Défense en profondeur. Le cloud WAF est une couche. Quand il se trompe de classification, ou que le client n'a pas activé un pack de règles, ou que quelqu'un découvre l'IP origin, la couche interne attrape ce que l'edge a raté.
- Règles spécifiques à l'application. Cloudflare ne sait pas que votre endpoint
/admin/exportne devrait jamais voir un mot-cléSELECT. ModSecurity à l'origin le peut. - Forensique. Le log d'audit ModSecurity vous donne la requête complète qui a déclenché la règle. Les cloud WAFs donnent des données échantillonnées, lossy.
La configuration de base
ModSecurity 3 (libmodsecurity) avec le connector Apache — pas le v2 legacy :
<IfModule security2_module>
SecRuleEngine On
SecRequestBodyAccess On
SecRequestBodyLimit 13107200
SecAuditEngine RelevantOnly
SecAuditLogParts ABIJDEFHZ
Include /etc/modsecurity/crs/crs-setup.conf
Include /etc/modsecurity/crs/rules/*.conf
</IfModule>Ensuite, le vrai travail de tuning — choisir le bon paranoia level, allowlister les règles qui se déclenchent sur le trafic normal de votre application, et écrire les règles par route que Cloudflare ne peut pas. L'article Medium complet couvre :
- Paranoia Level 1 → 4 — ce que chacun ajoute, et le niveau que nous livrons par défaut
- Le workflow de « triage des faux positifs » que nous menons pendant deux semaines avant de basculer en mode block
- Règles custom pour les chemins d'application courants (admin, endpoints API, uploads de fichiers)
- Envoyer le log d'audit au SIEM, et les dashboards que nous surveillons
- Les règles que nous désactivons toujours (et pourquoi)
Suite sur Medium.
Suite sur Medium
Lire l'article complet sur Medium