Wie erstelle ich eine AWS-WAF-Regel, um SQLi und XSS zu verhindern?

Lesedauer: 7 Minute
0

Ich möchte SQL Injection (SQLi) und Cross-Site Scripting (XSS) verhindern. Welche Optionen bietet AWS WAF, um SQLi- und XSS-Angriffe zu verhindern?

Kurzbeschreibung

AWS WAF bietet die folgenden Schutzmaßnahmen, um SQLi- und XSS-Angriffe zu verhindern:

  • Integrierte SQLi- und XSS-Engines
  • AWS Managed Rules für SQLi- und XSS-Injection-Angriffe

Stellen Sie zum Konfigurieren dieser Schutzmaßnahmen sicher, dass Sie AWS WAF eingerichtet und eine Web-ACL erstellt haben.

Hinweis: AWS WAF weist Einschränkungen bei der Prüfung von Text-, Header- oder Cookie-Anforderungskomponenten auf. Weitere Informationen finden Sie unter Überprüfung des Anforderungstextes, der Header und der Cookies.

Lösung

Wichtig: Es empfiehlt sich, Regeln in einer Nicht-Produktionsumgebung zu testen, in der Action (Aktion) auf Count (Zählen) gesetzt ist. Bewerten Sie die Regel mithilfe von Amazon CloudWatch-Metriken in Kombination mit AWS WAF-Beispielanforderungen oder AWS WAF-Protokollen. Wenn Sie überzeugt sind, dass die Regel das tut, was Sie wollen, ändern Sie Action (Aktion) auf Block (Blockieren).

Verwendung integrierter SQLi- und XSS-Engines

Angriffe können auf verschiedene Teile der HTTP-Anforderung ausgeführt werden, z. B. den HTTP-Header, die Abfragezeichenfolge oder den URI. Konfigurieren Sie die AWS-WAF-Regeln so, dass verschiedene Teile der HTTP-Anforderung anhand der integrierten Risikominderungs-Engines überprüft werden.

SQLi-Angriffsregelanweisung

Erstellen Sie eine SQL-Injection-Angriffsregelanweisung, um nach schädlichen SQL-Code zu suchen. Gehen Sie wie folgt vor, um eine SQLi-Angriffsregelanweisung zu erstellen:

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region, in der Sie Ihre Web-ACL erstellt haben.
    Hinweis: Wählen Sie Global aus, wenn Ihre Web-ACL für Amazon CloudFront eingerichtet ist.
  4. Wählen Sie Ihre Web-ACL aus.
  5. Wählen Sie Rules (Regeln) und dann Add Rules (Regeln hinzufügen) aus. Wählen Sie in der Dropdownliste Add my own rules and rule groups (Eigene Regeln und Regelgruppen hinzufügen) aus.
  6. Geben Sie für Name einen Regelnamen ein, und wählen Sie dann Regular Rule (Reguläre Regel) aus.
  7. Wählen Sie für If a request (Wenn eine Anforderung) matches the statement (mit der Anweisung übereinstimmt) aus.
  8. Wählen Sie für Inspect (Prüfen) die Anforderungskomponenten aus, die anhand der integrierten SQLi-Risikominderungs-Engine bewertet werden sollen.
  9. Wählen Sie für Match Type (Übereinstimmungstyp) im Dropdownmenü die Option Contains SQL injection attacks (Enthält SQL-Injection-Angriffe).
  10. Wählen Sie eine Texttransformation.
  11. Wählen Sie für Action (Aktion) Block (Blockieren) aus.
  12. Wählen Sie Add Rule (Regel hinzufügen).
  13. Wählen Sie Save (Speichern) aus.

XSS-Angriffsregelanweisung

Erstellen Sie eine Cross-Site-Scripting-Angriffsregelanweisung, um in einer Webanforderungskomponente nach schädlichen Skripts zu suchen. Gehen Sie wie folgt vor, um eine XSS-Angriffsregelanweisung zu erstellen:

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region, in der Sie Ihre Web-ACL erstellt haben.
    Hinweis: Wählen Sie Global aus, wenn Ihre Web-ACL für Amazon CloudFront eingerichtet ist.
  4. Wählen Sie Ihre Web-ACL aus.
  5. Wählen Sie Rules (Regeln) und dann Add Rules (Regeln hinzufügen) aus. Wählen Sie in der Dropdownliste Add my own rules and rule groups (Eigene Regeln und Regelgruppen hinzufügen) aus.
  6. Geben Sie für Name einen Regelnamen ein, und wählen Sie dann Regular Rule (Reguläre Regel) aus.
  7. Wählen Sie für If a request (Wenn eine Anforderung) matches the statement (mit der Anweisung übereinstimmt) aus.
  8. Wählen Sie unter Inspect (Prüfen) die Anforderungskomponenten aus, die anhand der integrierten XSS-Risikominderungs-Engine bewertet werden sollen.
  9. Wählen Sie für Match Type (Übereinstimmungstyp) im Dropdownmenü die Option Contains XSS injection attacks (Enthält XSS-Injection-Angriffe).
  10. Wählen Sie eine Texttransformation.
  11. Wählen Sie für Action (Aktion) Block (Blockieren) aus.
  12. Wählen Sie Add Rule (Regel hinzufügen).
  13. Wählen Sie Save (Speichern) aus.

SQLi- und XSS-Angriffsregeln, die anhand mehrerer Anforderungskomponenten ausgewertet werden

Gehen Sie wie folgt vor, um eine Angriffsregel zu erstellen, die für mehrere Anforderungskomponenten ausgewertet wird:

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region, in der Sie Ihre Web-ACL erstellt haben.
    Hinweis: Wählen Sie Global aus, wenn Ihre Web-ACL für Amazon CloudFront eingerichtet ist.
  4. Wählen Sie Ihre Web-ACL aus.
  5. Wählen Sie Rules (Regeln) und dann Add Rules (Regeln hinzufügen) aus. Wählen Sie in der Dropdownliste Add my own rules and rule groups (Eigene Regeln und Regelgruppen hinzufügen) aus.
  6. Geben Sie für Name einen Regelnamen ein, und wählen Sie dann Regular Rule (Reguläre Regel) aus.
  7. Wählen Sie für If a request (Wenn eine Anforderung) matches at least one of the statements (OR) (mit mindestens einer der Anweisungen übereinstimmt (ODER)) aus.
  8. Wählen Sie für Inspect die Anforderungskomponenten aus, die anhand der integrierten SQLi- oder XSS-Minderungs-Engine bewertet werden sollen.
  9. Wählen Sie für Match Type (Übereinstimmungstyp) im Dropdownmenü die Option Contains SQLi injection attacks (Enthält SQLi-Injection-Angriffe) oder Contains XSS injection attacks (Enthält XSS-Injection-Angriffe).
  10. Wählen Sie eine Texttransformation.
  11. Wiederholen Sie die Schritte 8 bis 10 für jede Anweisung. Wählen Sie Add another statement (Weitere Anweisung hinzufügen) für zusätzliche Regelauswertungen.
  12. Wählen Sie für Action (Aktion) Block (Blockieren) aus.
  13. Wählen Sie Add Rule (Regel hinzufügen).
  14. Wählen Sie Save (Speichern) aus.

Wichtig: Sie müssen die richtigen Texttransformationen anwenden, damit die Regel wie erwartet funktioniert. Wenn Sie beispielsweise ein Cookie überprüfen, verwenden Sie die folgenden Transformationen, die mit einem Cookie verknüpft sind:

  • URL-Decodierung
  • Decodierung der HTML-Entität
  • Kleinbuchstaben

Verwenden verwalteter AWS-Regeln für SQLi- und XSS-Injection-Angriffe

Verwenden Sie verwaltete AWS-Regeln für AWS WAF, um sich vor Anwendungsschwachstellen oder anderem unerwünschtem Datenverkehr zu schützen, ohne eigene Regeln schreiben zu müssen.

Hinweis: Verwaltete Regeln unterliegen Versionsänderungen und deren Ablauf. Weitere Informationen finden Sie unter Bewährte Methoden für den Umgang mit Versionen von verwalteten Regelgruppen.

Verwenden Sie die verwaltete Regelgruppe der SQL-Datenbank zum Schutz vor SQL-Injection-Angriffen. Die verwaltete Regelgruppe der SQL-Datenbank (Standardversion 1.1) verfügt über folgende Regeln, die Schutz bieten:

  • SQLiExtendedPatterns_QUERYARGUMENTS
  • SQLi_QUERYARGUMENTS
  • SQLi_Body
  • SQLi_COOKIE
  • SQLi_URIPATH

Verwenden Sie die verwaltete Regelgruppe Core Rule Set (CRS) zum Schutz vor XSS-Injection-Angriffen. Die verwaltete Regelgruppe Core Rule Set (CRS) (Standardversion 1.3) verfügt über folgende Regeln, die Schutz bieten:

  • CrossSiteScripting_COOKIE
  • CrossSiteScripting_QUERYARGUMENTS
  • CrossSiteScripting_BODY
  • CrossSiteScripting_URIPATH

So fügen Sie Ihrer Web-ACL eine Gruppe für verwaltete AWS-Regeln hinzu

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region, in der Sie Ihre Web-ACL erstellt haben.
    Hinweis: Wählen Sie Global aus, wenn Ihre Web-ACL für Amazon CloudFront eingerichtet ist.
  4. Wählen Sie Ihre Web-ACL aus.
  5. Wählen Sie Rules (Regeln) und dann Add Rules (Regeln hinzufügen) aus. Wählen Sie in der Dropdownliste Add managed rule groups (Verwaltete Regelgruppen hinzufügen) aus.
  6. Erweitern Sie den Abschnitt AWS managed rule groups (Verwaltete AWS-Regelgruppen).
  7. Suchen Sie die Regelgruppe, und aktivieren Sie Add to web ACL (Zu Web-ACL hinzufügen).
    Beispielsweise können Sie Add to web ACL sowohl für die SQL-Datenbank für den SQLi-Schutz als auch für das Core Rule Set für den XSS-Schutz aktivieren.
  8. (Optional) Wählen Sie Edit (Bearbeiten), um die Einstellungen für die Regelgruppe anzuzeigen und zu ändern.
  9. Wählen Sie Add rules (Regeln hinzufügen).
  10. Wählen Sie Save (Speichern) aus.

So bearbeiten Sie eine bestehende verwaltete AWS-Regelgruppe in Ihrer Web-ACL

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region, in der Sie Ihre Web-ACL erstellt haben.
    Hinweis: Wählen Sie Global aus, wenn Ihre Web-ACL für Amazon CloudFront eingerichtet ist.
  4. Wählen Sie Ihre Web-ACL aus.
  5. Wählen Sie Rules (Regeln) und dann Edit (Bearbeiten), um die Einstellungen anzuzeigen und zu ändern.
    Hinweis: Weitere Informationen zum Bearbeiten von Einstellungen finden Sie unter Arbeiten mit verwalteten Regelgruppen.
  6. Wenn Sie Ihre Änderungen abgeschlossen haben, wählen Sie Save (Speichern).

Wenn Sie bei verwalteten AWS-Regelgruppen falsch positive Szenarien erhalten, finden Sie weitere Informationen unter Verwaltete AWS-Regeln für AWS WAF.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren