ADC

Konfiguration und Verwendung der Lernfunktion

Die Lernfunktion ist ein Filter für sich wiederholende Muster, der Aktivitäten auf einer Website oder Anwendung beobachtet, die durch die Web App Firewall geschützt ist, um festzustellen, was normale Aktivitäten auf dieser Website oder Anwendung ausmacht. Anschließend wird für jede Sicherheitsüberprüfung, die die Unterstützung der Lernfunktion beinhaltet, eine Liste mit bis zu 2.000 vorgeschlagenen Regeln oder Ausnahmen (Lockerungen) generiert. Benutzer finden es normalerweise einfacher, Entspannungen mithilfe der Lernfunktion zu konfigurieren, als die erforderlichen Entspannungen manuell einzugeben.

Die Sicherheitsüberprüfungen, die die Lernfunktion unterstützen, sind:

  • URL-Prufung starten
  • Cookie-Konsistenzprüfung
  • Form Field Consistency Check
  • Field Formats Check
  • CSRF Form Tagging Check
  • HTML SQL Injection Check
  • HTML Cross-Site Scripting Check
  • XML-Denial-of-Service-Prüfung
  • XML Attachment Check
  • Interoperabilitätsprüfung der Webdienste

Sie führen zwei verschiedene Arten von Aktivitäten aus, wenn Sie die Lernfunktion verwenden. Zunächst aktivieren und konfigurieren Sie die Funktion für die Verwendung. Sie können den gesamten Datenverkehr zu Ihren geschützten Webanwendungen erfahren oder eine Liste von IP-Adressen (die Liste “Trusted Learning Clients hinzufügen“ genannt) konfigurieren, aus der die Lernfunktion Empfehlungen generieren kann. Zweitens, nachdem die Funktion aktiviert wurde und eine bestimmte Menge an Traffic auf Ihre geschützten Websites verarbeitet hat, überprüfen Sie die Liste der vorgeschlagenen Regeln und Lockerungen (gelernte Regeln) und markieren jede mit einer der folgenden Bezeichnungen:

  • Bearbeiten und bereitstellen.Die Regel wird in das Dialogfeld Bearbeiten gezogen, sodass Sie sie ändern können, und das geänderte Formular wird bereitgestellt.
  • Bereitstellen.Die unveränderte gelernte Regel wird auf die Liste der Regeln oder Lockerungen für diese Sicherheitsüberprüfung gesetzt.
  • Überspringen.Die gelernte Regel steht auf einer Liste von Regeln oder Lockerungen, die nicht eingesetzt werden. Die gelernte Regel wird beim Überspringen entfernt. Da sie jedoch nicht zu Entspannungen hinzugefügt werden, werden sie möglicherweise wieder gelernt.

Lernen将不努尔durchgefuhrt,要是Entspannungen vorhanden sind, außer bei Feldformat-Regeln. Wenn Regeln übersprungen werden, werden sie nur aus der erlernten Datenbank entfernt. Da keine Entspannungen hinzugefügt werden, werden sie möglicherweise wieder gelernt. Wenn die Regeln bereitgestellt werden, werden sie aus der erlernten Datenbank entfernt und es werden auch Lockerungen für die Regeln hinzugefügt. Da Entspannungen hinzukommen, würden sie nicht wieder gelernt werden. Zum Schutz des Feldformats wird das Lernen unabhängig von Entspannungen durchgeführt.

Sie können zwar die Befehlszeilenschnittstelle für die Grundkonfiguration der Lernfunktion verwenden, die Funktion ist jedoch hauptsächlich für die Konfiguration über den Web App Firewall-Assistenten oder die GUI konzipiert. Sie können die Lernfunktion nur eingeschränkt konfigurieren, indem Sie die Befehlszeile verwenden.

Der Assistent integriert die Konfiguration von Lernfunktionen in die Konfiguration der Web App Firewall als Ganzes und ist daher die einfachste Methode zur Konfiguration dieser Funktion auf einer neuen NetScaler Appliance oder bei der Verwaltung einer einfachen Web App Firewall-Konfiguration. Der GUI-Visualisierer und die manuelle Oberfläche bieten beide direkten Zugriff auf alle erlernten Regeln für alle Sicherheitsüberprüfungen und sind daher häufig vorzuziehen, wenn Sie erlernte Regeln für viele Sicherheitsüberprüfungen überprüfen müssen.

Die Lerndatenbank ist auf 20 MB begrenzt, was erreicht wird, nachdem pro Sicherheitsüberprüfung, für die Lernen aktiviert ist, etwa 2.000 gelernte Regeln oder Entspannungen generiert wurden. Wenn Sie gelernte Regeln nicht regelmäßig überprüfen und entweder genehmigen oder ignorieren und dieses Limit erreicht ist, wird ein Fehler im NetScaler-Protokoll protokolliert und es werden keine gelernten Regeln mehr generiert, bis Sie die bestehenden gelernten Regeln und Lockerungen überprüft haben.

Wenn das Lernen aufhört, weil die Datenbank ihre Größenbeschränkung erreicht hat, können Sie das Lernen neu starten, indem Sie entweder die vorhandenen gelernten Regeln und Lockerungen überprüfen oder die Lerndaten zurücksetzen. Nachdem erlernte Regeln oder Lockerungen genehmigt oder ignoriert wurden, werden sie aus der Datenbank entfernt. Nachdem Sie die Lerndaten zurückgesetzt haben, werden alle vorhandenen Lerndaten aus der Datenbank entfernt und auf ihre Mindestgröße zurückgesetzt. Wenn die Datenbank unter 20 MB fällt, wird das Lernen automatisch neu gestartet.

So konfigurieren Sie die Lerneinstellungen mit der Befehlszeilenschnittstelle

Geben Sie das zu konfigurierende Web App Firewall-Profil an, und geben Sie für jede Sicherheitsüberprüfung, die Sie in dieses Profil aufnehmen möchten, den Mindestschwellenwert oder den prozentualen Schwellenwert an. Der Mindestschwellenwert ist eine Ganzzahl, die die Mindestanzahl von Benutzersitzungen darstellt, die die Web App Firewall verarbeiten muss, bevor sie eine Regel oder Entspannung erlernt (Standard: 1). Der prozentuale Schwellenwert ist eine Ganzzahl, die den Prozentsatz der Benutzersitzungen darstellt, in denen die Web App Firewall ein bestimmtes Muster (URL, Cookie, Feld, Anlage oder Regelverletzung) beachten muss, bevor sie eine Regel oder Entspannung erfährt (Standard: 0). Verwenden Sie die folgenden Befehle:

  • set appfw learningsettings [-startURLMinThreshold ] [-startURLPercentThreshold ] [-cookieConsistencyMinThreshold ] [-cookieConsistencyPercentThreshold ] [-CSRFtagMinThreshold ] [-CSRFtagPercentThreshold ] [-fieldConsistencyMinThreshold ] [-fieldConsistencyPercentThreshold ] [-crossSiteScriptingMinThreshold ] [-crossSiteScriptingPercentThreshold ] [-SQLInjectionMinThreshold ] [-SQLInjectionPercentThreshold ] [-fieldFormatMinThreshold ] [-fieldFormatPercentThreshold ] [-XMLWSIMinThreshold ] [-XMLWSIPercentThreshold ] [-XMLAttachmentMinThreshold ] [-XMLAttachmentPercentThreshold ]
  • save ns config

Beispiel

Im folgenden Beispiel了Lerneinstellungen死去im Profil für die Sicherheitsüberprüfung von HTML SQL Injection aktiviert und konfiguriert. Dies ist eine geeignete Erstkonfiguration des Testbett-Lernens, bei der Sie die vollständige Kontrolle über den Datenverkehr haben, der an die Web App Firewall gesendet wird.

set appfw learningsettings pr-basic -SQLInjectionMinThreshold 10 set appfw learningsettings pr-basic -SQLInjectionPercentThreshold 70 save ns config 

So setzen Sie die Lerneinstellungen mithilfe der Befehlszeilenschnittstelle auf die Standardeinstellungen zurück

Um jede benutzerdefinierte Konfiguration der Lerneinstellungen für das angegebene Profil und die Sicherheitsüberprüfung zu entfernen und die Lerneinstellungen auf ihre Standardeinstellungen zurückzusetzen, geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

  • unset appfw learningsettings [-startURLMinThreshold ] [-startURLPercentThreshold] [-cookieConsistencyMinThreshold] [-cookieConsistencyPercentThreshold] [-CSRFtagMinThreshold ] [-CSRFtagPercentThreshold ] [-fieldConsistencyMinThreshold ] [-fieldConsistencyPercentThreshold ] [-crossSiteScriptingMinThreshold ] [-crossSiteScriptingPercentThreshold ] [-SQLInjectionMinThreshold ] [-SQLInjectionPercentThreshold ] [-fieldFormatMinThreshold] [-fieldFormatPercentThreshold ] [-XMLWSIMinThreshold ] [-XMLWSIPercentThreshold ] [-XMLAttachmentMinThreshold ] [-XMLAttachmentPercentThreshold]
  • save ns config

So zeigen Sie die Lerneinstellungen für ein Profil mithilfe der Befehlszeilenschnittstelle an

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

show appfw learningsettings

So zeigen Sie nicht geprüfte gelernte Regeln oder Entspannungen für ein Profil mithilfe der Befehlszeilenschnittstelle an

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

show appfw learningdata

So entfernen Sie bestimmte nicht geprüfte gelernte Regeln oder Entspannungen mithilfe der Befehlszeilenschnittstelle aus der Lerndatenbank

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

rm appfw learningdata (-startURL | -cookieConsistency | (-fieldConsistency ) | (-crossSiteScripting ) | (-SQLInjection ) | (-fieldFormat ) | (-CSRFTag ) | -XMLDoSCheck | -XMLWSICheck | -XMLAttachmentCheck ) [-TotalXMLRequests]

Beispiel

Im folgenden Beispiel了阿莱不uberpruften gelernten Lockerungen für das Profil, die Sicherheitsüberprüfung HTML SQL Injection, entfernt, die für dasLastName-Formularfeldgelten.

rm appfw learningdata pr-basic -SQLInjection LastName 

So entfernen Sie alle nicht überprüften gelernten Daten mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

reset appfw learningdata

So exportieren Sie Lerndaten mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

export appfw learningdata [-target ]

Beispiel

Im folgenden Beispiel werden gelernte Entspannungen für das Profil und die Sicherheitsüberprüfung der HTML SQL Injection in eine Datei im Format mit kommagetrennten Werten (CSV) im Verzeichnis /var/learnt_data/ unter dem im Parameter -target angegebenen Dateinamen exportiert.

export appfw learningdata pr-basic SQLInjection -target sqli_ld 

So konfigurieren Sie die Lernfunktion mithilfe der GUI

  1. Navigieren Sie zuSicherheit>Web App Firewall>Profile.
  2. Wählen Sie im BereichProfiledas Profil aus, und klicken Sie dann aufBearbeiten.
  3. Klicken Sie im AbschnittErweiterte EinstellungenaufGelernte Regeln.
  4. Wählen Sie im Abschnitt “Gelernte Regeln“一杯Sicherheitsuberprufung aus和klicken您aufEinstellungen.
  5. Legen Sie auf der SeiteEinstellungen für die Sicherheitsprüfungdie folgenden Parameter fest:

    1. Mindestzahlschwelle.Je nachdem, welche Lerneinstellungen der Sicherheitsüberprüfung Sie konfigurieren, bezieht sich der Schwellenwert für die Mindestanzahl an Benutzersitzungen, die eingehalten werden müssen, auf die Mindestanzahl von zu beachtenden Anfragen oder auf die Mindestanzahl, wie oft ein bestimmtes Formularfeld eingehalten werden muss. bevor eine erlernte Entspannung erzeugt wird. Standard: 1

    2. Prozentsatz des Schwellenwerts.Je nachdem, welche Lerneinstellungen der Sicherheitsüberprüfung Sie konfigurieren, bezieht sich der Schwellenwert in Prozent auf den Prozentsatz der gesamten beobachteten Benutzersitzungen, die gegen die Sicherheitsüberprüfung verstoßen haben, auf den Prozentsatz der Anfragen oder auf den Prozentsatz, mit dem ein Formularfeld mit einem bestimmten Feldtyp übereinstimmte, vor erlernte Entspannung wird erzeugt. Standard: 0

  6. Klicken Sie aufOKund aufSchließen.

    Abschnitt Regel gelernt

  7. Klicken Sie aufAlle gelernten Datenentfernen, um alle gelernten Daten zu entfernen und die Lernfunktion zurückzusetzen, sodass sie ihre Beobachtungen von Anfang an erneut starten muss.

    Hinweis:

    Mit dieser Schaltfläche werden nur gelernte Empfehlungen entfernt, die nicht geprüft und entweder genehmigt oder übersprungen wurden. Erlernte Entspannungen, die akzeptiert und eingesetzt wurden, werden nicht beseitigt.

  8. Um die Lernmaschine auf den Datenverkehr von einer bestimmten Gruppe von IPs zu beschränken, klicken Sie aufTrusted Learning Clientsund fügen Sie die zu verwendenden IP-Adressen zur Liste hinzu.
    1. Um der Liste der vertrauenswürdigen Lernclients eine IP-Adresse oder einen IP-Adressbereich hinzuzufügen, klicken Sie aufHinzufügen.
    2. Geben Sie im DialogfeldTrusted Learning Clients hinzufügenim Listenfeld “Vertrauenswürdige Clients” die IP-Adresse oder einen IP-Adressbereich im CIDR-Format ein.
    3. Geben Sie im Textbereich Kommentare einen Kommentar ein, der diese IP-Adresse oder diesen Bereich beschreibt.
    4. Klicken Sie aufErstellen, um Ihre neue IP-Adresse oder Ihren neuen Bereich zur Liste hinzuzufügen.
    5. Um eine vorhandene IP-Adresse oder einen Bereich zu ändern, klicken Sie auf die IP-Adresse oder den Bereich, und klicken Sie dann aufÖffnen. Bis auf den Namen ist das angezeigte Dialogfeld identisch mit dem DialogfeldTrusted Learning Clients hinzufügen.
    6. Um eine IP-Adresse oder einen Bereich zu deaktivieren oder zu aktivieren, diese jedoch in der Liste zu belassen, klicken Sie auf die IP-Adresse oder den Bereich, und klicken Sie dann entsprechend aufDeaktivieren oder Aktivieren.
    7. Um eine IP-Adresse oder einen Bereich vollständig zu entfernen, klicken Sie auf die IP-Adresse oder den Bereich, und klicken Sie dann aufEntfernen.
  9. Klicken Sie aufSchließen, um zur Seite Web App Firewall-Profil konfigurieren zurückzukehren.
  10. Klicken Sie aufFertig.

So überprüfen Sie gelernte Regeln oder Entspannungen mithilfe der GUI

  1. Navigieren Sie zuSicherheit>Web App Firewall>Profile.
  2. Wählen Sie im BereichProfiledas Profil aus, und klicken Sie dann aufBearbeiten.
  3. Klicken Sie im AbschnittErweiterte EinstellungenaufGelernte Regeln.
  4. Wählen Sie im Abschnitt “Gelernte Regeln“一杯Sicherheitsuberprufung aus和klicken您aufEinstellungen.
  5. Um die erlernten Daten hierarchisch als verzweigten Baum zu überprüfen, sodass Sie allgemeine Muster auswählen können, die vielen der erlernten Muster entsprechen, klicken Sie aufVisualizer.
  6. Wenn Sie sich entschieden haben, tatsächlich erlernte Muster zu überprüfen, führen Sie die folgenden Schritte aus.
  7. Wählen Sie die erste erlernte Entspannung aus und entscheiden Sie, wie Sie damit umgehen

    1. Um die Entspannung zu ändern und dann zu akzeptieren, klicken Sie aufBearbeiten und bereitstellen, bearbeiten Sie den regulären Entspannungsausdruck, und klicken Sie dann aufOK.
    2. Um die Entspannung ohne Änderungen zu akzeptieren, klicken Sie aufBereitstellen.
    3. Um die Entspannung aus der Liste zu entfernen, ohne sie bereitzustellen, klicken Sie aufÜberspringen.
    4. Wiederholen Sie den vorherigen Schritt, um jede weitere gelernte Entspannung zu überprüfen.
  8. Klicken Sie aufSchließen, um zum DialogfeldGelernte Regeln verwaltenzurückzukehren.
  9. Klicken Sie aufFertig.

    Abschnitt Regel mit Visualizer gelernt