Der Kampf gegen DDoS-Angriffe entwickelt sich stetig weiter. Im Bericht zu den DDoS-Angriffstrends 2023, analysierte F5 Labs aktuelle Daten aus drei Jahren zu verteilten Denial-of-Service-Angriffen (DDoS) und stellte fest, dass Angreifer zwar weiterhin komplexe Multi-Vektor-DDoS-Angriffe einsetzen, inzwischen jedoch auch vermehrt reine Angriffe auf Anwendungsebene (Layer 7) starten. Allein im Jahr 2022 nahm die Häufigkeit von Layer-7-Angriffen um 165 % zu.

In der Regel wählen Angreifer den einfachsten Weg, um ihr Ziel zu erreichen – sei es, den Betrieb einer Website zu verhindern oder ein Ziel zu erpressen. Dieser Anstieg der Angriffe auf Layer 7 könnte darauf hindeuten, dass es zunehmend schwieriger wird, einen DDoS-Angriff ausschließlich mit einer volumetrischen oder protokollbasierten Strategie durchzuführen, und dass sich Angriffe auf Anwendungsebene als effektiver erweisen.
Moderne Anwendungen mit eBF und XDP schützen
Bei der Abwehr von DDoS-Angriffen auf Ihre Anwendungen ist es wichtig, technologische Fortschritte wann immer möglich zu nutzen, um die Wahrscheinlichkeit zu maximieren, dass Ihre Anwendungen verfügbar bleiben (und Ihre Benutzer zufrieden sind). Obwohl die Technologie Extended Berkeley Packet Filter (eBPF) mit eXpress Data Path (XDP) bereits seit 2014 existiert, erfreut sie sich derzeit in Entwickler-, SRE- und Betriebsteams zunehmender Beliebtheit, da Microservices und Cloud-native-Architekturen immer häufiger eingesetzt werden.
eBPF
eBPF ist eine virtuelle Maschine (VM) der Sicherungsschicht im Linux-Kernel, mit der Benutzer Programme sicher und effizient ausführen können. Zudem erweitert eBPF die Funktionen des Kernels zur Laufzeit, ohne den Kernel-Quellcode zu ändern oder zusätzliche Kernelmodule hinzuzufügen. eBPF ist ereignisgesteuert – es erkennt bestimmte Aktivitäten auf einem Linux-Host und führt entsprechende Aktionen aus. Diese Technologie bietet vollständige Transparenz über den gesamten Stack von Anwendungen und Anwendungsdiensten und ermöglicht es, Verbindungen und Transaktionen zwischen Microservices und Endbenutzern nachzuverfolgen. Der Umfang der verfügbaren Daten ist beträchtlich. Damit lassen sich dringende Anforderungen an die Observability erfüllen, das Netzwerkverkehrsmanagement und die Laufzeitsicherheit analysieren sowie dank des grundsätzlich effizienten Designs die Rechenkosten senken.
Sehen Sie sich das Video „Was ist eBPF?“ von F5 DevCentral an, um einen kurzen Überblick über die eBPF-Technologie zu erhalten.
XDP
XDP bietet den Vorteil einer leistungsstarken Netzwerkverarbeitung. Es ermöglicht Programmen im Userspace, Netzwerkpaketdaten direkt zu lesen und zu schreiben sowie zu entscheiden, wie ein Paket behandelt werden soll, bevor es die Kernel-Ebene erreicht. Mit dieser Technologie können Entwickler ein eBPF-Programm an einen Low-Level-Hook anbinden, der vom Netzwerkgerätetreiber im Linux-Kernel implementiert wird.
Wie nutzt NGINX App Protect DoS eBPF?
NGINX App Protect DoS ist eine fortschrittliche, verhaltensbasierte Lösung zur Abwehr von DDoS-Angriffen auf Layer 7, die auf NGINX Plus und dem NGINX Ingress Controller ausgeführt wird, um HTTP- und HTTP/2-Anwendungen vor Angriffen wie Slowloris und HTTP Flood zu schützen. Kurz gesagt schützt NGINX App Protect DoS vor Angriffen auf Anwendungsebene, die einfache Lösungen zur Abwehr von Netzwerk-DDoS-Angriffen nicht erkennen können.

Bei Verwendung mit NGINX App Protect DoS bietet eBPF das Potenzial für eine deutlich höhere Kapazität zur Abwehr von DDoS-Angriffen. NGINX App Protect DoS nutzt eBPF (das im NGINX Ingress Controller selbst nicht verfügbar ist) als Teil einer mehrschichtigen Lösung, die Abwehrmaßnahmen beschleunigt, indem sie den Datenverkehr böswilliger Akteure blockiert. Diese werden anhand ihrer Quell-IP-Adresse identifiziert – entweder allein oder in Kombination mit TLS-Fingerprinting.
Sehen wir uns nun die grundlegende Funktionsweise von NGINX App Protect DoS in drei Phasen an: Anomalieerkennung, dynamische Regelerstellung und adaptives Lernen, und Regeldurchsetzung.
Anomalieerkennung
NGINX App Protect DoS überwacht Ihre geschützte Anwendung kontinuierlich und erstellt mithilfe von maschinellem Lernen ein statistisches Modell des Anwendungs- und Clientverhaltens. Die Lösung beobachtet den Datenverkehr in Echtzeit und erfasst über 300 HTTP-Anforderungsmetriken, um eine umfassende, fortlaufend aktualisierte Baseline für Aktivität und Leistung zu erstellen. Neben der passiven Überwachung des Anwendungsdatenverkehrs führt NGINX App Protect DoS auch aktive Zustandsprüfungen der Anwendung durch und überwacht Metriken wie Antwortzeiten und verworfene Anfragen.
Wenn die Anwendung Ziel eines Layer-7-DDoS-Angriffs wird, weichen die Antwortzeiten (oder Fehlerraten) der Anwendung vom erlernten Modell ab, und das Anwendungsschutzsystem wird aktiviert.
Dynamische Regelerstellung und adaptives Lernen
Nachdem eine Anomalie erkannt wurde, erstellt NGINX App Protect DoS dynamisch Regeln, um schädlichen Datenverkehr zu identifizieren und zu blockieren. Damit legitime Benutzer auf die Anwendung zugreifen können, während böswillige Angreifer blockiert werden, erstellt es ein statistisches Bild des Clientverhaltens, um zu ermitteln, welche Benutzer zum Angriff beitragen und welche nicht.
Neben dem Einsatz dynamischer Signaturen zur Abwehr von Angriffen misst NGINX App Protect DoS kontinuierlich die Wirksamkeit der Abwehrmaßnahmen und nutzt adaptives Lernen, um dauerhaft einen robusten Anwendungsschutz zu gewährleisten und Zero-Day-Angriffe abzuwehren. Sobald die Clients und Anfragen identifiziert wurden, die einen Angriff verursachen, erstellt es eine Regel, um diesen Datenverkehr zu blockieren.
NGINX App Protect DoS setzt eine mehrschichtige Verteidigungsstrategie um, die Folgendes umfasst:
- Blockieren böswilliger Akteure anhand der IP-Adresse oder des TLS-Fingerabdrucks
- Blockieren schädlicher Anfragen anhand von Angriffssignaturen
- Globale Ratenbegrenzung anwenden
Diese drei Schutzmaßnahmen werden schrittweise angewendet, um Angreifer so weit wie möglich zu blockieren, ohne legitime Nutzer zu beeinträchtigen. Der Großteil der Blockierungsaktivitäten findet jedoch häufig bereits in der ersten Phase statt, in der entweder eine Kombination aus IP-Adresse und TLS-Fingerabdruck oder ausschließlich die IP-Adresse blockiert wird. Glücklicherweise handelt es sich dabei genau um die Regeltypen, die sich mit einem eBPF-Programm wirksam durchsetzen lassen.
Regeldurchsetzung
NGINX App Protect DoS verwendet die erstellten Regeln und wendet sie auf den eingehenden Anwendungsdatenverkehr an, um schädliche Anfragen zu blockieren. Da der gesamte Anwendungsdatenverkehr über den NGINX Plus-Proxy an die Backend- (oder Upstream-)Anwendung weitergeleitet wird, werden alle Anfragen, die den Blockierungsregeln entsprechen, einfach verworfen und nicht an die Backend-Anwendung weitergeleitet.
Obwohl NGINX Plus ein Hochleistungs-Proxy ist, kann die durch die Angriffs- und Abwehrregeln verursachte zusätzliche Arbeitslast die verfügbaren Ressourcen der Plattform, auf der NGINX ausgeführt wird, dennoch überlasten. Hier kommt eBPF ins Spiel. Durch eine ausschließlich auf IP-Adressen basierende Blockierung oder deren Kombination mit einer auf IP-Adressen und TLS-Fingerabdrücken basierenden Blockierung im Kernel kann schädlicher Datenverkehr frühzeitig auf der Transportschicht (Layer 4) geprüft und blockiert werden. Dies ist wesentlich effizienter als die Verarbeitung durch NGINX im Userspace.
Wenn NGINX App Protect DoS auf unterstützten Plattformen Regeln erstellt, um Angreifer anhand der Quell-IP-Adresse oder des TLS-Fingerabdrucks zu blockieren, werden diese Regeln in ein eBPF-Bytecode-Programm kompiliert, das beim Auftreten von Netzwerkereignissen (sogenannten Hooks) vom Kernel ausgeführt wird. Löst ein bestimmtes Netzwerkereignis die Regel aus, wird der Datenverkehr frühzeitig auf Layer 4 verworfen. Dadurch lässt sich die DDoS-Abwehr beschleunigen, bevor der Datenverkehr Layer 7 erreicht. Da all diese Vorgänge im Kernel stattfinden, sind sie äußerst effizient und können mehr Datenverkehr filtern (bevor die Ressourcen erschöpft sind), als wenn die Regeln im User Space implementiert werden.

Aktivieren der eBPF-beschleunigten Abwehr in NGINX App Protect DoS
Die beschleunigte Abwehr von NGINX App Protect DoS ist für die folgenden Linux-Distributionen verfügbar:
- Alpine 3.15+
- Debian 11+
- RHEL 8+
- Ubuntu 20.04+
Führen Sie die folgenden Schritte aus, um die beschleunigte DDoS-Abwehr zu aktivieren:
- Installieren Sie das eBPF-fähige NGINX App Protect DoS-Paket und führen Sie alle weiteren erforderlichen Aufgaben aus. (Weitere Informationen finden Sie in der Installationsdokumentation, da die nach der Installation erforderlichen Aufgaben je nach Distribution variieren.)
- Konfigurieren Sie NGINX App Protect DoS wie gewohnt.
- Fügen Sie die folgende Direktive im
http{}-Block der NGINX Plus-Konfiguration hinzu.
protect_dos_accelerated_mitigation on;- Laden Sie die NGINX-Konfiguration neu.
$ sudo nginx -t && nginx -s reloadZusammenfassung
Die Kombination der adaptiven Lernfunktionen von NGINX App Protect DoS mit der hocheffizienten Datenverkehrsverarbeitung durch die Ausführung von eBPF im Kernel ermöglicht eine mehrschichtige, beschleunigte Strategie zur Abwehr von Layer-7-DDoS-Angriffen, die besser auf heutige DDoS-Angriffe mit mehreren Angriffsvektoren und gezieltem Anwendungsbezug ausgelegt ist. Darüber hinaus senkt sie die Infrastruktur- und Rechenkosten, da weniger Ressourcen für die Abwehr eines DDoS-Angriffs benötigt werden.
Testen Sie NGINX App Protect DoS selbst mit einer kostenlosen 30-Tage-Testversion oder kontaktieren Sie uns, um Ihre Anwendungsfälle zu besprechen.
Weitere Ressourcen
- Whitepaper – Moderne Anwendungen vor Layer-7-DoS-Angriffen schützen
- Blog – Wie sich NGINX App Protect Denial of Service an die sich wandelnde Bedrohungslandschaft anpasst
- Datenblatt – Schutz, Anpassung und Abwehr bei Layer-7-DoS-Angriffen
Über den Autor

Ähnliche Blogbeiträge
Die Zukunft von NGINX: Zurück zu unseren Open-Source-Wurzeln
Beim NGINX Sprint 2022 besinnen wir uns auf unsere Open-Source-Wurzeln. Erfahren Sie mehr über die Initiativen, die wir im kommenden Jahr verfolgen, und teilen Sie uns mit, was Sie sich wünschen.

Ein Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Ermitteln Sie Ihre Anforderungen
Ein Ingress-Controller kann eines der leistungsstärksten Tools in Ihrem Kubernetes-Stack sein. Erfahren Sie, wie Sie Ihre Ingress-Anforderungen ermitteln, um die beste Option auszuwählen.
Bereitstellung des NGINX Ingress Controllers auf Amazon EKS: So haben wir getestet
Wir haben kürzlich den Lösungsleitfaden zum NGINX Ingress Controller um Empfehlungen zur Dimensionierung für Amazon Elastic Kubernetes Service (EKS) ergänzt. In diesem Blogbeitrag erläutern wir, wie wir diese Empfehlungen erarbeitet haben, und stellen Ihnen alle Informationen zur Verfügung, die Sie benötigen, um selbst ähnliche Tests durchzuführen.

Protokollierung des Datenverkehrs zwischen NGINX und Upstream-Servern bei CDN77
Bei der Fehlersuche bei Datenverkehrsproblemen zwischen NGINX und Upstream-Servern konnte CDN77 die benötigten Daten nur aus dem Fehlerprotokoll mit aktivierter Debug-Ausgabe beziehen, was die Leistung beeinträchtigt und riesige Dateien erzeugt. Daher entwickelte das Team ein neues benutzerdefiniertes Modul, das ausschließlich die benötigten Daten protokolliert.
Ankündigung von NGINX Plus R16
NGINX Plus R16 ist eine einheitliche, elastische Ingress- und Egress-Schicht für Anwendungen, die die Funktionen eines Load Balancers, API-Gateways und einer WAF vereint und neue Features wie clusterfähige Ratenbegrenzung, Schlüssel-Wert-Speicher, „Random with Two Choices“, verbessertes UDP-Load-Balancing und vieles mehr bietet.
5 Gründe für den Umstieg auf softwarebasiertes Load Balancing
Entdecken Sie fünf Gründe für den Wechsel zu einem softwarebasierten Load Balancer wie NGINX Plus, darunter Kosteneinsparungen, die Einführung von DevOps und eine einheitliche Lösung für alle Umgebungen.