BLOG | NGINX

Beschleunigen Sie die DDoS-Minderung mit eBPF in F5 NGINX App Protect DoS

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Robert Haynes Miniaturbild
Robert Haynes
Veröffentlicht am 05. April 2023

Der Kampf gegen DDoS-Angriffe verändert sich weiterhin. Im Bericht „DDoS Attack Trends 2023“ analysierten F5 Labs aktuelle Daten zu Distributed -Denial-of-Service -Angriffen (DDoS) der letzten drei Jahre. Dabei stellten sie fest, dass Angreifer zwar immer noch komplexe Multi-Vektor-DDoS-Angriffe verwenden, aber inzwischen auch eher reine Angriffe auf der Anwendungsebene (Layer 7) starten. Allein im Jahr 2022 nahm die Verbreitung von Layer-7-Angriffen um 165 % zu.

Diagramm mit der Anzahl der DDoS-Angriffstypen (volumetrisch, Protokoll, Anwendung und Multi-Vektor) für die Jahre 2020 bis 2022
Zählung der DDoS-Angriffsarten 2020–2022. Sie zeigt einen starken Anstieg der Anzahl von Anwendungsangriffen und einen entsprechenden Rückgang bei volumetrischen und Multivektorangriffen.

Normalerweise wählen Angreifer den einfachsten Weg, um ihr Ziel zu erreichen, sei es die Unterbrechung des Betriebs einer Website oder die Erpressung eines Opfers. Dieser Anstieg der Layer-7-Angriffe könnte ein Hinweis darauf sein, dass es schwieriger wird, einen DDoS-Angriff ausschließlich mithilfe einer volumetrischen oder Protokollstrategie zu starten, und dass sich Angriffe auf Anwendungsebene als wirksamer erweisen.

Schutz moderner Apps mit eBF und XDP

Beim Schutz Ihrer Anwendungen vor DDoS-Angriffen ist es wichtig, wo immer möglich, den technologischen Fortschritt zu nutzen, um die Wahrscheinlichkeit der Verfügbarkeit Ihrer Anwendungen (und der Zufriedenheit Ihrer Benutzer) zu maximieren. Den erweiterten Berkeley Packet Filter (eBPF) mit eXpress Data Path (XDP)-Technologie gibt es bereits seit 2014, seine Popularität steigt derzeit jedoch aufgrund der zunehmenden Verbreitung von Microservices und Cloud-nativen Architekturen in der Entwickler-, SRE- und Betriebscommunity rasant an.

eBPF

eBPF ist eine virtuelle Maschine (VM) der Datenverbindungsschicht im Linux-Kernel, die es Benutzern ermöglicht, Programme sicher und effizient auszuführen. Darüber hinaus erweitert es die Fähigkeiten des Kernels zur Laufzeit, ohne den Kernel-Quellcode zu ändern oder zusätzliche Kernelmodule hinzuzufügen. eBPF wird durch Ereignisse ausgelöst – es erkennt bestimmte Aktivitäten auf einem Linux-Host und ergreift entsprechende Maßnahmen. Diese Technologie bietet vollständige Transparenz über Apps und App-Dienste mit der Möglichkeit, Konnektivität und Transaktionen zwischen Mikrodiensten und Endbenutzern zu verfolgen. Die Palette der verfügbaren Daten ist recht umfangreich. Es ermöglicht eine genaue Beobachtung, analysiert die Anforderungen an Netzwerkverkehrsmanagement und Laufzeitsicherheit und nutzt sein grundlegend effizientes Design zur Senkung der Rechenkosten.

Sehen Sie sich das Video „Was ist eBPF?“ von F5 DevCentral an, um einen schnellen Überblick über die eBPF-Technologie zu erhalten.

XDP

XDP bietet die Vorteile eines Hochleistungsnetzwerks. Es ermöglicht Programmen im Benutzerbereich, Netzwerkpaketdaten direkt zu lesen und zu schreiben und Entscheidungen über die Verarbeitung eines Pakets zu treffen, bevor es die Kernelebene erreicht. Mithilfe dieser Technologie können Entwickler ein eBPF-Programm an einen Low-Level-Hook anhängen, der vom Netzwerkgerätetreiber im Linux-Kernel implementiert wird.

Wie schützt die NGINX-App DoS mithilfe von eBPF?

NGINX App Protect DoS ist eine erweiterte verhaltensbasierte Layer 7-DDoS-Minderungslösung, die auf NGINX Plus und NGINX Ingress Controller ausgeführt wird, um HTTP- und HTTP/2-Apps vor Angriffen wie Slowloris und HTTP Flood zu schützen. Kurz gesagt: NGINX App Protect DoS schützt vor Angriffen auf Anwendungsebene, die einfache Netzwerk-DDoS-Lösungen nicht erkennen können.

Diagramm mit den Angriffsarten, gegen die NGINX App Protect DoS schützt
NGINX App Protect DoS kann auf NGINX Plus am Load Balancer oder API-Gateway und auf dem NGINX Ingress Controller oder innerhalb des Clusters als Proxy pro Pod oder pro Service bereitgestellt werden. Es kann auch problemlos als „Sicherheit als Code“ in CI/CD-Pipelines für agile DevOps integriert werden.

Bei Verwendung mit NGINX App Protect DoS verspricht eBPF eine deutlich verbesserte Absorptionskapazität für DDoS-Angriffe. NGINX App Protect DoS verwendet eBPF (das im NGINX Ingress Controller selbst nicht verfügbar ist) als Teil einer mehrschichtigen Lösung, die die Schadensbegrenzungsleistung beschleunigt, indem sie den Datenverkehr von böswilligen Akteuren blockiert, die allein oder in Kombination mit TLS-Fingerprinting anhand der Quell-IP-Adresse identifiziert werden.

Als Nächstes schauen wir uns die grundlegenden Mechanismen an, wie NGINX App Protect DoS in drei Phasen funktioniert: Anomalieerkennung , dynamische Regelerstellung und adaptives Lernen sowie Regeldurchsetzung .

Anomalieerkennung

NGINX App Protect DoS überwacht Ihre geschützte Anwendung kontinuierlich und verwendet maschinelles Lernen, um ein statistisches Site-Modell des Anwendungs- und Clientverhaltens zu erstellen. Es beobachtet den Datenverkehr in Echtzeit und verfolgt über 300 HTTP-Anforderungsmetriken, um eine ständig aktualisierte, umfassende Basislinie der Aktivität und Leistung zu erstellen. Zusätzlich zur passiven Überwachung des Anwendungsverkehrs führt NGINX App Protect DoS auch aktive Anwendungsintegritätsprüfungen durch und überwacht Kennzahlen wie Antwortzeiten und abgebrochene Anfragen.

Wenn die Anwendung einem Layer-7-DDoS-Angriff ausgesetzt ist, weichen die Reaktionszeiten (oder Fehlerraten) der Anwendung vom erlernten Modell ab und das Anwendungsschutzsystem wird ausgelöst.

Dynamische Regelerstellung und adaptives Lernen

Nachdem eine Anomalie erkannt wurde, erstellt NGINX App Protect DoS dynamisch Regeln, um bösartigen Datenverkehr zu identifizieren und zu blockieren. Mit dem Ziel, legitimen Benutzern den Zugriff auf die Anwendung zu ermöglichen und gleichzeitig böswillige Angreifer zu blockieren, erstellt es ein statistisches Bild des Client-Verhaltens, um zu ermitteln, welche Benutzer zum Angriff beitragen und welche nicht.

Zusätzlich zur Bereitstellung dynamischer Signaturen zum Blockieren von Angriffen misst NGINX App Protect DoS kontinuierlich die Effektivität der Abwehrmaßnahmen und wendet adaptives Lernen an, um stets eine robuste App-Sicherheit zu gewährleisten und Zero-Day-Angriffe zu blockieren. Sobald die Clients und Anfragen, die einen Angriff verursachen, identifiziert sind, wird eine Regel erstellt, um diesen Datenverkehr zu blockieren.

NGINX App Protect DoS implementiert eine mehrschichtige Verteidigungsstrategie, die Folgendes umfasst:

  • Blockieren böswilliger Akteure anhand der IP-Adresse oder des TLS-Fingerabdrucks
  • Blockieren fehlerhafter Anfragen mit Angriffssignaturen
  • Anwenden einer globalen Ratenbegrenzung

Diese drei Abwehrmaßnahmen werden schrittweise angewendet, um sicherzustellen, dass Angreifer so weit wie möglich blockiert werden, ohne dass legitime Benutzer beeinträchtigt werden. Der Großteil der Sperraktivitäten erfolgt jedoch häufig in der anfänglichen Kombinationsblockierung von IP-Adressen und TLS-Fingerabdrücken oder in der Blockierungsphase nur der IP-Adressen. Glücklicherweise sind dies genau die Regeltypen, die von einem eBPF-Programm effektiv durchgesetzt werden können.

Regeldurchsetzung

NGINX App Protect DoS verwendet die erstellten Regeln und wendet sie auf eingehenden Anwendungsverkehr an, um bösartige Anfragen zu blockieren. Da der gesamte Anwendungsverkehr vom NGINX Plus-Proxy an die Backend- (oder Upstream- )Anwendung weitergeleitet wird, werden alle Anfragen, die den Sperrregeln entsprechen, einfach gelöscht und nicht an die Backend-Anwendung weitergeleitet.

Obwohl NGINX Plus ein Hochleistungsproxy ist, besteht dennoch die Möglichkeit, dass die durch die Angriffs- und Abwehrregeln verursachte zusätzliche Arbeitslast die verfügbaren Ressourcen der Plattform, auf der NGINX ausgeführt wird, überfordert. Hier kommt eBPF ins Spiel. Durch die Anwendung einer Nur-IP-Adressblockierung oder eine Kombination dieser mit der Blockierung von IP-Adressen und TLS-Fingerabdrücken im Kernel kann bösartiger Datenverkehr frühzeitig auf der Transportebene (Ebene 4) erkannt und blockiert werden. Dies ist weitaus effizienter als bei der Ausführung durch NGINX im Benutzerbereich.

Wenn NGINX App Protect DoS auf unterstützten Plattformen Regeln zum Blockieren von Angreifern basierend auf der Quell-IP-Adresse oder dem TLS-Fingerabdruck erstellt, werden die Regeln in ein eBPF-Bytecode-Programm kompiliert, das vom Kernel ausgeführt wird, wenn Netzwerk-Ereignisse (sogenannte Hooks) auftreten. Wenn ein bestimmtes Netzwerk-Ereignis die Regel auslöst, wird der Datenverkehr frühzeitig auf Ebene 4 gelöscht. Dadurch wird die DDoS-Abwehr beschleunigt, bevor Ebene 7 erreicht wird. Da diese Aktivität vollständig im Kernel stattfindet, ist sie sehr effizient und kann mehr Datenverkehr filtern (bevor die Ressourcen erschöpft sind), als wenn die Regeln im Benutzerbereich implementiert werden.

Diagramm, das zeigt, wie NGINX App Protect DoS eine eBPF-codierte Regel im Kernel aufruft, um einen Angreifer abzuwehren
NGINX App Protect DoS mit eBPF blockiert schädlichen Datenverkehr im Kernel, bevor er den Benutzerbereich erreicht, beschleunigt die DDoS-Abwehr und reduziert die Rechenkosten.

Aktivieren der beschleunigten eBPF-Minderung auf NGINX App Protect DoS

Die beschleunigte DoS-Minderung von NGINX App Protect ist auf den folgenden Linux-Distributionen verfügbar:

  • Alpin 3.15+
  • Debian 11+
  • RHEL 8+
  • Ubuntu 20.04+

Um eine beschleunigte DDoS-Abwehr zu aktivieren, führen Sie diese Schritte aus:

  1. Installieren Sie das eBPF-fähige NGINX App Protect DoS-Paket und führen Sie alle zusätzlichen Aufgaben aus. (Weitere Einzelheiten finden Sie in der Installationsdokumentation , da die Aufgaben nach der Installation je nach Distribution unterschiedlich sind.)
  2. Konfigurieren Sie NGINX App Protect DoS wie gewohnt.
  3. Fügen Sie die folgende Anweisung im http{}- Block der NGINX Plus-Konfiguration hinzu.

    protect_dos_accelerated_mitigation ein;
    
  4. Laden Sie die NGINX-Konfiguration neu.

    $ sudo nginx -t und nginx -s neu laden
    

Zusammenfassung

Durch die Kombination der adaptiven Lernfunktionen von NGINX App Protect DoS mit der hocheffizienten Verkehrsverarbeitung der eBPF-Kernelausführung entsteht eine mehrschichtige, beschleunigte Layer-7-DDoS-Minderungsstrategie mit verbesserten Funktionen für die heutigen mehrvektoriellen und anwendungsorientierten DDoS-Angriffe. Darüber hinaus werden die Infrastruktur- und Rechenkosten niedrig gehalten, indem weniger Ressourcen benötigt werden, um einen bestimmten DDoS-Angriff abzuwehren.

Testen Sie NGINX App Protect DoS selbst mit einer 30-tägigen kostenlosen Testversion oder kontaktieren Sie uns, um Ihre Anwendungsfälle zu besprechen .

Weitere Ressourcen


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."