Leitfaden zur Proof-of-Concept-Bereitstellung für Citrix Web Application Firewall

Übersicht

Dieser Proof of Concept (PoC) -Leitfaden soll Ihnen helfen, Citrix Web App Firewall (WAF) schnell eigenständig oder als Teil einer vorhandenen ADC-Bereitstellung zum Schutz von Webanwendungen und -diensten bereitzustellen. Dieser Leitfaden behandelt einige der Grundlagen von Citrix WAF, Best Practices für die Bereitstellung und die nächsten Schritte für Ihre WAF-Projekte. Dieser Leitfaden deckt NICHT jeden verfügbaren Schutz ab und deckt auch nicht alle heute verfügbaren Webtechnologien ab.

Diese Anweisungen beziehen sich auf das Klonen einer Anwendung oder eines Servers, der bereits von einer ADC-Appliance Proxiary-proxiert wird, sodass Administratoren Richtlinien und Regeln erstellen können, ohne den vorhandenen Datenverkehr zu stören. Dies ist nicht die einzige Möglichkeit, einen PoC für Web Application Firewall bereitzustellen, aber es ist einfacher als andere Methoden.

Konzeptarchitektur

Citrix Webanwendungs-Firewall und Apps-Architektur

Eine Web Application Firewall arbeitet auf Layer 7, der Andwendungslayer, im Gegensatz zu herkömmlichen Netzwerk-Firewalls, die mit Layer 3 oder Layer 4 arbeiten. Es versteht Web- und Anwendungsprotokolle wie HTTP, XML, SQL und HTML.

Die Citrix WAF bietet sowohl positive als auch negative Sicherheitsmodelle für den größtmöglichen Schutz. Das negative Sicherheitsmodell verwendet Schwachstellensignaturen, um bekannte Angriffe zu verhindern. Es ermöglicht auch eine schnelle Erstbereitstellung und bietet einen Mechanismus für das “Virtual Patching” von Anwendungen, indem die Ergebnisse aus Bewertungstools von Drittanbietern importiert werden.

Citrix Webanwendungs-Firewall und Apps-Architektur

Das positive Sicherheitsmodell definiert die Verkehrsmuster und Nutzerverhalten, die erlaubt sind und blockiert alles andere. Dynamische Profilerstellung wird von der WAF-Engine verwendet, um Regelsätze für das akzeptable Verhalten zu erstellen.

Citrix Webanwendungs-Firewall und Apps-Architektur

Voraussetzungen

In diesem Handbuch wird davon ausgegangen, dass Folgendes bereits auf Ihrem Citrix ADC oder eigenständigen Citrix WAF konfiguriert ist:

  1. Grundlegendes Verständnis von Netzwerkkonzepten und der Verwaltung des Citrix ADC
  2. Die ADC-Appliance ist bereits im Netzwerk bereitgestellt und zugänglich
  3. Es wurde eine geeignete Lizenz beantragt - entweder Standalone WAF oder für ADC ist eine Premium-Lizenz erforderlich
  4. Ein NSIP wurde zugewiesen und ist für das Management zugänglich
  5. Ein SNIP wurde zugewiesen und kann mit einem oder mehreren geschützten Diensten kommunizieren
  6. Eine interne IP-Adresse und ein DNS-Eintrag für einen anderen VIP (der Dienst kann bereits vom ADC ausgeglichen werden, stellen Sie sicher, dass eine separate IP und DNS verfügbar sind)

    Hinweis:

    Die Verwendung eines anderen DNS-Namens und einer anderen URL für den Zugriff auf eine Anwendung erfordert MÖGLICHERWEISE das Hinzufügen einer Konfiguration zur Anwendung, um sie auf den neuen Namen aufmerksam zu machen

  7. Ein grundlegendes Verständnis der Architektur und Struktur der Anwendung oder des Dienstes, die Sie schützen. Wenn die Website beispielsweise Kreditkarteninformationen verarbeitet, bestimmen Sie, ob Kreditkartenschutz aktiviert ist oder ob die Anwendung eine SQL-Datenbank für die Speicherung verwendet, ob SQLi Protections verwendet werden
  8. Grundlegendes Verständnis von Webprotokollen und -technologien wie HTTP, HTML, regulären Ausdrücken, JavaScript und mehr, abhängig von der zu schützenden Anwendung
  9. Grundlegendes Verständnis von Layer-4-Lastenausgleich und -Konfiguration auf dem Citrix ADC
  10. Ein dedizierter Syslog-Server - obwohl lokale Syslogs verfügbar sind, wird empfohlen, einen dedizierten Syslog-Server zu konfigurieren. Alternativ bietet Citrix ADM mit Security Insight detaillierte Analysen zur WAF-Engine und Anwendungssicherheit

Überlegungen zum Konzeptnachweis der WAF

Höchstwahrscheinlich wird der Webdienst oder die Anwendung, die wir schützen möchten, bereits vom ADC für den Lastenausgleich oder ein anderes Verkehrsmanagement bereitgestellt. Während der WAF PoC-Bereitstellung möchten wir die Anwendungsfunktionalität oder Verfügbarkeit für bestehende Benutzer NICHT stören. Um dies zu erreichen, wird ein doppelter virtueller Server mit dem einzigen Unterschied gemacht, dass der doppelte virtuelle Server WAF-Richtlinien hat, die an ihn gebunden sind.

Diese Methode gibt Benutzern auch die Möglichkeit, die Anwendung zu testen, um sicherzustellen, dass sie ordnungsgemäß funktioniert, und WAF-Regeln für akzeptablen Datenverkehr zu erstellen.

Die Dimensionierung der ADC-Bereitstellung muss vor der Aktivierung der Web Application Firewall berücksichtigt werden, da dies zu einem erheblichen Ressourcenverbrauch führen kann. Die beste Möglichkeit, die Größe zu schätzen, besteht darin, den Webserver zu verwenden, um die Anforderungsgrößen, Antwortgrößen und die Anzahl der Formulare zu analysieren und zu schätzen. Citrix ADC kann verwendet werden, um grundlegende Metriken zur Webdimensionierung zu sammeln, jedoch nur, wenn die Anwendung bereits über Proxy zur Verfügung gestellt wird:


show httpband -type RESPONSE
show httpband -type REQUEST
<!--NeedCopy-->

Bestimmte Schutzmaßnahmen erfordern wesentlich mehr Ressourcen als andere, werden daher als Advanced Protection bezeichnet. Erweiterte Schutzmaßnahmen verbrauchen mehr Ressourcen, da sie sich an Formularfelder, URLs, Cookies und andere Daten in der Webtransaktion erinnern. Die WAF-Engine validiert, dass sich die Daten nicht zwischen Transaktionen ändern, um sicherzustellen, dass Anfragen und Antworten nicht manipuliert werden und als solche mehr Appliance-Speicher verbrauchen. Einige erweiterte Schutzmaßnahmen unterstützen die sitzungslose Überprüfung, wie in der Konfiguration angegeben - der sitzungslose Schutz erfordert mehr CPU-Ressourcen als Speicher.

Beispielsweise kann eine Appliance mit erweiterten Richtlinien ungefähr ein Zehntel so viel Datenverkehr verarbeiten wie eine identische Appliance mit nur Basisschutz. In den Citrix ADC-Datenblättern finden Sie die unterstützten WAF-Durchsatzfunktionen für jede einzelne Appliance.

Empfohlene Schutzmaßnahmen

Diese Sicherheitsprüfungen können normalerweise im WAF-Profil aktiviert werden. Die meisten dieser Prüfungen erfordern, dass erlernte Regeln angewendet werden, bevor das Blockieren aktiviert wird. Aktivieren Sie BLOCK standardmäßig NICHT, ohne zuerst gelernte Regeln bereitzustellen.

Hinweis:

Diese Liste ist NICHT vollständig. Einige Schutzmaßnahmen sind mit einigen Anwendungen nicht kompatibel, und einige Schutzmaßnahmen bieten keinen Vorteil für andere Anwendungen.

  • Konsistenz von Cookies
    • Ermöglicht die Verschlüsselung oder Proxierung von Sitzungscookies aus der Anwendung durch die WAF-Engine
    • Cookie Consistency verhindert, dass ein böswilliger Akteur Cookies manipuliert
    • Cookie Consistency ist ein erweiter

      Hinweis:

      Aktivieren Sie diese Einstellung NICHT, wenn Benutzer die Anwendung aktiv verwenden, da gesendete nicht verschlüsselte Sitzungscookies nicht zulässig sind

    • Weitere Informationen in Citrix Prod Docs
  • Pufferüberlauf
    • Verhindert Angriffe auf unsichere Betriebssystem- oder Webserver-Software, die sich unvorhersehbar verhalten können, wenn Daten empfangen werden, die größer sind als möglich
    • Pufferüberlauf erkennt, ob die URL, Cookies oder Header länger als die angegebene maximale Größe sind
    • Weitere Informationen in Citrix Prod Docs
  • Konsistenzprüfung des Formularfelds
    • Validiert, dass von Benutzern zurückgegebene Webformulare nicht geändert wurden, bevor sie an den Server gesendet wurden
    • Form Field Consistency ist ein erweiterter Schutz mit sitzungsloser Unterstützung
    • Weitere Informationen in Citrix Prod Docs
  • SQL Injection
    • Blockiert oder transformiert SQL-Sonderschlüsselwörter und Zeichen aus dem POST-Text, dem Header und den Cookies
    • Nur anwendbar, wenn die Webanwendung eine SQL-Datenbank verwendet
    • Weitere Informationen in Citrix Prod Docs
  • Cross-Site Scripting Check (XSS)
    • Überprüft die Header und POST-Texte von Anfragen auf Cross-Site-Script-An
    • WAF kann die Anfrage entweder vollständig blockieren oder die störenden Skripte transformieren, um zu verhindern, dass sie ausgeführt werden
    • Weitere Informationen in Citrix Prod Docs
  • URL verweigern
    • Blockiert Verbindungen zu URLs, auf die häufig von Hackern und bösartigen Code oder Skripten zugegriffen wird
    • Benutzerdefinierte Ablehnen-URL-Regeln können in den Relaxationsregeln > URL verweigern hinzugefügt werden, indem Sie auf Bearbeiten und dann auf Hinzufügenklicken
    • Weitere Informationen in Citrix Prod Docs
  • Start-URL (URL-Schließung)
    • Verhindert den direkten Zugriff auf zufällige URLs auf einer Website (kräftiges Surfen) durch Lesezeichen, externe Links, Seitenspringen oder manuelle Eingabe von URLs
    • Start-URL ist ein erweiterter Schutz mit sitzungslosem Support; erlernte Regeln MÜSSEN vor dem Blockieren basierend auf der Start-URL bereitgestellt werden
    • Weitere Informationen in Citrix Prod Docs

Anfängliche WAF-Konfiguration

Bei der Konfiguration des WAF-Schutzes gibt es zwei Optionen:

  • Option 1: Verwenden Sie den Konfigurationsassistenten für die Web App Firewall, um ein WAF-Profil und eine WAF-Richtlinie zu erstellen
    • Der Assistent führt Sie wie folgt durch den Aufbau eines ersten Signatursatzes und anderer Sicherheitsprüfungen und -einstellungen:
      • Navigieren Sie in der Web-Benutzeroberfläche zu: Sicherheit > Citrix Web App Firewall

      Citrix Webanwendungs-Firewall und Apps-Architektur

      • Wählen Sie einen Namen für das WAF-Profil und den Profiltyp (Web, XML oder JSON je nach Art der Anwendung, die Sie schützen)

      Citrix Webanwendungs-Firewall und Apps-Architektur

      • Geben Sie den Ausdruck an, der bestimmt, welcher Datenverkehr von der WAF-Engine verarbeitet wird

      Citrix Webanwendungs-Firewall und Apps-Architektur

      • Wählen Sie die Signaturen aus, die Schutz vor bekannten Schwachstellen anwenden - es gibt Optionen, einen vorhandenen Signatursatz zu verwenden oder einen neuen Satz zu erstellen. Um auszuwählen, welche Signaturen für dieses Schutzprofil gelten sollen, gibt es zwei Editoroptionen, die grundlegende oder erweiterte Funktionen bieten.

      • Es gibt Navigationsoptionen auf beiden Editoren, um die Signaturen auszuwählen und dann zu aktivieren, zu blockieren, zu protokollieren oder Statistiken. Achten Sie auf mehrere Seiten mit Signaturen und stellen Sie sicher, dass alle ausgewählt sind. Der Basic-Editor ist einfacher zu starten, während der erweiterte Editor mehr Funktionen bietet

      Hinweis:

      Stellen Sie sicher, dass die Signaturen als AKTIVIERT markiert sind, bevor Sie mit dem nächsten Schritt fortfahren

      Citrix Webanwendungs-Firewall und Apps-Architektur

      Citrix Webanwendungs-Firewall und Apps-Architektur

      • Wählen Sie die Deep Protections aus, die für die Anwendung gelten. Es wird empfohlen, zunächst Protokollierung, Statistiken und Lernen zu aktivieren. Aktivieren Sie zunächst NICHT das Blockieren, da viele Schutzmaßnahmen eine Reihe erlernter Regeln erfordern

      Citrix Webanwendungs-Firewall und Apps-Architektur

      WICHTIG:

      Wenn der WAF-Assistent zum Erstellen eines Profils und einer Richtlinie verwendet wird, wird er GLOBAL gebunden! Wenn der Filterausdruck als Standard (true) belassen wird, wird der ALL-Datenverkehr von der WAF-Engine verarbeitet, was wahrscheinlich dazu führt, dass sich Anwendungen schlecht verhalten. Die empfohlene Aktion besteht darin, die Richtlinie vom globalen Standardbindepunkt zu lösen und stattdessen an den später erstellten virtuellen LB-Server zu binden. Um die Bindung einer WAF-Richtlinie vom globalen Bindepunkt zu lösen, führen Sie die folgenden Schritte aus:

      • Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Richtlinien > Firewall
      • Wählen Sie Policy Managerund dann Standard Global
      • Markieren Sie die aufgelistete WAF-Richtlinie und wählen Sie Unbind

    Citrix Webanwendungs-Firewall und Apps-Architektur

  • Option 2: Alternativ kann der WAF-Schutz auf eine Anwendung oder Site angewendet werden, indem manuell ein WAF-Profil, eine WAF-Richtlinie erstellt und ein Signatursatz angewendet wird
    1. Erstellen eines Signatursatzes für die Anwendung
      1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Signaturen
      2. Markieren Sie die Standardsignaturen und drücken Sie dann auf Hinzufügen, um eine Kopie des Standardsignatursatzes zu erstellen
      3. Wählen Sie die entsprechenden Signaturen abhängig von der zu schützenden Anwendung oder Site aus und stellen Sie sicher, dass die Signaturen auf ENABLEDeingestellt sind
    2. Erstellen eines Web App Firewall-Profils
      1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Profile
      2. Geben Sie dem Profil einen beschreibenden Namen und wählen Sie dann Web, XML oder JSON je nach Art der Anwendung, die Sie schützen
      3. Wählen Sie Basic aus, um die grundlegenden Standardeinstellungen anzuwenden
      4. Markieren Sie nach der Erstellung das neue Profil und drücken Sie auf Bearbeiten
      5. Öffnen Sie Sicherheitsprüfungen und heben Sie die Auswahl von BLOCK für alle Elemente
      6. Öffnen Sie die Profileinstellungen
        • Wählen Sie den zuvor erstellten Signatursatz in der Einstellung Gebundene Signaturen aus
        • Wenn der Back-End-Anwendungsserver Chunked Requests unterstützt, aktivieren Sie Streaming, um die Leistung zu verbessern
        • Ändern Sie zusätzliche Einstellungen basierend auf der zu schützenden Anwendung oder Website
    3. Erstellen einer Web App Firewall-Richtlinie
      1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Richtlinien > Firewall
      2. Drücken Sie auf Hinzufügen, um eine neue Richtlinie zu erstellen
      3. Geben Sie der Richtlinie einen beschreibenden Namen und wählen Sie das zuvor erstellte WAF-Profil aus
      4. Erstellen Sie einen Verkehrsausdruck, der bestimmt, welcher Datenverkehr von der WAF-Engine verarbeitet wird

Unabhängig von der verwendeten Methode ist jetzt eine grundlegende Web App Firewall-Konfiguration verfügbar, die gebunden werden kann. Der letzte Schritt besteht darin, die Signaturdatei zu aktualisieren.

  • Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Signaturen
  • Markieren Sie den neu erstellten Unterschriftsatz und drücken Sie auf Aktion auswählen > Einstellungen für automatische Updates
  • Aktivieren Sie Signaturen Auto Update und stellen Sie sicher, dass die Aktualisierungs-URL ausgefüllt ist

    Hinweis:

    Das Signatur-Update erfordert, dass der ADC DNS-Namen auflösen und vom NSIP auf das öffentliche Internet zugreifen kann

Citrix Webanwendungs-Firewall und Apps-Architektur

  • Sobald die automatische Aktualisierung konfiguriert ist, sucht ADC einmal pro Stunde nach Updates. Die Signaturen können auch manuell aktualisiert werden und ein manuelles Update muss einmal ausgeführt werden, nachdem das WAF-Profil und die Richtlinie erstellt wurden

Um zu überprüfen, ob die ADC-Appliance die Signatur-Updates erreichen kann, wird der folgende Befehl von der CLI (Exit to Shell) ausgeführt:


shell
curl -I https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml
<!--NeedCopy-->

Das System sollte ein HTTP/1.1 200 OKzurückgeben

Citrix Webanwendungs-Firewall und Apps-Architektur

Die aktuellste Dokumentation zu Signaturaktualisierungen ist unter verfügbar Citrix Prod Docs - Updates über RSS sind ebenfalls verfügbar.

Standardmäßig ist die Common Event Format (CEF) -Protokollierung nicht aktiviert, wobei die WAF das native Logging-Format verwendet. Darüber hinaus kann die WAF-Verengung Geolocation-Informationen für Anfragen enthalten. Um die Fehlerbehebung zu erleichtern, wird empfohlen, die CEF-Protokollierung und GeoLocation zu aktivieren, indem Sie zu Security > Citrix Web App Firewall > Engine-Einstellungen ändernnavigieren. Aktivieren Sie die Kästchen für CEF-Protokollierung und Geo-Location Logging. Alternativ können diese Einstellungen in wie folgt über die CLI aktiviert werden:


set appfw settings GeoLocationLogging ON CEFLogging ON
<!--NeedCopy-->

Konfiguration virtueller Server klonen

Sobald das Web App Firewall Profil und die Richtlinie erstellt wurden, muss es an den virtuellen Lastausgleichsserver gebunden sein. Wenn die Anwendung oder der Dienst nicht bereits auf dem ADC konfiguriert ist, muss sie von Grund auf neu konfiguriert werden. Wenn die Anwendung bereits konfiguriert ist, muss sie geklont werden.

Um einen vorhandenen virtuellen Server schnell zu klonen, führen Sie die folgenden Schritte aus:

  • Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server

Citrix Webanwendungs-Firewall und Apps-Architektur

  • Markieren Sie den vorhandenen virtuellen Server und klicken Sie auf Hinzufügen, um einen neuen virtuellen Server mit ähnlichen Einstellungen zu erstellen
    • Geben Sie dem neuen virtuellen Server einen neuen Namen und eine andere IP-Adresse
    • Stellen Sie sicher, dass der Port und das Protokoll korrekt sind und drücken Sie dann OK
    • Binden Sie Dienste oder Servicegruppen und drücken Sie dann auf Weiter
    • Ändern der Load Balancing-Methode, der Persistenz und aller anderen Verkehrseinstellungen, die erforderlich sind, um dem vorhandenen virtuellen Server zu entsprechen
    • Wenn dieser virtuelle Server ein virtueller HTTPS-Server ist, stellen Sie sicher, dass ein geeignetes Zertifikat gebunden ist und eine sichere Cipher Suite gebunden ist

Citrix Webanwendungs-Firewall und Apps-Architektur

Citrix Webanwendungs-Firewall und Apps-Architektur

Als Nächstes muss die WAF-Richtlinie an diesen neuen virtuellen Server gebunden sein:

  • Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server
  • Markieren Sie den neu erstellten virtuellen Server und drücken Sie auf Bearbeiten
  • Wählen Sie in der rechten Spalte Erweiterte Einstellungen die Option Richtlinien
  • Drücken Sie das + (plus) -Symbol, um eine Richtlinie hinzuzufügen
    • Wählen Sie eine App-Firewall-Richtlinie mit einer Art von Request
    • Die Standardbindungsdetails können in Ruhe gelassen werden

Citrix Webanwendungs-Firewall und Apps-Architektur

Citrix Webanwendungs-Firewall und Apps-Architektur

Testen der Benutzerakzeptanz und erste Fehlerbehandlung

Zu diesem Zeitpunkt können Benutzer mit dem Testen der Anwendung mit der neuen URL beginnen und auf die Webanwendung mit gebundenen WAF-Richtlinien zugreifen. Abhängig von der Komplexität der Anwendung müssen mehrere Benutzer in verschiedenen Geschäftseinheiten die Anwendung verwenden, um eine akzeptable Menge an Traffic zu generieren. Dieser Datenverkehr wird von der Lern-Engine verwendet, um alle Teile der Anwendung zu sehen und sicherzustellen, dass keine falschen positiven Blöcke vorhanden sind, die die Anwendungsfunktionalität verhindern.

Während der ersten Tests können Informationen, die sich auf die problematische Anfrage beziehen, schwierig zu finden sein, aber es gibt einige Einstellungen, die dabei helfen. Die erste besteht darin, ein benutzerdefiniertes HTML-Fehlerobjekt festzulegen, das Diagnoseinformationen anzeigt, wenn eine Anfrage blockiert wird. Wenn ein Fehlerobjekt nicht festgelegt ist, wird einem Benutzer häufig eine leere Seite angezeigt, die keine Informationen enthält.

Hinweis:

Es wird empfohlen, dies zu entfernen oder zu ändern, sobald die WAF-geschützte Anwendung einer nicht testbaren Zielgruppe ausgesetzt ist.

  • Setzen Sie das HTML-Fehlerobjekt auf Diagnoseinformationen
    • Gehe zum WAF-Profilund erweitere dann Profileinstellungen
    • Wählen Sie das HTML-Fehlerobjekt und klicken Sie auf die Schaltfläche “Hinzufügen” (oder Plus), um ein neues Objekt zu erstellen
    • Wählen Sie auf der Seite “HTML-Fehler importieren” den Text
    • Geben Sie dem Fehlerobjekt einen Namen und fügen Sie den folgenden Code ein:
<html>
<head>
<title>Application Firewall Block Page</title>
</head>
<body>
<h1><B>Your request has been blocked by a security policy<B><BR></H1>
<H3>Access has been blocked - if you feel this is in error, please contact the site
administrators quoting the following: </H3> <UL>
<li>NS Transaction ID: ${NS_TRANSACTION_ID}
<li>AppFW Session ID: ${NS_APPFW_SESSION_ID}
<li>Violation Category: ${NS_APPFW_VIOLATION_CATEGORY}
<li>Violation Details: ${NS_APPFW_VIOLATION_LOG} </UL>
</body>
</html>
<!--NeedCopy-->

Citrix Webanwendungs-Firewall und Apps-Architektur

Die resultierende Fehlerseite enthält wertvolle Diagnoseinformationen, einschließlich der Verstoßkategorie und Protokolldetails. Diese Informationen ermöglichen es dem Administrator zu validieren, ob die Sperre aufgrund eines falschen Positivs gelockert werden muss.

Citrix Webanwendungs-Firewall und Apps-Architektur

Wichtig:

Einige WAF-Blöcke verhindern nur das Laden bestimmter Elemente der Seite, z. B. funktioniert eine Bild-, CSS-Formatierung, ein Skript oder eine button\form-Funktionalität möglicherweise nicht. Diese Blöcke werden immer noch als Probleme betrachtet, obwohl die Diagnosefehlerseite nicht angezeigt wird. Verwenden Sie den Syslog-Viewer (siehe Beispiel unten), um die anstößige Signatur oder Sicherheitsüberprüfung zu finden, die das Problem verursacht.

Die Syslog-Meldungen, die von der WAF-Engine generiert werden, helfen, blockierte Sitzungen zu verstehen, wenn die Diagnosefehlerseite nicht verfügbar ist

  • Gehe zu System > Auditing > Syslog-Nachrichten

Citrix Webanwendungs-Firewall und Apps-Architektur

  • Wählen Sie unter der Spalte Filtern nach Modul aus und wählen Sie APPFW
  • Drücken Sie Apply

Citrix Webanwendungs-Firewall und Apps-Architektur

Einige Verstöße können sofort vom Syslog-Viewer entfernt werden, wenn es falsche positive Blöcke gibt

  • Suchen Sie in der Ansicht “Syslog Messages” (oben) eine Syslog-Nachricht, die eine Regelverletzung darstellt
  • Markieren Sie das Kästchen oben rechts in der Nachricht
  • Wählen Sie das Aktionsmenü und dann Deploy
  • Alternativ können Sie die Relaxationsregel vor der Bereitstellung ändern

Citrix Webanwendungs-Firewall und Apps-Architektur

Hinweis:

Ein falsch-positiver Block von einer Signaturverletzung bedeutet häufig, dass die Webanwendung keine Standards befolgt oder schlecht geschrieben ist. Die sofortige Maßnahme, damit die Anwendung funktionieren kann, besteht darin, eine Relaxationsregel anzuwenden, aber das langfristige Ziel besteht darin, die Anwendung selbst zu reparieren. Entspannungsregeln für schlecht geschriebene Anwendungen können schädliche Inhalte ermöglichen, indem sie das Funktionieren der Anwendung ermöglichen.

Indem Sie Statistiken für alle Artikel aktivieren, sammelt die Appliance immer Leistungsindikatoren, wenn eine Regel oder Unterschrift verletzt wird. Dies ist zunächst nützlich, da es die Löschungen von Zählern ermöglicht, um festzustellen, ob neue blockierte Anforderungen aufgrund der WAF-Richtlinie aufgetreten sind.

Legen Sie auf der Registerkarte Dashboard der ADC-Benutzeroberfläche die Statistikansicht auf Application Firewall fest, um alle zugehörigen Statistikzählungen anzuzeigen. Statistiken können auch aus dieser Sichtweise gelöscht werden.

Citrix Webanwendungs-Firewall und Apps-Architektur

Alternativ können Statistiken über die Shell-Befehlszeile der Appliance mit dem folgenden Befehl angezeigt werden:


nsonmsg -d stats | grep appfw
<!--NeedCopy-->

Beachten Sie, dass die Web Application Firewall den Webstandards folgt und standardmäßig fehlerhafte Anfragen blockiert werden. Um dieses Verhalten zu ändern, gehen Sie folgendermaßen vor:

  • Citrix WAF verwendet eine strenge HTTP-Überprüfung
  • Standardmäßig sind ungültige, nicht RFC-konforme HTTP-Anfragen blockiert
    • Um die nicht RFC-konforme Anforderungsbehandlung zu ändern, gehen Sie zu Sicherheit > Citrix Web App Firewall und dann Engine-Einstellungen ändern
    • Siehe den folgenden Code für die CLI-Methode, um nur die Protokollierung und die Generierung von Statistiken für fehlerhafte Anforderungen festzulegen

      Hinweis:

      Diese Einstellung ist global. Wenn Sie die Blockierungsoption deaktivieren, umgeht die WAF-Engine die Verarbeitung der Anwendungsfirewall für alle nicht RFC-konformen Anforderungen. Dies wird nicht empfohlen.

Citrix Webanwendungs-Firewall und Apps-Architektur


set appfw settings -malformedReqAction log stats
<!--NeedCopy-->

Sicherheits-Check Lernen

Gelernte Daten werden verwendet, um Regeln für das positive Sicherheitsmodell der WAF-Engine zu erstellen - ein paar kurze Details zu erlernten Regeln:

  • Wird im RegEx-Format gespeichert und kann zur Analyse oder Migration in CSV exportiert werden
  • Werden in einem HA-Paar von Appliances vermehrt
  • Sicherheitsprüfungen können dauerhaft im Lernmodus gelassen werden, sind jedoch nicht erforderlich
  • Sammelt nützlichere Daten, je mehr Traffic während UAT verarbeitet wird
  • Es wird dringend empfohlen, Trusted Learning Clients für das Lernen zu konfigurieren, wenn die Appliance Datenverkehr von bekannten und unbekannten Clients erhält. Diese Einstellung stellt sicher, dass böswilliger Datenverkehr nicht in eine erlernte Regel aufgenommen wird.

Die erlernte Engine läuft, da der aslearn Prozess und die Regeln im SQLite-Format an folgendem Speicherort gespeichert werden:


/var/nslog/asl/appfwprofile.db
<!--NeedCopy-->

Citrix Webanwendungs-Firewall und Apps-Architektur

Der Lernmodus kann dauerhaft aktiviert werden, die Lerndatenbank hat jedoch eine Größenbeschränkung von 20 MB. Die Lern-Engine fügt keine neuen Daten hinzu, sobald die Datenbank diese Größe erreicht hat.

Aus einer Prozessperspektive erfolgt das Lernen wie folgt:

Citrix Webanwendungs-Firewall und Apps-Architektur

Jedes Mal, wenn ein Benutzer mit einer gebundenen WAF-Richtlinie auf die neue Anwendung zugreift, die aktivierte Lernprüfungen enthält, werden erlernte Regeln generiert. Durch die Verwendung eines doppelten virtuellen Serveransatzes wird der Produktionsdatenverkehr nicht blockiert, während Benutzer die geschützte Anwendung testen. Darüber hinaus wird der gesamte Datenverkehr, der zu diesem Zeitpunkt durch die WAF-Engine geleitet wird, erlernte Regeln generieren.

Der typische Ablauf für den Aufbau von Relaxationsregeln und die Sicherstellung, dass die Anwendung wie erwartet ohne falsche positive Blöcke funktioniert, tritt kontinuierlich auf:

Citrix Webanwendungs-Firewall und Apps-Architektur

Dieser Prozess muss immer dann wiederholt werden, wenn eine Änderung an einer Anwendung oder einem Workflow vorgenommen wird, in dem zuvor keine Regeln erstellt wurden.

Um die gelernten Daten über die Benutzeroberfläche anzuzeigen, gehen Sie folgendermaßen vor:

  • Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Profile, wählen Sie das App-Firewall-Profil aus und wählen Sie dann Bearbeiten
  • Wählen Sie in der rechten Spalte “ Learned Rules
  • Jede der Sicherheitsüberprüfungen, die das Lernen unterstützen, wird mit einigen Optionen angezeigt:
    • Wählen Sie Bearbeiten aus, um die für eine bestimmte Sicherheitsprüfung erlernten Regeln anzuzeigen und bereitzustellen

Citrix Webanwendungs-Firewall und Apps-Architektur

  • Sobald Regeln eingesetzt sind, werden sie von erlernten Regeln zu Entspannungsregeln verlagert
  • Von der Benutzeroberfläche für erlernte Regeln können die Regeln mit der Schaltfläche Gelernte Daten exportieren in CSV exportiert werden, bevor Regeln in Relaxationsregeln verschoben werden
  • Der Visualizer ist auch ein wertvolles Werkzeug, insbesondere für Start-URL-Prüfungen zur Visualisierung von Regeln und einer URL-Karte der geschützten Anwendung

Citrix Webanwendungs-Firewall und Apps-Architektur

Sobald die erlernten Regeln für die Entspannung implementiert wurden, kann die Sicherheitsüberprüfung auf Blockgesetzt werden.

Hinweis:

Wenn nicht genügend Datenverkehr verarbeitet wurde oder alle Anwendungspfade von der WAF-Engine nicht gesehen wurden, wird es wahrscheinlich falsch positive Blöcke geben. Der Prozess der erlernten Regel kann wiederholt werden, bis sich die Anwendung wie erwartet verhält.

Importieren Exportieren

Die gesamte Konfiguration eines Web Application Firewall-Profils kann über mehrere Appliances repliziert werden. Dieser Prozess erfasst alle gebundenen Objekte wie das HTML-Fehlerobjekt, das XML-Fehlerobjekt, das WSDL\ XML-Schema, Signaturen, Relaxationsregeln und so weiter. Dies kann besonders nützlich sein, wenn Sie von einer Test-\ dev-Umgebung in eine Produktionsumgebung migrieren oder die WAF-Konfiguration sichern, bevor Änderungen vorgenommen werden.

Hinweis:

Exportierte Konfigurationen erfordern, dass beide Appliances im selben Build sind.

Um das WAF-Profil mit der GUI zu exportieren, navigieren Sie auf der Quell-Appliance zu Sicherheit > Citrix Web App Firewall > Profile > Wählen Sie das WAF-Profil aus und wählen Sie dann Aktion > Exportieren Der Exportvorgang kann einige Zeit dauern, bis die Exportdatei generiert wird. Nach der Archivierung wird eine WAFProfile.tgz-Datei auf den Clientcomputer heruntergeladen.

Um das WAF-Profil mit der GUI zu importieren, navigieren Sie auf der Ziel-Appliance zu Sicherheit > Citrix Web App Firewall > Profile > Aktion auswählen > Importieren. Wählen Sie “Datei importieren aus” und dann “Datei auswählen”, um das zuvor heruntergeladene Archiv zu suchen. Alle Probleme mit dem Importprozess werden protokolliert an:


/var/log/ns.log
<!--NeedCopy-->

Hinweis:

Der Importvorgang erstellt KEINE WAF-Richtlinie oder Bindung.

Dynamische Profilerstellung

Die Funktion zur dynamischen Profilerstellung wurde der WAF Engine in Version 13.0 hinzugefügt und ermöglicht es, erlernte Daten automatisch nach einem konfigurierten Schwellenwert automatisch in Relaxationsregeln bereitzustellen. Es wird eine Warnung an Administratoren gesendet, damit sie die Daten überspringen können, wenn sie nicht gültig sind, andernfalls wird sie automatisch hinzugefügt. Standardmäßig ist die dynamische Profilerstellung für alle unterstützten Sicherheitsprüfungen deaktiviert. Um sie zu aktivieren und die Einstellungen zu konfigurieren, gehen Sie wie folgt vor:

  • Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Profile, wählen Sie das App-Firewall-Profil aus und wählen Sie dann Bearbeiten
  • Wählen Sie in der rechten Spalte “ Dynamic Profiling”
    • Jede Sicherheitsüberprüfung kann von dieser Benutzeroberfläche aus aktiviert oder deaktiviert werden
    • Die dynamischen Profiling-Einstellungen für dieses WaF-Profil können auch durch Auswahl von Einstellungengeändert werden

Citrix Webanwendungs-Firewall und Apps-Architektur

Citrix Webanwendungs-Firewall und Apps-Architektur

Bei der Verwendung von dynamischem Profiling wird dringend empfohlen, Trusted Learning Clients zu aktivieren, um sicherzustellen, dass nur gültiger Anwendungsdatenverkehr Regeln generiert. Diese Kunden können hinzugefügt werden von:

  • Benutzeroberfläche für Gelernte
  • Dynamische Profilierungs-Benutzeroberfläche

Citrix Webanwendungs-Firewall und Apps-Architektur

Überlegungen bei der Umstellung auf die Produktion

Die wichtigste Überlegung bei der Verwendung der duplizierten virtuellen Servermethode besteht darin, dass eine der gelernten Regeln, die URLs enthalten, nicht angewendet wird, wenn sich die Anwendungs-URL ändert. Zum Beispiel enthalten die Regeln Start-URL und CSRF-Formularkennzeichnung URLs.

Der beste Weg, um auf den virtuellen Produktionsserver zu migrieren, besteht darin, die Blockierung für Sicherheitsprüfungen zu deaktivieren und Regeln, die URLs enthalten, neu zu lernen und bereitzustellen. Alternativ könnten die erlernten Regeln exportiert und nach dem Ändern der URL gelesen werden. Es wäre auch sehr wichtig, Trusted Learning Clients zu aktivieren, wenn sie noch nicht hinzugefügt wurden.

Wenn der PoC auf einer Testplattform ausgeführt wird, die andere Ressourcen als die Produktion hat, ist es wichtig, die sich ändernden Ressourcenanforderungen zu berücksichtigen, indem Sie die Web Application Firewall aktivieren.

Informationsquellen

Citrix Produktdokumentation - Web App Firewall

Citrix Produktdokumentation WAF - FAQ

Wie Citrix Application Firewall den Datenverkehr von Anwendungen modifiziert

WAF Basic VS Advanced Schutzmechanismen

Unterstützung für Common Event Format (CEF) Logging in der Application Firewall

Exportieren und Importieren eines Web App Firewall Profils

Leitfaden zur Proof-of-Concept-Bereitstellung für Citrix Web Application Firewall