PCG logo
Fallstudie

Web Application Firewall WAF

Die Herausforderung

Die öffentliche Website eines Kunden wird häufig von automatisierten Bots besucht.

Ein automatisierter Bot, oder einfach Bot, ist eine Softwareanwendung oder ein Skript, das automatisiert und wiederholt Aufgaben im Internet ausführt. Bots sind darauf ausgelegt, verschiedene Funktionen zu erfüllen, und werden in der Regel so programmiert, dass sie mit Websites, Anwendungen oder anderen Online-Diensten interagieren. Sie können sowohl für legitime als auch für illegale Zwecke erstellt werden.

Der Kunde hat folgendes Problem: Einige Bots oder andere nicht identifizierte Webclients brauchen die Server-Ressourcen auf und verlangsamen die Reaktionsgeschwindigkeit der Server.

Der Kunde bat um eine Lösung dieses Problems, bei der möglichst keine Änderungen an der vom Webserver bereitgestellten Infrastruktur vorgenommen werden sollten.

Die Lösung

Wir haben uns für AWS WAF entschieden, weil sie sich leicht in das Setup des Kunden integrieren läßt und eine vordefinierte AWS-verwaltete Regelgruppe bietet (AWS WAF Bot Control rule group), die verschiedene Arten von Bots erkennen kann. Außerdem lassen sich sowohl ratenbasierte Regeln als auch Regeln auf Grundlage bestimmter angefragter Attribute anwenden – wie zum Beispiel HTTP-Methoden, URL-Pfade, HTTP-Header-Felder oder IP-Adressbereiche.

Bot-Kategorien

Liste aller Bot-Kategorien, die AWS WAF Bot Control bekannt sind:

Kategorie: Werbung

Beschreibung: Bots für Werbezwecke

Kategorie: Archivierung

Beschreibung: Bots für Archivierungszwecke

Kategorie: Content Fetcher

Beschreibung: Bots, die im Auftrag eines Nutzers Inhalte abrufen

Kategorie: E-Mail-Client

Beschreibung: E-Mail-Clients

Kategorie: Http-Bibliothek

Beschreibung: HTTP-Bibliotheken, die von Bots verwendet werden

Kategorie: Link Checker

Beschreibung: Bots, die nach defekten Links suchen

Kategorie: Verschiedenes

Beschreibung: Verschiedene Bots

Kategorie: Monitoring

Beschreibung: Bots für Überwachungszwecke

Kategorie: Scraping Framework

Beschreibung: Web-Scraping-Frameworks

Kategorie: Suchmaschine

Beschreibung: Suchmaschinen-Bots

Kategorie: Security

Beschreibung: Security bots

Kategorie: SEO

Beschreibung: Bots zur Suchmaschinenoptimierung

Kategorie: Soziale Medien

Beschreibung: Bots, die auf Social-Media-Plattformen zur Bereitstellung von Inhaltszusammenfassungen eingesetzt werden

Kategorie: KI

Beschreibung: Bots mit KI-Funktionen

Kategorie: Automatisierter Browser

Beschreibung: Überprüft das Token der Anfrage auf Hinweise, dass es sich um einen automatisierten Client-Browser handeln könnte

Kategorie: Bekanntes Bot-Datacenter

Beschreibung: Sucht nach Rechenzentren, die typischerweise von Bots verwendet werden

Kategorie: Non Browser User Agent

Beschreibung: Sucht nach User-Agent-Zeichenfolgen, die augenscheinlich nicht von einem Webbrowser stammen

Vorbereitende Schritte

Die nächsten Schritte werden in einer speziellen Testumgebung durchgeführt, bevor das Setup in der Produktion eingesetzt wird.

Wir schreiben zunächst einen Terraform-Code, der einen Application Load Balancer (ALB) zur Bereitstellung der WAF erstellt. Dabei ordnen wir die bestehenden Webserver einer Zielgruppe zu, an die der ALB den Datenverkehr weiterleiten wird. Der ALB fungiert dann als zusätzliche Reverse-Proxy-Schicht vor den Webservern.

Wir erstellen außerdem einen Route 53-Alias-A-Datensatz, der auf den ALB verweist, und ein TLS-Zertifikat im AWS Certificate Manager (ACM) für diesen DNS-Eintrag, da wir für ALB nur HTTPS-Datenverkehr zulassen. HTTP-Verkehr wird mit dem HTTP-Statuscode 302 fortlaufend auf HTTPS umgeleitet (der HTTP Strict-Transport-Security-Antwort-Header wird von der Caddy-Reverse-Proxy-Schicht hinter dem ALB verarbeitet).

Darüber hinaus werden die ALB- und WAF-Protokolle so konfiguriert, dass sie an Datadog gesendet werden.

AWF-Regeln hinzufügen

Bestimmte URLs filtern

Zunächst fügen wir der WAF eine Filterregel hinzu (block_webfonts_path). Sie blockiert den URI-Pfad /webfonts/2775253ec3a5.css zu einer Ressource, die auf den Webservern nicht mehr existiert, aber von einigen fehlkonfigurierten Ressourcen noch immer referenziert wird.

Bot-Kontrolle

Anschließend fügen wir die von AWS WAF Bot Control verwaltete Regelgruppe AWSManagedRulesBotControlRuleSet zur WAF hinzu und wählen die Inspektionsstufe „common“. Mit dieser Inspektionsstufe werden Bots von der WAF mittels statischer Analyse der Anfragedaten erkannt.

Stimmt die erste bot-Regel nicht überein, wird die zweite bot-Regel „bot-control-default“ angewendet.

Mit dieser Regel wird Folgendes erreicht:

Wenn eine Anfrage mit der Signatur eines verifizierten Bots übereinstimmt, zum Beispiel der Microsofts Bing-Suchmaschine, wird die Anfrage von der WAF gekennzeichnet, und anschließend wird die nächste Regel aufgerufen (Regeln, die nur Kennzeichnungen vornehmen, sind keine abschließenden Regeln – das bedeutet: Die nächste Regel wird auch dann aufgerufen, wenn es eine Übereinstimmung gibt.)

Wenn die Regel zutrifft, werden die folgenden Bezeichnungen hinzugefügt:

image-822f6e85c68f

Wenn die WAF bei einer Anfrage keine Übereinstimmung mit den ihr bekannten Signaturen verifizierter Bots feststellen kann, stuft sie diese Anfrage als nicht verifiziert ein und blockiert sie. Es wird keine weitere WAF-Regel aufgerufen.

In diesem Szenario, bei dem wir vor allem verhindern wollen, dass den Webservern die Ressourcen ausgehen, beginnen wir mit der restriktivsten von Bot Control verwalteten Regelgruppe.

Wir wollen nicht nur nicht verifizierte Bots blockieren, sondern auch verifizierte Bots. Dafür gibt es die Regel bot-control-block-verified.

Diese Regel sucht nach Anfragen, die mit awswaf:managed:aws:bot-control:bot:verified gekennzeichnet sind und blockiert sie.

Ratenbasierte Regeln

Als letzte Regel fügen wir eine ratenbasierte Regel (rate-based-captcha) hinzu, die folgende Bedingung erfüllt:

Wenn eine bestimmte Quell-IP innerhalb von 5 Minuten mehr als 500 Anfragen sendet, wird dem Kunden für 5 Minuten ein CAPTCHA angezeigt.

Finale Regelgruppe

Unsere finale Regelgruppe sieht so aus:

Bezeichnung der Regel: block_webfonts_path

Regelpriorität: 0

Zweck: Blockiert URI-Pfad

Bezeichnung der Regel: bot-control-default

Regelpriorität: 1

Zweck: Blockiert nicht verifizierte Bots, kennzeichnet verifizierte Bots

Bezeichnung der Regel: bot-control-block-verified

Regelpriorität: 2

Zweck: Blockiert verifizierte Bots durch übereinstimmende Kennzeichnung

Bezeichnung der Regel: rate-based-captcha

Regelpriorität: 3

Zweck: Blockiert IP-Quelladressen, die das Ratenlimit überschreiten

Nach der Installation der Regelgruppe in der Testumgebung haben wir einige Tage abgewartet, um genügend Protokolle sammeln zu können. Mit diesen Protokollen konnten wir einige Statistiken zum Datenverkehr erstellen und überprüfen, ob es sich um falsch-positive Befunde (Fehlalarme – WAF blockiert Anfragen, die nicht zu beanstanden sind) oder falsch-negative Befunde handelt (WAF erkennt Schadverkehr nicht).

Wir haben keine Probleme festgestellt, so dass wir den DNS-Eintrag in der Produktionsumgebung auf den Produktions-ALB verweisen konnten, an den auch die WAF angeschlossen ist. Die DNS-Änderung leitet dann den Datenverkehr der Produktionsumgebung an die WAF weiter.

Datadog WAF-Protokolle – Beispielansichten

image-201056353ed2
image-d598caadb0b4
image-241440ac51ac
Resultate und Vorteile

Mit dieser Regelgruppe können wir die Anzahl unerwünschter Anfragen, die die Webserver erreichen, reduzieren und damit weitere Ausfälle verhindern.

Über PCG

Die Public Cloud Group (PCG) unterstützt Unternehmen bei ihrer digitalen Transformation durch den Einsatz von Public Cloud-Lösungen.

Mit einem Portfolio, das darauf ausgerichtet ist, Unternehmen aller Größe auf ihrer Cloud Journey zu begleiten, sowie der Kompetenz von zahlreichen zertifizierten Expert:innen, mit denen Kunden und Partner gerne zusammenarbeiten, positioniert sich PCG als verlässlicher und vertrauenswürdiger Partner der Hyperscaler.

Als erfahrener Partner der drei relevanten Hyperscaler (Amazon Web Services (AWS), Google Cloud und Microsoft Cloud) hält PCG die höchsten Auszeichnungen der jeweiligen Anbieter und berät Sie als unsere Kunden in Ihrer Cloud Journey unabhängig.


Weiterlesen

Artikel
Big Data
Machine Learning
KI
Google Gemini 2.0 ist da – intelligenter, schneller, multimodal

Entdecken Sie Gemini 2.0: Googles KI-Modell mit Agenten für mehr Effizienz und Innovation in Unternehmen.

Mehr erfahren
Neuigkeiten
Über den Wolken: PCG's Glanzleistung bei der AWS LeadMaster Challenge 2024

Wow, was für ein Triumph! Die Public Cloud Group hat bei der AWS Summit 2024 Lead Master Challenge abgeräumt wie ein Rockstar beim Grammy-Verleih.

Mehr erfahren
Artikel
AWS-Veranstaltungen 2025: Die Zukunft ist Cloud

Als führender AWS Premier Partner blicken wir mit Spannung auf das Jahr 2025 und die wegweisenden AWS-Veranstaltungen.

Mehr erfahren
Fallstudie
Sport
Managed Services
Keine eigene IT, keine Probleme: FC St. Pauli vertraut auf Zero-IT-Strategie mit Microsoft Azure

Der FC St. Pauli verfolgt einen Zero-IT-Ansatz und verfügt über keine eigenständige IT-Abteilung. Die Herausforderung bestand daher darin, einen geeigneten Partner zu finden.

Mehr erfahren
Alles sehen

Gemeinsam durchstarten

United Kingdom
Arrow Down