Beste WAF für HAProxy
Fügen Sie HAProxy eine Web Application Firewall hinzu. Vergleichen Sie die native HAProxy Enterprise WAF mit Out-of-Process-SPOA-Optionen (coraza-spoa, ModSecurity SPOA) und CrowdSec für die Absicherung von Load Balancer und Reverse Proxy.
HAProxy ist der weltweit meistgenutzte Open-Source-Software-Load-Balancer und Application Delivery Controller und steht bei Unternehmen wie Reddit, GitHub und Roblox vor stark frequentierten Websites und APIs. Da HAProxy den Client-Verkehr terminiert, bevor er die Anwendungsserver erreicht, ist es ein naheliegender Ort, um Web-Application-Firewall-Richtlinien durchzusetzen.
Eines sollten Sie vorab verstehen: Open-Source-HAProxy (HAProxy Community) hat kein natives WAF-Modul. Standardmäßig bietet es ACL-basierte Request-Filterung und Rate-Limiting über Stick-Tables, was Layer-3/4-Missbrauch und einfaches Layer-7-Throttling abdeckt, aber es inspiziert keine Request-Payloads auf SQL-Injection, XSS oder andere Angriffe auf Anwendungsebene. Für echten WAF-Schutz fügen Sie entweder eine Open-Source-WAF-Engine out-of-process über den Stream Processing Offload Agent (SPOA) von HAProxy hinzu, oder Sie setzen HAProxy Enterprise ein, das eine eingebaute WAF mitbringt.
Dieser Leitfaden vergleicht die realistischen Optionen, um eine WAF vor oder in HAProxy zu platzieren: die native HAProxy Enterprise WAF, Open-Source-Engines, die über SPOA angebunden werden, wie coraza-spoa (das den OWASP Core Rule Set ausführt) und eine ModSecurity-SPOA, sowie CrowdSec für crowdbasiertes Blocking. Er behandelt außerdem, was HAProxy nativ leisten kann und was nicht, damit Sie entscheiden können, wo die WAF in Ihrem Stack gehört.
Top WAF-Anbieter für HAProxy
Coraza Web Application Firewall
Beste Open-Source-OptionCoraza ist der beste Open-Source-Weg zu einer WAF auf HAProxy Community. Die Anbindung erfolgt über coraza-spoa, das das SPOA-Protokoll von HAProxy spricht und den OWASP Core Rule Set sowie beliebige ModSecurity-kompatible SecLang-Regeln ausführt. In Go geschrieben und ohne C-Abhängigkeiten, lässt es sich leicht als Begleitprozess oder Container bereitstellen. Beachten Sie, dass die coraza-spoa-Integration vergleichsweise jung ist (Preview-Status); validieren Sie sie daher unter Ihrem Verkehr, bevor Sie sich in der Produktion darauf verlassen.
Hauptvorteile:
- Kostenlos und Open Source (OWASP-Projekt, Apache 2.0)
- Führt den OWASP CRS und ModSecurity-SecLang-Regeln aus
- Bindet über das SPOA/SPOP-Protokoll an HAProxy an
- Reines Go, ohne C-Abhängigkeiten leicht zu containerisieren
ModSecurity Open Source WAF
Branchenstandard-RegelnModSecurity hat keinen offiziellen HAProxy-Connector, aber HAProxy liefert einen Beispiel-ModSecurity-SPOA-Agent mit, der einen eigenständigen ModSecurity-v2-Build (zum Beispiel 2.9.x) kapselt und den OWASP CRS out-of-process ausführt. Beachten Sie, dass dieser Beispiel-Agent ModSecurity v2 kapselt, nicht libmodsecurity (v3); eine v3/libmodsecurity-HAProxy-SPOA existiert nur als experimentelles, inoffizielles Community-Projekt. Es ist eine solide Option, wenn Ihr Team bereits SecLang-Regeln pflegt und das ausgereifte, langjährig etablierte Ökosystem von ModSecurity und OWASP CRS nutzen möchte. Der Kompromiss besteht darin, dass der SPOA-Agent eine Referenz-/Beispielimplementierung ist und kein ausgereiftes Produkt, sodass Sie mit mehr manuellem Setup und Wartung rechnen müssen als bei einem vollwertigen Modul.
Hauptvorteile:
- Praxiserprobtes Ökosystem aus SecLang- und OWASP-CRS-Regeln
- Läuft out-of-process über einen ModSecurity-SPOA-Agent
- Kostenlos und Open Source, keine Lizenzkosten
- Vertraut für Teams, die bestehende ModSecurity-Regeln migrieren
Worauf Sie bei einer WAF für HAProxy achten sollten
Beim Auswählen, wie Sie HAProxy eine WAF hinzufügen, sollten Sie diese Faktoren abwägen:
- In-Process vs. Out-of-Process - Die HAProxy Enterprise WAF läuft innerhalb von HAProxy und fügt keinen Netzwerk-Hop hinzu. Open-Source-Optionen (coraza-spoa, ModSecurity SPOA) laufen als separate Agents, mit denen HAProxy über das SPOA/SPOP-Protokoll kommuniziert. Out-of-Process-Agents sind kostenlos und flexibel, fügen aber pro inspiziertem Request einen Inter-Prozess-Roundtrip hinzu.
- OWASP-Core-Rule-Set-Unterstützung - coraza-spoa und die ModSecurity SPOA führen den OWASP CRS und SecLang-Regeln beide direkt aus. HAProxy Enterprise bietet einen CRS-Kompatibilitätsmodus, der CRS-Regeln durch seine ML-Engine verarbeitet. Prüfen Sie die CRS-Version und wie Regel-Updates ausgeliefert werden.
- SPOA-Reife und Support - Das SPOA-Ökosystem ist kleiner als das WAF-Modul-Ökosystem von NGINX. coraza-spoa ist relativ neu, und die ModSecurity SPOA ist ein Beispiel-Agent. Wenn Sie Hersteller-Support und SLAs benötigen, ist HAProxy Enterprise oder eine kommerzielle Option der sicherere Weg.
- Latenz und Durchsatz - HAProxy wird wegen seiner Performance gewählt. Eine In-Process-WAF erhält diese; ein SPOA-Agent fügt Latenz proportional zu Inspektionskosten und Agent-Skalierung hinzu. Benchmarken Sie mit Ihrem realen Verkehr und dimensionieren Sie den Agent-Pool entsprechend.
- Natives Rate-Limiting und ACLs - HAProxy erledigt bereits viel, bevor überhaupt eine WAF greift: Stick-Tables bieten Verbindungs- und Request-Rate-Limiting, und ACLs filtern nach Headern, Pfaden und IPs. Entscheiden Sie, was nativ gelöst wird und was tatsächlich eine Payload-Inspektion benötigt.
- Echte Client-IP - Wenn HAProxy hinter einem CDN oder einem anderen Proxy sitzt, konfigurieren Sie X-Forwarded-For oder das PROXY-Protokoll, damit die WAF und Ihre Rate-Limits die echte Client-Adresse sehen und nicht die des vorgelagerten Proxys.
HAProxy-Überlegungen
HAProxy-spezifische Überlegungen beim Bereitstellen einer WAF:
- Community hat kein WAF-Modul - Open-Source-HAProxy bietet nur ACL-Filterung und Stick-Table-Rate-Limiting. Eine WAF auf Anwendungsebene erfordert entweder einen SPOA-Agent oder ein Upgrade auf HAProxy Enterprise. Gehen Sie nicht davon aus, dass HAProxy Community signatur- oder ML-basierte Bedrohungserkennung enthält; das tut es nicht.
- Wie SPOA/SPOE funktioniert - HAProxy verwendet einen Stream-Processing-Offload-Engine-Filter (SPOE), um Request-Daten über das SPOP-Protokoll an einen Stream Processing Offload Agent (SPOA) weiterzuleiten. Der Agent inspiziert den Request und gibt ein Urteil (zulassen, ablehnen, taggen) zurück, auf das HAProxy reagiert. coraza-spoa und die ModSecurity SPOA sind beide SPOA-Agents.
- Status von coraza-spoa - Die coraza-spoa-Integration führt den OWASP CRS über die Coraza-Engine aus und ist der aktivste Open-Source-Weg, reift aber noch (Preview). Pinnen Sie Versionen und testen Sie Regel-Updates, bevor Sie in die Produktion ausrollen.
- ModSecurity SPOA ist ein Beispiel-Agent - Es gibt kein offizielles ModSecurity-HAProxy-Modul. HAProxy liefert eine Contrib-/Beispiel-SPOA mit, die einen eigenständigen ModSecurity-v2-Build out-of-process kapselt. Sie funktioniert, aber rechnen Sie damit, sie selbst zu bauen und zu warten, statt ein unterstütztes Paket zu installieren.
- Rate-Limiting bleibt nativ - Auch mit einer WAF im Einsatz sollten Sie Missbrauchskontrollen in Stick-Tables und ACLs belassen, wo sie hingehören. Sie laufen in-process mit Line Rate und reduzieren die Verkehrsmenge, die Ihre WAF-Agents inspizieren müssen.
- Bereitstellungsform - Die HAProxy Enterprise WAF ist über On-Premises, Cloud, Kubernetes, die ALOHA-Appliance und den vollständig verwalteten HAProxy-Edge-Dienst verfügbar und nutzt dabei dieselbe Engine. Open-Source-SPOA-Agents laufen überall dort, wo Sie HAProxy betreiben, typischerweise als Begleitprozess oder Sidecar-Container.
Häufig gestellte Fragen
Enthält Open-Source-HAProxy eine WAF?
Nein. Open-Source-HAProxy (HAProxy Community) ist ein Load Balancer und Reverse Proxy. Es bietet ACL-basierte Request-Filterung und Rate-Limiting über Stick-Tables, aber es inspiziert keine Payloads auf Angriffe auf Anwendungsebene wie SQL-Injection oder XSS. Um eine echte WAF hinzuzufügen, binden Sie entweder eine Open-Source-Engine über SPOA an (coraza-spoa oder eine ModSecurity SPOA) oder setzen HAProxy Enterprise ein, das eine eingebaute WAF hat.
Wie füge ich HAProxy eine WAF hinzu?
Zwei Hauptansätze. Erstens, Open Source out-of-process: Betreiben Sie einen Stream Processing Offload Agent (SPOA) neben HAProxy. coraza-spoa führt den OWASP Core Rule Set über die Coraza-Engine aus, und eine ModSecurity SPOA führt einen eigenständigen ModSecurity-v2-Build mit CRS aus. HAProxy leitet Requests über das SPOP-Protokoll an den Agent weiter und reagiert auf dessen Urteil. Zweitens, nativ: Upgraden Sie auf HAProxy Enterprise, dessen Intelligent WAF Engine in-process ohne separaten Agent läuft.
Was sind SPOA, SPOE und SPOP?
Sie sind die Bestandteile des Offload-Mechanismus von HAProxy, um Arbeit an einen externen Agent auszulagern. SPOE (Stream Processing Offload Engine) ist der HAProxy-seitige Filter, den Sie konfigurieren; SPOP (Stream Processing Offload Protocol) ist das Wire-Protokoll; SPOA (Stream Processing Offload Agent) ist das externe Programm, das die Arbeit erledigt, etwa eine WAF. coraza-spoa und die ModSecurity SPOA sind beide SPOA-Agents, die Requests inspizieren und eine Zulassen- oder Ablehnen-Entscheidung zurückgeben.
Sollte ich coraza-spoa oder eine ModSecurity SPOA verwenden?
Beide führen den OWASP CRS und ModSecurity-kompatible SecLang-Regeln über SPOA aus. coraza-spoa basiert auf Coraza, einer modernen Go-Engine ohne C-Abhängigkeiten, und ist die aktiver entwickelte Integration, reift aber noch. Die ModSecurity SPOA führt einen eigenständigen ModSecurity-v2-Build aus (nicht libmodsecurity v3), ist aber ein Beispiel-/Contrib-Agent, den Sie selbst bauen und warten. Für neue Bereitstellungen ist coraza-spoa in der Regel der bessere Ausgangspunkt; wählen Sie die ModSecurity SPOA, wenn Sie bereits in ModSecurity-Regeln investiert haben.
Kann ich in HAProxy ohne WAF Rate-Limiting betreiben und bösartigen Verkehr blockieren?
Ja, bis zu einem gewissen Grad. Die Stick-Tables von HAProxy verfolgen Metriken pro Client (Request-Rate, Verbindungsrate, Fehlerrate) und lassen Sie missbräuchliche Quellen drosseln oder ablehnen, während ACLs nach Headern, Pfaden, Methoden und IP-Bereichen filtern. Das bewältigt Layer-3/4-Missbrauch und einfaches Layer-7-Rate-Limiting nativ und effizient. Was es nicht kann, ist Request-Payloads auf Injection- oder XSS-Angriffe zu inspizieren, und genau dafür ist eine WAF erforderlich.
HAProxy Enterprise WAF vs. eine Open-Source-SPOA-WAF, welche sollte ich wählen?
Die HAProxy Enterprise WAF läuft in-process mit dem Load Balancer, fügt Latenz im Submillisekundenbereich hinzu, nutzt eine ML-Engine statt Regex-Signaturen und wird mit kommerziellem Support geliefert, erfordert aber eine kostenpflichtige Lizenz mit individueller Preisgestaltung. Eine Open-Source-SPOA (coraza-spoa oder ModSecurity SPOA) ist kostenlos und gibt Ihnen transparente CRS-/SecLang-Regeln, die Sie vollständig kontrollieren, um den Preis eines zusätzlichen Out-of-Process-Hops und selbst verwalteten Setups und Wartung. Wählen Sie Enterprise für Latenz, Genauigkeit und Support; wählen Sie eine SPOA, wenn Budget und Regeltransparenz am wichtigsten sind.
Funktioniert CrowdSec mit HAProxy?
Ja. CrowdSec bietet einen HAProxy-Bouncer, der Blocklists durchsetzt, und seine AppSec-Komponente fügt WAF-Inspektion mit ModSecurity-SecLang-kompatiblen Regeln hinzu. Seine Stärke ist crowdbasierte Threat Intelligence, Blocklists, die aus Signalen von mehr als 200.000 Installationen aufgebaut werden, sodass es am besten als ergänzende Ebene funktioniert, die bekannte bösartige IPs blockiert, bevor sie eine regelbasierte WAF wie coraza-spoa oder die HAProxy Enterprise WAF erreichen.