Anwendungen mit WAF sichern

Nachdem Ihre Anwendung über Web Application Firewall (WAF) weitergeleitet wurde, sichern Sie Ihre Anwendung mit den verschiedenen Sicherheitsfunktionen von WAF.

Sie können Ihre Anwendung wie folgt sichern:

  • Schutzregeln konfigurieren
  • Botverwaltung verwenden
  • Zugriffsregeln hinzufügen

Schutzregeln konfigurieren

Sie können die Anwendung mit Regeln sichern, um Angriffe mit Cross-Site Scripting (XSS) und SQL Injection (SQLi) zu blockieren.

So konfigurieren Sie Schutzregeln:
  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an.
  2. Öffnen Sie das Navigationsmenü. Gehen Sie unter Governance und Administration zu "Sicherheit", und klicken Sie auf WAF-Policys.
  3. Klicken Sie auf Schutzregeln.
    Eine Tabelle wird mit vordefinierten Schutzregeln angezeigt.
  4. Verwenden Sie den Filter "RUEI-ID ", und wählen Sie Regeln 941140 und 981300 aus.
    Die Regeldetails werden auf der rechten Seite angezeigt.
  5. Wählen Sie jede Regel aus, und klicken Sie im Dropdown-Menü "Aktionen " auf Block.
  6. Klicken Sie auf Alle veröffentlichen.
    Die Veröffentlichung von Änderungen an der WAF Policy kann einige Minuten dauern.

Schutzregeln prüfen

So prüfen Sie, ob die Schutzregeln funktionieren:
  1. Öffnen Sie die Registerkarte Netzwerk mit der Seite Developer Tools Ihres Browsers.
  2. Über Ihren Browser auf die Beispielmitarbeiteranwendung http://employee.<example.com>/public/ zugreifen.
  3. Klicken Sie auf Neuer Mitarbeiter, und füllen Sie das Formular mit Beispielinformationen aus.
  4. Geben Sie die folgende SQL-Injection in das Feld Vorname ein:
    SomeUser; DROP TABLE users
  5. Klicken Sie bei geöffneter Netzwerkregisterkarte des Browsers im Formular Neuer Mitarbeiter auf Speichern.
    Die POST für /employees wird mit 403 Forbidden blockiert.
  6. Führen Sie den folgenden cURL-Befehl aus:
    curl -X POST http://${WAF_TARGET}/employees \ 
    -H 'host: employee.example.com' \ 
    -d '{"firstName":"Name; DROP TABLE users"}'
    Der Befehl gibt einen 403-Fehler zurück.
  7. Führen Sie eine GET-Anforderung aus, indem Sie Cross-Site Scripting (XSS) in den Abfrageparametern in der Browseradressleiste ausführen:
    http://employee.<example.com>/employees/?id=%3Cscript%3Ealert(%27bad%27)%3C/script%3Ein

    Der Browser gibt Folgendes zurück:


    Beschreibung von waf-Forbidden.png folgt
    Beschreibung der Abbildung waf-forbidden.png

Die vorherigen Schritte lösen die WAF-Aktion Block mehrmals aus. Kehren Sie jetzt zu den Policy-Details von WAF in der Oracle Cloud Infrastructure-Konsole zurück, um die Logs zu prüfen.
  1. Öffnen Sie die Mitarbeiterdemo-Policy.
  2. Klicken Sie auf Logs.
  3. Wählen Sie einen Datums-/Zeitbereich, der über die Zeit liegt, als Sie die SQLi - und XSS-Angriffe versucht haben.
  4. Identifizieren Sie die Elemente mit Action: Block, blenden Sie die Zeilendetails für eine blockierte Anforderung ein, und klicken Sie dann auf JSON anzeigen.
  5. Zeigen Sie die als protectionRuleDetections und andere Anforderungsdetails aufgeführten Nachrichten an.

Botverwaltung verwenden

Ein weiteres Feature des Oracle Cloud Infrastructure Web Application Firewall-(WAF-) Service ist die Bot-Managementfunktionen.

In vielen Fällen stellt Nicht-menschlicher Verkehr den größten Prozentsatz des Verkehrs zu einer Site dar. Während bestimmte "gute" Bots bevorzugt sind, können andere "schlechte" Bots versuchen, Content-Scraping, Spaming, Brute Force-Angriffe oder DDoS-Angriffe auf Anwendungsschicht zu probieren.

Beispiel: Sie möchten bestimmte, bekannte Bots für SEO (Search Engine Optimization) und die Einstufung von Inhalten auf weiße Liste setzen, aber die Prüfung eines menschlichen Benutzers für bestimmte Interaktionen begrenzen. Dieser Szenariotyp kann mit den WAF Policy Bot-Management-Einstellungen erreicht werden.

CAPTCHA-Challenge hinzufügen

Eine der wichtigsten Funktionen von Botmanagement ist CAPTCHA. Die Verwendung von CAPTCHA bietet eine einfache Möglichkeit der Benutzerprüfung, die menschliche Interaktion sicherstellen, ohne dass Änderungen an der zugrunde liegenden Anwendung erforderlich sind.

So fügen Sie eine CAPTCHA-Challenge hinzu:
  1. Oracle Cloud Infrastructure -Konsole.
  2. Öffnen Sie das Navigationsmenü. Gehen Sie unter Governance und Administration zu "Sicherheit", und klicken Sie auf WAF-Policys.
  3. Öffnen Sie die Mitarbeiterdemo-Policy, und klicken Sie auf Botverwaltung.
  4. Klicken Sie auf die Registerkarte CAPTCHA-Challenge, und klicken Sie dann auf CAPTCHA-Challenge hinzufügen.
  5. Geben Sie /public/index.html als Wert in das Feld CAPTCHA-URL-Pfad ein.
  6. Übernehmen Sie die Standardwerte in den übrigen Feldern unverändert.
  7. Klicken Sie auf Hinzufügen und dann auf Alle veröffentlichen.
  8. Nachdem die Änderungen veröffentlicht wurden und die WAF Policy im Status ACTIVE wiederaufgenommen wird, laden Sie die Seite http://employee.<example.com>/public/index.html aus Ihrem Browser.
    Im Browser wird die folgende CAPTCHA-Challenge angezeigt:

Nachdem Sie den korrekten Code eingegeben haben, geben Sie die Website ohne weitere Herausforderungen für einen Zeitraum ein, der dem Wert Session Duration in der Challenge-Konfiguration entspricht.

Zugriffskontrollregel hinzufügen

WAF Access Control bietet eine zusätzliche Sicherheitsebene, indem der Zugriff auf die Daten und Services, die innerhalb einer Anwendung verfügbar sind, eingeschränkt oder blockiert wird.

Mit der Zugriffskontrolle können Sie Regeln basierend auf Anforderungsbedingungen definieren, einschließlich:
  • HTTP-Header
  • URL-Muster
  • IP-Adressen
  • Geolokation

In der Beispielanwendung "Mitarbeiter" können Sie Mitarbeiterdetails aus der Datenbank löschen. Möglicherweise müssen Sie die Verwendung des Features Delete auf Sicherheitszwecke beschränken. Sie können eine Zugriffsregel erstellen und anwenden, um die Löschanforderungen zu blockieren.

So fügen Sie eine Zugriffskontrollregel hinzu:
  1. Oracle Cloud Infrastructure -Konsole.
  2. Öffnen Sie das Navigationsmenü. Gehen Sie unter Governance und Administration zu "Sicherheit", und klicken Sie auf WAF-Policys.
  3. Öffnen Sie die Demo-Policy für Mitarbeiter, und klicken Sie auf Zugriffskontrolle.
  4. Klicken Sie auf Zugriffsregel hinzufügen.
  5. Geben Sie einen Regelnamen ein, z. B. Prevent Delete.
  6. Fügen Sie die folgenden Regelbedingungen hinzu:
    • HTTP-Methode ist: DELETE
    • URL beginnt mit: /employees
  7. Wählen Sie die Aktion Blockregel, und wählen Sie dann 403 Untersagt (Standardoption) als Antwortcode festlegen (Blockaktion).
  8. Klicken Sie auf Zugriffsregel hinzufügen, um die Regel zu erstellen, und klicken Sie dann auf Alle veröffentlichen.

Nachdem die Änderungen veröffentlicht wurden und die WAF Policy im Status ACTIVE wiederaufgenommen wird:

  1. Öffnen Sie die Registerkarte Netzwerk mit der Seite Developer Tools Ihres Browsers.
  2. Über Ihren Browser auf die Beispielmitarbeiteranwendung http://employee.<example.com>/public/ zugreifen.
  3. Wählen Sie einen Mitarbeiterdatensatz aus, und klicken Sie auf die Schaltfläche Löschen.

Sie werden in der Registerkarte "Netzwerk " des Abschnitts "Entwicklertools " feststellen, dass WAF diese Anforderung abgefangen und mit einer 403 Forbidden-Antwort blockiert hat.

Die Features von Oracle Cloud Infrastructure WAF, die in dieser Lösung behandelt werden, konzentrieren sich auf die Sicherung einer einfachen Beispielanwendung. Die Verwendungsszenarios sind für jede Anwendung eindeutig, und Sie können WAF entsprechend konfigurieren.