ADC
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Grammatikbasierter Schutz vor Befehlseinschleusung für HTML-Payload

NetScaler Web App Firewall verwendet einen Pattern-Match-Ansatz zur Erkennung von Befehlseinschleusungsangriffen in HTML-Payloads Der Ansatz verwendet eine Reihe vordefinierter Schlüsselwörter und (oder ) Sonderzeichen, um einen Angriff zu erkennen und ihn als Verstoß zu kennzeichnen. Obwohl dieser Ansatz effektiv ist, kann er zu vielen Fehlalarmen führen, die dazu führen, dass eine oder mehrere Relaxationsregeln hinzugefügt werden. Insbesondere, wenn ein häufig verwendetes Wort wie “Exit” in einer HTTP-Anfrage verwendet wird. Wir können Fehlalarme reduzieren, indem wir den grammatikbasierten Schutz vor Befehlseinschleusung für die HTML-Payload implementieren.

Beim Pattern-Match-Ansatz wird ein Befehlseinschleusungsangriff identifiziert, wenn ein vordefiniertes Schlüsselwort und (oder ) ein Sonderzeichen in einer HTTP-Anforderung vorhanden ist. In diesem Fall muss die Anweisung keine gültige Befehlseinschleusungsanweisung sein. Beim grammatikbasierten Ansatz wird ein Befehlseinschleusungsangriff jedoch nur erkannt, wenn ein Schlüsselwort oder ein Sonderzeichen in einer Befehlseinschleusungsanweisung vorhanden ist. Daher werden falsch positive Szenarien reduziert.

Anwendungsszenario für grammatikbasierten Schutz vor Befehlseinschleusung

Betrachten Sie eine Aussage: “Rush towards the exit!” in einer HTTP-Anfrage. Obwohl die Anweisung keine gültige Befehlseinschleusungsanweisung ist, erkennt der Pattern-Match-Ansatz die Anforderung aufgrund des Schlüsselworts “exit” als Befehlseinschleusungsangriff. Beim grammatikbasierten Ansatz des Befehlseinschleusungsschutz wird die Anweisung jedoch nicht als Angriff erkannt, da die Schlüsselwörter in einer gültigen Befehlseinschleusunganweisung nicht vorhanden sind.

Konfigurieren der grammatikbasierten Schutzparameter gegen Befehlseinschleusungsangriffe über die Befehlszeilenschnittstelle

Um die grammatikbasierte Erkennung von Befehlseinschleusung zu implementieren, müssen Sie den Parameter “CMDInjectionGrammar” im Web App Firewall-Profil konfigurieren. In der Standardeinstellung ist der Parameter deaktiviert. Alle vorhandenen Befehlseinschleusungaktionen außer Lernen werden unterstützt. Jedes nach einem Upgrade neu erstellte Profil unterstützt die Befehlseinschleusungsgrammatik. Das neue Profil hat weiterhin den Standardtyp “Sonderzeichen oder Schlüsselwort”, und die Befehlseinschleusungsgrammatik muss explizit aktiviert sein.

Geben Sie in der Befehlszeile Folgendes ein:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON/OFF

Beispiel:

add appfw profile profile1 –CMDInjectionAction Block –CMDInjectionGrammar ON

Konfigurieren des Musterübereinstimmungsschutz und des grammatikbasierten Schutz vor Befehlseinschleusung über die CLI

Wenn Sie sowohl grammatikbasierte als auch Musterübereinstimmungsansätze aktiviert haben, führt die Appliance zunächst eine grammatikbasierte Erkennung durch. Wenn eine Befehlseinschleusung erkannt wird, bei der der Aktionstyp auf “Block” gesetzt ist, wird die Anforderung blockiert (ohne Überprüfung der Erkennung über Pattern-Match).

Geben Sie in der Befehlszeile Folgendes ein:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON –CMDInjectionType <Any action other than ‘None’: CMDSplCharANDKeyword/ CMDSplCharORKeyword/ CMDSplChar/ CMDKeyword>

Beispiel:

add appfw profile p1 –CMDInjectionAction block – CMDInjectionGrammar ON –CMDInjectionType CMDSplChar

Konfigurieren der Befehlseinschleusungsprüfung nur mit grammatikbasiertem Schutz über die CLI

Geben Sie in der Befehlszeile Folgendes ein:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON –CMDInjectionType None

Beispiel:

add appfw profile p1 –CMDInjectionAction block – CMDInjectionGrammar ON –CMDInjectionType None

Binden Sie Relaxationsregeln für den grammatikbasierten Schutz vor Befehlseinschleusung über die CLI

Wenn Ihre Anwendung erfordert, dass Sie die Befehlseinschleusungsprüfung für ein bestimmtes “ELEMENT” oder “ATTRIBUTE” in der HTML-Payload Bypass müssen, müssen Sie eine Relaxationsregel konfigurieren.

Hinweis:

Relaxationsregeln mit valueType “keyword” werden nur ausgewertet, wenn die Appliance die Erkennung über Befehlseinschleusungsgrammatik durchführt.

Die Relaxationsregeln für die Befehlseinschleusungsprüfung haben folgende Syntax. Geben Sie in der Befehlszeile Folgendes ein:

bind appfw profile <name> -CMDInjection <String> [isRegex(REGEX| NOTREGE)] <formActionURL> [-location <location>] [-valueType (Keywor|SpecialString|Wildchar) [<valueExpression>][-isValueRegex (REGEX | NOTREGEX) ]]

Beispiel:

bind appfw profile p1 -cmdinjection abc http://10.10.10.10/ bind appfw profile p1 –cmdinjection 'abc[0-9]+' http://10.10.10.10/ -isregex regEX bind appfw profile p1 –cmdinjection 'name' http://10.10.10.10/ -valueType Keyword 'exi[a-z]+' -isvalueRegex regEX

Konfigurieren des grammatikbasierten Schutz vor Befehlseinschleusung über die GUI

Führen Sie die folgenden Schritte aus, um die grammatikbasierte Erkennung von HTML-Befehlseinschleusung zu konfigurieren.

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall-Profil > Profile.

  2. Wählen Sie ein Profil aus und klicken Sie auf Bearbeiten.

  3. Gehen Sie zum Abschnitt Erweiterte Einstellungen und klicken Sie auf Sicherheitsüberprüfungen.

  4. Aktivieren Sie das Kontrollkästchen HTML Command Injection und klicken Sie auf Aktionseinstellungen.

  5. Aktivieren Sie das Kontrollkästchen Mit CMD-Grammatik überprüfen.

  6. Wählen Sie unter Prüfanforderung enthalten die Option Keine

  7. Klicken Sie auf OK.

Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.