Schützen von AEM-Websites mit Standard-Traffic-Filterregeln

Erfahren Sie, wie Sie AEM-Websites mit von Adobe empfohlenen Standard-Traffic-Filterregeln in AEM as a Cloud Service vor Denial of Service(DoS)- und Distributed Denial of Service(DDoS)-Angriffen sowie Bot-Missbrauch schützen.

Lernziele

  • Prüfen der von Adobe empfohlenen Standard-Traffic-Filterregeln.
  • Definieren, Implementieren und Testen der Regeln und Analysieren der Ergebnisse.
  • Erfahren Sie, wann und wie Sie die Regeln basierend auf Traffic-Mustern optimieren müssen.
  • Verwenden des AEM-Aktions-Centers zur Prüfung der von Regeln generierten Warnhinweise.

Implementierung – Überblick

Zu den Implementierungsschritten gehören:

  • Hinzufügen der Standard-Traffic-Filterregeln zur Datei /config/cdn.yaml des AEM WKND-Projekts.
  • Übertragen und Pushen der Änderungen in das Cloud Manager-Git-Repository.
  • Bereitstellen der Änderungen in der AEM-Umgebung mit der Konfigurations-Pipeline von Cloud Manager.
  • Testen der Regeln durch Simulieren eines DoS-Angriffs mit Vegeta.
  • Analysieren der Ergebnisse mit den AEMCS CDN-Protokollen und den ELK-Dashboard-Tools.

Voraussetzungen

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie die erforderlichen Schritte ausgeführt haben, wie im Tutorial Einrichten von Traffic-Filter- und WAF-Regeln beschrieben. Außerdem müssen Sie das AEM WKND Sites-Projekt geklont und in Ihrer AEM-Umgebung bereitgestellt haben.

Wichtigste Aktionen der Regeln

Bevor wir in die Details der Standard-Traffic-Filterregeln eintauchen, klären wir die wichtigsten Aktionen, die von diesen Regeln durchgeführt werden. Das Attribut action in jeder Regel definiert, wie der Traffic-Filter reagieren soll, wenn die Bedingungen erfüllt sind. Zu den Aktionen gehören:

  • Protokollieren: Die Regeln protokollieren die Ereignisse für die Überwachung und Analyse, sodass Sie Traffic-Muster überprüfen und Schwellenwerte nach Bedarf anpassen können. Diese Aktion wird durch das Attribut type: log angegeben.

  • Warnhinweis: Die Regeln lösen Warnhinweise aus, wenn die Bedingungen erfüllt sind, damit Sie potenzielle Probleme identifizieren können. Diese Aktion wird durch das Attribut alert: true angegeben.

  • Blockieren: Die Regeln blockieren den Traffic, wenn die Bedingungen erfüllt sind, und verhindern den Zugriff auf Ihre AEM-Site. Diese Aktion wird durch das Attribut action: block angegeben.

Prüfen und Definieren von Regeln

Von Adobe empfohlene Standard-Traffic-Filterregeln dienen als Grundlage für die Identifizierung potenziell schadhafter Traffic-Muster, indem Ereignisse wie die Überschreitung IP-basierter Ratenbegrenzungen protokolliert und Traffic aus bestimmten Ländern blockiert werden. Diese Protokolle unterstützen Teams dabei, Schwellenwerte zu validieren und fundierte Entscheidungen für den Übergang zu Blockmodus-Regeln zu treffen, ohne den legitimen Traffic zu beeinträchtigen.

Sehen wir uns die drei Standard-Traffic-Filterregeln an, die Sie der Datei /config/cdn.yaml des AEM WKND-Projekts hinzufügen sollten:

  • DoS am Edge verhindern: Diese Regel erkennt potenzielle DoS-Angriffe (Denial of Service) am CDN-Edge, indem sie die Anzahl der Anforderungen pro Sekunde (RPS) von Client-IPs überwacht.
  • DoS am Ursprung verhindern: Diese Regel erkennt potenzielle DoS-Angriffe (Denial of Service) am Ursprung, indem sie Abrufanfragen von Client-IPs überwacht.
  • OFAC-Länder blockieren: Diese Regel blockiert den Zugriff von bestimmten Ländern, die unter die Einschränkungen des OFAC (Office of Foreign Assets Control) fallen.

​1. DoS am Edge verhindern

Diese Regel sendet einen Warnhinweis, wenn sie einen potenziellen DoS-Angriff (Denial of Service) im CDN erkennt. Das Kriterium zum Auslösen dieser Regel besteht darin, dass ein Client am Edge 500 Anfragen pro Sekunde (gemittelt über 10 Sekunden) pro CDN-POP (Point of Presence) überschreitet.

Alle Anfragen werden gezählt und nach Client-IP gruppiert.

kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev", "stage", "prod"]
data:
  trafficFilters:
    rules:
    - name: prevent-dos-attacks-edge
      when:
        reqProperty: tier
        equals: 'publish'
      rateLimit:
        limit: 500
        window: 10
        penalty: 300
        count: all
        groupBy:
          - reqProperty: clientIp
      action:
        type: log
        alert: true

Das Attribut action gibt an, dass die Regel die Ereignisse protokollieren und einen Warnhinweis ausgeben soll, wenn die Bedingungen erfüllt sind. Auf diese Weise können Sie potenzielle DoS-Angriffe überwachen, ohne legitimen Traffic zu blockieren. Ihr Ziel ist es jedoch, diese Regel schließlich in den Blockmodus zu überführen, sobald Sie die Traffic-Muster validiert und die Schwellenwerte angepasst haben.

​2. DoS am Ursprung verhindern

Diese Regel sendet einen Warnhinweis wenn sie einen potenziellen DoS-Angriff (Denial of Service) am Ursprung erkennt. Das Kriterium zum Auslösen dieser Regel besteht darin, dass ein Client 100 Anfragen pro Sekunde (gemittelt über 10 Sekunden) pro Client-IP am Ursprung überschreitet.

Abrufe (Cache-Bypassing-Anfragen) werden gezählt und nach Client-IP gruppiert.

...
    - name: prevent-dos-attacks-origin
      when:
        reqProperty: tier
        equals: 'publish'
      rateLimit:
        limit: 100
        window: 10
        penalty: 300
        count: fetches
        groupBy:
          - reqProperty: clientIp
      action:
        type: log
        alert: true

Das Attribut action gibt an, dass die Regel die Ereignisse protokollieren und einen Warnhinweis ausgeben soll, wenn die Bedingungen erfüllt sind. Auf diese Weise können Sie potenzielle DoS-Angriffe überwachen, ohne legitimen Traffic zu blockieren. Ihr Ziel ist es jedoch, diese Regel schließlich in den Blockmodus zu überführen, sobald Sie die Traffic-Muster validiert und die Schwellenwerte angepasst haben.

​3. OFAC-Länder blockieren

Diese Regel blockiert den Zugriff aus bestimmten Ländern, die unter OFAC-Einschränkungen fallen.
Sie können die Länderliste bei Bedarf prüfen und ändern.

...
    - name: block-ofac-countries
      when:
        allOf:
          - { reqProperty: tier, in: ["author", "publish"] }
          - reqProperty: clientCountry
            in:
              - SY
              - BY
              - MM
              - KP
              - IQ
              - CD
              - SD
              - IR
              - LR
              - ZW
              - CU
              - CI
      action: block

Das Attribut action gibt an, dass die Regel den Zugriff aus den angegebenen Länder blockieren soll. So verhindern Sie den Zugriff auf Ihre AEM-Site aus Regionen, die Sicherheitsrisiken darstellen können.

Die vollständige Datei cdn.yaml mit den oben genannten Regeln sieht wie folgt aus:

WKND CDN-YAML-Regeln

Bereitstellen der Regeln

Gehen Sie zur Bereitstellung der Regeln wie folgt vor:

  • Übernehmen Sie die Änderungen und pushen Sie sie in das Cloud Manager-Git-Repository.

  • Implementieren Sie die Änderungen mit der zuvor erstellten Cloud Manager-Konfigurations-Pipeline in der AEM-Entwicklungsumgebung.

    Cloud Manager-Konfigurations-Pipeline

Testen der Regeln

Um die Effektivität der Standard-Traffic-Filterregeln zu überprüfen, simulieren Sie sowohl am CDN-Edge als auch am Ursprung hohen Anfrage-Traffic mit Vegeta, einem vielseitigen Tool zum Testen der HTTP-Last.

  • Testen Sie die DoS-Regel am Edge (Grenzwert: 500 Anfragen/s). Der folgende Befehl simuliert 15 Sekunden lang 200 Anfragen pro Sekunde, was den Edge-Schwellenwert (500 Anfragen/s) überschreitet.

    code language-shell
    $echo "GET https://publish-p63947-e1249010.adobeaemcloud.com/us/en.html" | vegeta attack -rate=200 -duration=15s | vegeta report
    

    Vegeta-DoS-Angriff am Edge

    note important
    IMPORTANT
    Beachten Sie den Wert von 100% für „Success“ und den Status-Code 200 im obigen Bericht. Da die Regeln auf log und alert eingestellt sind, werden die Anfragen nicht blockiert, aber zu Überwachungs-, Analyse- und Warnzwecken protokolliert.
  • Testen Sie die DoS-Regel am Ursprung (Grenzwert: 100 Anfragen/s). Der folgende Befehl simuliert 1 Sekunde lang 110 Abrufanfragen pro Sekunde, was den Ursprungsschwellenwert (100 Anfragen/s) überschreitet. Um die Cache-Umgehung von Anfragen zu simulieren, wird die Datei targets.txt mit eindeutigen Abfrageparametern erstellt, damit sichergestellt ist, dass jede Anfrage als Abrufanfrage behandelt wird.

    code language-shell
    # Create targets.txt with unique query parameters
    $for i in {1..110}; do
      echo "GET https://publish-p63947-e1249010.adobeaemcloud.com/us/en.html?ts=$(date +%s)$i"
    done > targets.txt
    
    # Use the targets.txt file to simulate fetch requests
    $vegeta attack -rate=110 -duration=1s -targets=targets.txt | vegeta report
    

    Vegeta-DoS-Angriff am Ursprung

    note important
    IMPORTANT
    Beachten Sie den Wert von 100% für „Success“ und den Status-Code 200 im obigen Bericht. Da die Regeln auf log und alert eingestellt sind, werden die Anfragen nicht blockiert, aber zu Überwachungs-, Analyse- und Warnzwecken protokolliert.
  • Der Einfachheit halber wird die OFAC-Regel hier nicht getestet.

Prüfen von Warnhinweisen

Warnhinweise werden generiert, wenn die Traffic-Filterregeln ausgelöst werden. Sie können diese Warnhinweise im AEM-Aktionscenter prüfen.

WKND AEM-Aktionscenter

Analysieren der Ergebnisse

Um die Ergebnisse der Traffic-Filterregeln zu analysieren, können Sie die AEMCS CDN-Protokolle und das ELK-Dashboard-Tool verwenden. Befolgen Sie die Anweisungen im Einrichtungsabschnitt CDN-Protokollaufnahme, um die CDN-Protokolle in den ELK-Stack aufzunehmen.

Im folgenden Screenshot sehen Sie die CDN-Protokolle der AEM-Entwicklungsumgebung, die in den ELK-Stack aufgenommen wurden.

WKND CDN-Protokolle ELK

Im ELK-Programm sollte das CDN-Traffic-Dashboard die während der simulierten DoS-Angriffe aufgetretenen Spitzen am Edge und am Ursprung anzeigen.

Die beiden Panels Edge RPS per Client IP and POP und Origin RPS per Client IP and POP zeigen die Anfragen pro Sekunde (RPS) am Edge bzw. am Ursprung an, gruppiert nach Client-IP und Point of Presence (POP).

WKND CDN Edge-Traffic-Dashboard

Sie können auch andere Panels im CDN-Traffic-Dashboard verwenden, um die Traffic-Muster zu analysieren, z. B. Top Client IPs, Top Countries und Top User Agents. Diese Panels unterstützen Sie dabei, potenzielle Bedrohungen zu identifizieren und Ihre Traffic-Filterregeln entsprechend anzupassen.

Splunk-Integration

Kundinnen und Kunden, die die Splunk Log-Weiterleitung aktiviert haben, können neue Dashboards erstellen, um Traffic-Muster zu analysieren.

Um Dashboards in Splunk zu erstellen, folgen Sie den Schritten Splunk-Dashboards für AEMCS CDN Log Analysis.

Der folgende Screenshot zeigt ein Beispiel für ein Splunk-Dashboard, das die maximalen Ursprungs- und Edge-Anforderungen pro IP anzeigt, damit Sie potenzielle DoS-Angriffe identifizieren können.

Splunk-Dashboard – Max. Anfragen pro IP am Ursprung und am Edge

Zeitpunkt und Methode zum Optimieren von Regeln

Sie möchten verhindern, dass legitimer Traffic blockiert wird, und gleichzeitig Ihre AEM-Site vor potenziellen Bedrohungen schützen. Die Standard-Traffic-Filterregeln sind so konzipiert, dass sie vor Bedrohungen warnen und diese protokollieren (und schließlich blockieren, wenn der Modus gewechselt wird), ohne den legitimen Traffic zu blockieren.

Gehen Sie wie folgt vor, um die Regeln zu optimieren:

  • Überwachen Sie Traffic-Muster: Verwenden Sie die CDN-Protokolle und das ELK-Dashboard, um Traffic-Muster zu überwachen und Anomalien oder Traffic-Spitzen zu identifizieren.

  • Passen Sie Schwellenwerte an: Passen Sie basierend auf den Traffic-Mustern die Schwellenwerte in den Regeln durch Erhöhen oder Verringern der Ratenbegrenzungen an, um sie besser auf Ihre spezifischen Anforderungen abzustimmen. Wenn Sie beispielsweise bemerken, dass legitimer Traffic die Warnhinweise ausgelöst hat, können Sie die Ratenbegrenzungen erhöhen oder die Gruppierungen anpassen.
    In der folgenden Tabelle finden Sie Anleitungen zur Auswahl der Schwellenwerte:

    table 0-row-2 1-row-2 2-row-2 1-align-left 2-align-left 4-align-left 5-align-left 7-align-left 8-align-left
    Variante Wert
    Ursprung Nehmen Sie den höchsten Wert der maximalen Ursprungsanfragen pro IP/POP unter normalen Traffic-Bedingungen (d. h. nicht die Rate zum Zeitpunkt eines DDoS-Angriffs) und erhöhen Sie ihn um ein Vielfaches
    Edge Nehmen Sie den höchsten Wert der maximalen Edge-Anfragen pro IP/POP unter normalen Traffic-Bedingungen (d. h. nicht die Rate zum Zeitpunkt eines DDoS-Angriffs) und erhöhen Sie ihn um ein Vielfaches

    Weitere Informationen finden Sie im Abschnitt Auswählen von Schwellenwerten.

  • Wechseln zu Blockierungsregeln: Nachdem Sie die Traffic-Muster validiert und die Schwellenwerte angepasst haben, sollten Sie die Regeln in den Blockmodus überführen.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie AEM-Websites mit von Adobe empfohlenen Standard-Traffic-Filterregeln in AEM as a Cloud Service vor Denial of Service(DoS)- und Distributed Denial of Service(DDoS)-Angriffen sowie Bot-Missbrauch schützen.

Empfohlene WAF-Regeln

Erfahren Sie, wie Sie die von Adobe empfohlenen WAF-Regeln implementieren, um Ihre AEM-Websites vor komplexen Bedrohungen zu schützen, die herkömmliche Sicherheitsmaßnahmen durch erweiterte Methoden umgehen.

Schützen von AEM-Websites mit WAF-Traffic-Filterregeln

Schützen von AEM-Websites mit WAF-Traffic-Filterregeln

Erfahren Sie, wie Sie AEM-Websites mit den von Adobe empfohlenen Traffic-Filterregeln der Web Application Firewall (WAF) in AEM as a Cloud Service vor komplexen Bedrohungen wie DoS, DDoS und Bot-Missbrauch schützen.

WAF aktivieren

Anwendungsfälle – jenseits der Standardregeln

Für komplexere Szenarien können Sie die folgenden Anwendungsfälle erkunden. Diese demonstrieren, wie Sie benutzerdefinierte Traffic-Filterregeln basierend auf bestimmten Unternehmensanforderungen implementieren:

Überwachen sensibler Anfragen

Überwachen sensibler Anfragen

Erfahren Sie, wie Sie sensible Anfragen überwachen, indem Sie sie mit Traffic-Filterregeln in AEM as a Cloud Service protokollieren.

Weitere Informationen

Einschränken des Zugriffs

Einschränken des Zugriffs

Erfahren Sie, wie Sie den Zugriff durch Blockierung bestimmter Anfragen mit Traffic-Filterregeln in AEM as a Cloud Service einschränken.

Weitere Informationen

Normalisieren von Anfragen

Normalisieren von Anfragen

Erfahren Sie, wie Sie Anfragen durch Transformation mit Traffic-Filterregeln in AEM as a Cloud Service normalisieren.

Mehr erfahren

Zusätzliche Ressourcen

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69