Plateforme Mis à jour le juillet 2026 par Thijs de Zoete

Meilleur WAF pour HAProxy

Ajoutez un pare-feu applicatif web à HAProxy. Comparez le WAF natif de HAProxy Enterprise aux options SPOA hors processus (coraza-spoa, SPOA ModSecurity) et à CrowdSec pour sécuriser vos répartiteurs de charge et reverse proxies.

HAProxy est le répartiteur de charge et contrôleur de distribution applicative open source le plus répandu au monde, placé en frontal de sites et d'API à fort trafic dans des entreprises comme Reddit, GitHub ou Roblox. Parce qu'il termine le trafic client avant qu'il n'atteigne vos serveurs applicatifs, HAProxy est un point tout indiqué pour appliquer une politique de pare-feu applicatif web.

Un point est à comprendre d'emblée : HAProxy open source (HAProxy Community) ne dispose d'aucun module WAF natif. Par défaut, il offre un filtrage des requêtes par ACL et une limitation de débit via les stick-tables, qui traitent les abus aux couches 3/4 et un throttling basique en couche 7, mais il n'inspecte pas le contenu des requêtes à la recherche d'injections SQL, de XSS ou d'autres attaques applicatives. Pour obtenir une véritable couverture WAF, vous ajoutez soit un moteur WAF open source hors processus via le mécanisme SPOA (Stream Processing Offload Agent) de HAProxy, soit vous déployez HAProxy Enterprise, qui embarque un WAF intégré.

Ce guide compare les options réalistes pour placer un WAF devant HAProxy, ou à l'intérieur : le WAF natif de HAProxy Enterprise, les moteurs open source connectés en SPOA comme coraza-spoa (qui exécute l'OWASP Core Rule Set) et un SPOA ModSecurity, ainsi que CrowdSec pour le blocage communautaire. Il détaille aussi ce que HAProxy sait et ne sait pas faire nativement, afin que vous puissiez décider où le WAF doit se situer dans votre architecture.

Meilleurs fournisseurs WAF pour HAProxy

2

Coraza est la meilleure voie open source vers un WAF sur HAProxy Community. Il se connecte via coraza-spoa, qui parle le protocole SPOP/SPOA de HAProxy, et exécute l'OWASP Core Rule Set ainsi que toute règle SecLang compatible ModSecurity. Écrit en Go sans dépendance C, il est facile à déployer en tant que processus compagnon ou conteneur. Notez que l'intégration coraza-spoa est relativement récente (statut préversion) ; validez-la donc sous votre trafic avant de vous y fier en production.

Avantages clés :

  • Gratuit et open source (projet OWASP, Apache 2.0)
  • Exécute l'OWASP CRS et les règles SecLang de ModSecurity
  • Se connecte à HAProxy via le protocole SPOA/SPOP
  • Pur Go, facile à conteneuriser sans dépendance C
Note : 4,2/5
Tarification : Gratuit et open source (Apache 2.0)
Offre gratuite
3

ModSecurity

Règles standard du secteur

ModSecurity n'a pas de connecteur HAProxy officiel, mais HAProxy fournit un agent SPOA ModSecurity d'exemple qui encapsule une build ModSecurity v2 autonome (par exemple 2.9.x) et exécute l'OWASP CRS hors processus. Notez que cet agent d'exemple encapsule ModSecurity v2, et non libmodsecurity (v3) ; un SPOA HAProxy v3/libmodsecurity n'existe que sous forme de projets communautaires expérimentaux et non officiels. C'est une option solide si votre équipe maintient déjà des règles SecLang et souhaite profiter de l'écosystème mature et bien établi de ModSecurity et de l'OWASP CRS. La contrepartie est que l'agent SPOA est une implémentation de référence/d'exemple plutôt qu'un produit abouti ; attendez-vous donc à davantage de configuration et de maintenance manuelles qu'avec un module de premier plan.

Avantages clés :

  • Écosystème de règles SecLang et OWASP CRS éprouvé
  • S'exécute hors processus via un agent SPOA ModSecurity
  • Gratuit et open source, sans coût de licence
  • Familier aux équipes migrant des règles ModSecurity existantes
Note : 4,0/5
Tarification : Gratuit (Open Source)
Offre gratuite

Ce qu'il faut rechercher dans un WAF pour HAProxy

Pour choisir comment ajouter un WAF à HAProxy, pesez les facteurs suivants :

  • En processus ou hors processus - Le WAF de HAProxy Enterprise s'exécute à l'intérieur de HAProxy, sans ajouter de saut réseau. Les options open source (coraza-spoa, SPOA ModSecurity) s'exécutent en agents séparés avec lesquels HAProxy communique via le protocole SPOA/SPOP. Les agents hors processus sont gratuits et flexibles, mais ajoutent un aller-retour inter-processus par requête inspectée.
  • Prise en charge de l'OWASP Core Rule Set - coraza-spoa et le SPOA ModSecurity exécutent tous deux directement l'OWASP CRS et les règles SecLang. HAProxy Enterprise propose un mode de compatibilité CRS qui traite les règles CRS via son moteur ML. Vérifiez la version du CRS et la façon dont les mises à jour de règles sont livrées.
  • Maturité et support du SPOA - L'écosystème SPOA est plus restreint que celui des modules WAF de NGINX. coraza-spoa est relativement récent, et le SPOA ModSecurity est un agent d'exemple. Si vous avez besoin d'un support éditeur et de SLA, HAProxy Enterprise ou une option commerciale est la voie la plus sûre.
  • Latence et débit - HAProxy est choisi pour ses performances. Un WAF en processus les préserve ; un agent SPOA ajoute une latence proportionnelle au coût d'inspection et au dimensionnement de l'agent. Réalisez des benchmarks avec votre trafic réel et dimensionnez le pool d'agents en conséquence.
  • Limitation de débit et ACL natives - HAProxy fait déjà beaucoup avant tout WAF : les stick-tables assurent la limitation du débit de connexions et de requêtes, et les ACL filtrent sur les en-têtes, les chemins et les IP. Décidez ce qui doit être résolu nativement par rapport à ce qui nécessite réellement une inspection du contenu.
  • Adresse IP client réelle - Si HAProxy est placé derrière un CDN ou un autre proxy, configurez X-Forwarded-For ou le protocole PROXY afin que le WAF et vos limites de débit voient la véritable adresse du client, et non celle du proxy amont.

Considérations HAProxy

Considérations propres à HAProxy lors du déploiement d'un WAF :

  • Community n'a pas de module WAF - HAProxy open source fournit uniquement le filtrage par ACL et la limitation de débit par stick-tables. Un WAF applicatif nécessite soit un agent SPOA, soit une montée en gamme vers HAProxy Enterprise. Ne supposez pas que HAProxy Community inclut une détection des menaces par signature ou par ML ; ce n'est pas le cas.
  • Fonctionnement de SPOA/SPOE - HAProxy utilise un filtre Stream Processing Offload Engine (SPOE) pour transmettre les données de requête via le protocole SPOP à un Stream Processing Offload Agent (SPOA). L'agent inspecte la requête et renvoie un verdict (autoriser, refuser, marquer) sur lequel HAProxy agit. coraza-spoa et le SPOA ModSecurity sont tous deux des agents SPOA.
  • Statut de coraza-spoa - L'intégration coraza-spoa exécute l'OWASP CRS via le moteur Coraza et constitue la voie open source la plus active, mais elle est encore en maturation (préversion). Épinglez les versions et testez les mises à jour de règles avant tout déploiement en production.
  • Le SPOA ModSecurity est un agent d'exemple - Il n'existe aucun module HAProxy officiel pour ModSecurity. HAProxy fournit un SPOA contrib/d'exemple qui encapsule une build ModSecurity v2 autonome hors processus. Il fonctionne, mais attendez-vous à le compiler et à le maintenir vous-même plutôt qu'à installer un paquet pris en charge.
  • La limitation de débit reste native - Même avec un WAF en place, gardez les contrôles anti-abus dans les stick-tables et les ACL, là où ils ont leur place. Ils s'exécutent en processus à pleine vitesse et réduisent le volume de trafic que vos agents WAF doivent inspecter.
  • Forme de déploiement - Le WAF de HAProxy Enterprise est disponible en on-premises, dans le cloud, sur Kubernetes, sur l'appliance ALOHA et via le service entièrement managé HAProxy Edge, avec le même moteur. Les agents SPOA open source s'exécutent partout où vous exécutez HAProxy, généralement en tant que processus compagnon ou conteneur sidecar.

Questions fréquentes

HAProxy open source inclut-il un WAF ?

Non. HAProxy open source (HAProxy Community) est un répartiteur de charge et un reverse proxy. Il assure le filtrage des requêtes par ACL et la limitation de débit via les stick-tables, mais il n'inspecte pas le contenu à la recherche d'attaques applicatives comme l'injection SQL ou le XSS. Pour ajouter un véritable WAF, vous connectez soit un moteur open source en SPOA (coraza-spoa ou un SPOA ModSecurity), soit vous déployez HAProxy Enterprise, qui dispose d'un WAF intégré.

Comment ajouter un WAF à HAProxy ?

Deux approches principales. Premièrement, l'open source hors processus : exécutez un Stream Processing Offload Agent (SPOA) aux côtés de HAProxy. coraza-spoa exécute l'OWASP Core Rule Set via le moteur Coraza, et un SPOA ModSecurity exécute une build ModSecurity v2 autonome avec le CRS. HAProxy transmet les requêtes à l'agent via le protocole SPOP et agit selon son verdict. Deuxièmement, la voie native : passez à HAProxy Enterprise, dont l'Intelligent WAF Engine s'exécute en processus sans agent séparé.

Qu'est-ce que SPOA, SPOE et SPOP ?

Ce sont les composants du mécanisme d'offload de HAProxy permettant de déléguer du travail à un agent externe. SPOE (Stream Processing Offload Engine) est le filtre côté HAProxy que vous configurez ; SPOP (Stream Processing Offload Protocol) est le protocole d'échange ; SPOA (Stream Processing Offload Agent) est le programme externe qui effectue le travail, tel qu'un WAF. coraza-spoa et le SPOA ModSecurity sont tous deux des agents SPOA qui inspectent les requêtes et renvoient une décision d'autorisation ou de refus.

Faut-il utiliser coraza-spoa ou un SPOA ModSecurity ?

Les deux exécutent l'OWASP CRS et des règles SecLang compatibles ModSecurity via SPOA. coraza-spoa repose sur Coraza, un moteur Go moderne sans dépendance C, et constitue l'intégration la plus activement développée, même si elle est encore en maturation. Le SPOA ModSecurity exécute une build ModSecurity v2 autonome (et non libmodsecurity v3), mais c'est un agent d'exemple/contrib que vous compilez et maintenez vous-même. Pour de nouveaux déploiements, coraza-spoa est généralement le meilleur point de départ ; choisissez le SPOA ModSecurity si vous avez déjà un investissement dans des règles ModSecurity.

Puis-je limiter le débit et bloquer le trafic malveillant dans HAProxy sans WAF ?

Oui, jusqu'à un certain point. Les stick-tables de HAProxy suivent des métriques par client (débit de requêtes, débit de connexions, taux d'erreurs) et vous permettent de throttler ou de refuser les sources abusives, tandis que les ACL filtrent sur les en-têtes, les chemins, les méthodes et les plages d'IP. Cela traite nativement et efficacement les abus aux couches 3/4 et la limitation de débit basique en couche 7. Ce que cela ne peut pas faire, c'est inspecter le contenu des requêtes à la recherche d'attaques par injection ou XSS, ce pour quoi un WAF est nécessaire.

WAF de HAProxy Enterprise ou WAF SPOA open source, lequel choisir ?

Le WAF de HAProxy Enterprise s'exécute en processus avec le répartiteur de charge, ajoute une latence inférieure à la milliseconde, utilise un moteur ML au lieu de signatures regex et s'accompagne d'un support commercial, mais il exige une licence payante à tarification personnalisée. Un SPOA open source (coraza-spoa ou SPOA ModSecurity) est gratuit et vous offre des règles CRS/SecLang transparentes que vous contrôlez entièrement, au prix d'un saut hors processus supplémentaire et d'une configuration et d'une maintenance à votre charge. Choisissez Enterprise pour la latence, la précision et le support ; choisissez un SPOA lorsque le budget et la transparence des règles priment.

CrowdSec fonctionne-t-il avec HAProxy ?

Oui. CrowdSec fournit un bouncer HAProxy qui applique des listes de blocage, et son composant AppSec ajoute l'inspection WAF à l'aide de règles compatibles SecLang de ModSecurity. Sa force réside dans le renseignement sur les menaces issu de la communauté, des listes de blocage construites à partir de signaux partagés par plus de 200 000 installations ; il fonctionne donc au mieux comme couche complémentaire qui bloque les IP malveillantes connues avant qu'elles n'atteignent un WAF à base de règles comme coraza-spoa ou le WAF de HAProxy Enterprise.