Citrix ADC

Zusätzliche Informationen zu Profilen

Im Folgenden finden Sie zusätzliche Informationen zu bestimmten Aspekten der Web App Firewall Profile. In diesen Informationen wird erläutert, wie Sonderzeichen in eine Sicherheitsüberprüfungsregel oder eine Entspannung aufgenommen werden und wie Variablen beim Konfigurieren von Profilen verwendet werden.

Unterstützung von Konfigurationsvariablen

Anstatt statische Werte zu verwenden, können Sie zum Konfigurieren der Sicherheitsprüfungen und -einstellungen der Web App Firewall nun standardmäßige Citrix ADC Namensvariablen verwenden. Durch das Erstellen von Variablen können Sie Konfigurationen einfacher exportieren und anschließend in neue Citrix ADC Appliances importieren oder vorhandene Citrix ADC-Appliances aus einem einzigen Satz von Konfigurationsdateien aktualisieren. Dies vereinfacht Updates, wenn Sie eine Testumgebung verwenden, um eine komplexe Web App Firewall Konfiguration zu entwickeln, die auf Ihr lokales Netzwerk und Ihre Server abgestimmt ist und diese Konfiguration dann an Ihre Citrix ADC Produktionsanlagen übertragen.

Sie erstellen Web App Firewall Konfigurationsvariablen auf die gleiche Weise wie alle anderen Citrix ADC Variablen, die nach den standardmäßigen Citrix ADC-Konventionen ausgeführt werden. Um eine benannte Ausdrucksvariable mit der GUI zu erstellen, verwenden Sie dieDialogfeld Ausdruck hinzufügen. Um eine benannte Ausdrucksvariable mit der Citrix ADC Befehlszeile zu erstellen, verwenden Sie den Befehl add expression, gefolgt von dem entsprechenden Parameter.

Die folgenden URLs und Ausdrücke können anstelle von statischen Werten mit Variablen konfiguriert werden:

  • Start-URL (-starturl)
  • URL verweigern (-denyurl)
  • Formularaktions-URL für Formularfeldkonsistenzprüfung (-fieldconsistency)
  • Aktions-URL für XML-SQL-Injektionsprüfung (-xmlSQLInjection)
  • Aktions-URL für XML-Cross-Site-Skriptüberprüfung (-xmlXSS)
  • URL der Formularaktion für HTML SQL Injection Check (-sqlInjection)
  • URL der Formularaktion für die Feldformatprüfung (-fieldFormat)
  • Formularursprung-URL und Formularaktions-URL für siteübergreifende Anforderungsfälschung (CSRF) Prüfung (-csrfTag)
  • URL der Formularaktion für die HTML-Cross-Site-Skriptüberprüfung (-crossSiteScripting)
  • Sicheres Objekt (-safeObject)
  • Aktions-URL für XML-Denial-of-Service-Prüfung (xDoS) (-XMLDoS)
  • URL für Web Services Interoperabilitätsprüfung (-XMLWSIURL)
  • URL für die XML-Validierungsprüfung (-XMLValidationURL)
  • URL für die Überprüfung von XML-Anhängen (-XMLAttachmentURL)

Weitere Informationen finden Sie unter Richtlinien und Ausdrücke.

Um eine Variable in der Konfiguration zu verwenden, schließen Sie den Variablennamen zwischen zwei bei (@) -Symbolen ein und verwenden sie dann genau so, wie Sie den statischen Wert, den sie ersetzt. Wenn Sie z. B. die Option URL ablehnen mit der GUI konfigurieren und der Konfiguration die benannte Ausdrucksvariable MyDenyURL hinzufügen möchten, geben Sie @myDenyURL @ in das Dialogfeld URL ablehnen ein. Um dieselbe Aufgabe mit der Citrix ADC Befehlszeile auszuführen, geben Sie ein: add appfw profile <name> -denyURLAction @myDenyURL@.

PCRE-Zeichenkodierungsformat

Das Citrix ADC Betriebssystem unterstützt die direkte Eingabe von Zeichen in den druckbaren ASCII-Zeichensatz — Zeichen mit hexadezimalen Codes zwischen HEX 20 (ASCII 32) und HEX 7E (ASCII 127). Um ein Zeichen mit einem Code außerhalb dieses Bereichs in die Web App Firewall Konfiguration aufzunehmen, müssen Sie den Hexadezimalcode UTF-8 als regulären PCRE-Ausdruck eingeben.

Eine Reihe von Zeichentypen erfordert die Codierung mit einem regulären PCRE-Ausdruck, wenn Sie diese als URL, Formularfeldname oder Safe Object-Ausdruck in Ihre Web App Firewall -Konfiguration aufnehmen. Dazu gehören:

  • Oberere ASCII-Zeichen. Zeichen mit Codierungen von HEX 7F (ASCII 128) bis HEX FF (ASCII 255). Abhängig von der verwendeten Zeichenzuordnung können sich diese Kodierungen auf Steuercodes, ASCII-Zeichen mit Akzenten oder anderen Modifikationen, nicht-lateinische Alphabetzeichen und Symbole beziehen, die nicht im Basis-ASCII-Satz enthalten sind. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken angezeigt werden.

  • Doppelbyte-Zeichen. Zeichen mit Kodierungen, die zwei 8-Byte-Wörter verwenden. Doppelbyte-Zeichen werden hauptsächlich für die Darstellung von chinesischem, japanischem und koreanischem Text in elektronischem Format verwendet. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken angezeigt werden.

  • ASCII-Steuerzeichen. Nicht druckbare Zeichen, die zum Senden von Befehlen an einen Drucker verwendet werden. Alle ASCII-Zeichen mit Hexadezimalcodes kleiner als HEX 20 (ASCII 32) fallen in diese Kategorie. Diese Zeichen sollten jedoch niemals in einem URL- oder Formularfeldnamen erscheinen und würden selten in einem sicheren Objektausdruck erscheinen.

Die Citrix ADC Appliance unterstützt nicht den gesamten UTF-8-Zeichensatz, sondern nur die Zeichen in den folgenden acht Zeichensätzen:

  • Englisch US (ISO-8859-1). Obwohl die Bezeichnung English US lautet, unterstützt die Web App Firewall alle Zeichen im Zeichensatz ISO-8859-1, auch Latin-1-Zeichensatz genannt. Dieser Zeichensatz stellt die meisten modernen westeuropäischen Sprachen vollständig dar und stellt alle außer einigen wenigen ungewöhnlichen Zeichen im Rest dar.

  • Traditionelles Chinesisch (Big5). Die Web App Firewall unterstützt alle Zeichen im BIG5-Zeichensatz, der alle traditionellen chinesischen Schriftzeichen (Ideogramme) enthält, die häufig im modernen Chinesisch verwendet werden, wie sie in Hongkong, Macau, Taiwan gesprochen und geschrieben werden, und von vielen Menschen chinesischen ethnischen Erbes, die außerhalb des chinesischen Festlandes leben.

  • Chinesisch vereinfacht (GB2312). Die Web App Firewall unterstützt alle Zeichen des GB2312-Zeichensatzes, der alle vereinfachten chinesischen Schriftzeichen (Ideogramme) enthält, die häufig im modernen Chinesisch verwendet werden, wie sie auf dem chinesischen Festland gesprochen und geschrieben werden.

  • Japanisch (SJIS). Die Web App Firewall unterstützt alle Zeichen im Shift-JIS (SJIS) Zeichensatz, der die meisten Zeichen (Ideogramme) enthält, die häufig im modernen Japanisch verwendet werden.

  • Japanisch (EUC-JP). Die Web App Firewall unterstützt alle Zeichen im EUC-JP-Zeichensatz, der alle Zeichen (Ideogramme) enthält, die häufig im modernen Japanisch verwendet werden.

  • Koreanisch (EUC-KR). Die Web App Firewall unterstützt alle Zeichen im EUC-KR-Zeichensatz, der alle Zeichen (Ideogramme) enthält, die häufig im modernen Koreanisch verwendet werden.

  • Türkisch (ISO-8859-9). Die Web App Firewall unterstützt alle Zeichen im Zeichensatz ISO-8859-9, der alle Buchstaben enthält, die im modernen Türkisch verwendet werden.

  • Unicode (UTF-8). Die Web App Firewall unterstützt bestimmte zusätzliche Zeichen im UTF-8-Zeichensatz, auch solche, die im modernen Russisch verwendet werden.

Wenn Sie die Web App Firewall konfigurieren, geben Sie alle Nicht-ASCII-Zeichen als reguläre Ausdrücke im PCRE-Format mit dem Hexadezimalcode ein, der diesem Zeichen in der UTF-8-Spezifikation zugewiesen ist. Symbole und Zeichen innerhalb des normalen ASCII-Zeichensatzes, denen einzelne, zweistellige Codes in diesem Zeichensatz zugewiesen sind, werden im UTF-8-Zeichensatz dieselben Codes zugewiesen. Zum Beispiel das Ausrufezeichen (!), dem Hex-Code 21 im ASCII-Zeichensatz zugewiesen wird, ist auch hex 21 im UTF-8-Zeichensatz. Symbolen und Zeichen aus einem anderen unterstützten Zeichensatz sind ihnen im UTF-8-Zeichensatz ein paarweise Hexadezimalcode zugewiesen. Zum Beispiel wird dem Buchstaben a mit einem akuten Akzent (á) UTF-8-Code C3 A1 zugewiesen.

Die Syntax, die Sie verwenden, um diese UTF-8-Codes in der Web App Firewall Konfiguration darzustellen, lautet xnN für ASCII-Zeichen, \xNN\xNN für Nicht-ASCII-Zeichen, die in Englisch, Russisch und Türkisch verwendet werden, und \xNN\xNN\xNN für Zeichen, die in Chinesisch, Japanisch und Koreanisch verwendet werden. Zum Beispiel, wenn Sie ein! in einem regulären Ausdruck der Web App Firewall als UTF-8-Zeichen eingeben, geben Sie \x21 ein. Wenn Sie ein á einschließen möchten, geben Sie \xC3\xA1 ein.

Hinweis:

Normalerweise müssen Sie keine ASCII-Zeichen im UTF-8-Format darstellen. Wenn diese Zeichen jedoch einen Webbrowser oder ein zugrunde liegendes Betriebssystem verwirren, können Sie die UTF-8-Darstellung des Zeichens verwenden, um diese Verwirrung zu vermeiden. Wenn eine URL beispielsweise ein Leerzeichen enthält, sollten Sie den Speicherplatz als x20 codieren, um bestimmte Browser und Webserver-Software zu vermeiden.

Im Folgenden finden Sie Beispiele für URLs, Formularfeldnamen und sichere Objektausdrücke, die Nicht-ASCII-Zeichen enthalten, die als reguläre Ausdrücke im PCRE-Format eingegeben werden müssen, um in die Web App Firewall -Konfiguration aufgenommen zu werden. Jedes Beispiel zeigt zuerst die tatsächliche URL, den Feldnamen oder die Ausdruckszeichenfolge, gefolgt von einem regulären PCRE-Ausdruck.

  • Eine URL mit erweiterten ASCII-Zeichen.

    Tatsächliche URL: http://www.josénuñez.com

    Codierte URL: ^http://www\[.\]jos\xC3\xA9nu\xC3\xB1ez\[.\]com$

  • Eine andere URL mit erweiterten ASCII-Zeichen.

    Tatsächliche URL: http://www.example.de/trömso.html

    Codierte URL: ^http://www[.]example\[.]de/tr\xC3\xB6mso[.]html$

  • Ein Formularfeldname, der erweiterte ASCII-Zeichen enthält.

    Actual Name: nome_do_usuário

    Codierter Name:^nome_do_usu\xC3\xA1rio$

  • Ein sicherer Objektausdruck, der erweiterte ASCII-Zeichen enthält.

    Unencoded Expression [A-Z]{3,6}¥[1-9][0-9]{6,6}

    Encoded Expression: [A-Z]{3,6}\xC2\xA5[1-9][0-9]{6,6}

Sie können eine Reihe von Tabellen finden, die den gesamten Unicode-Zeichensatz und die passenden UTF-8-Kodierungen im Internet enthalten. Eine nützliche Website, die diese Informationen enthält, befindet sich unter der folgenden URL:

http://www.utf8-chartable.de/unicode-utf8-table.pl

Damit die Zeichen in der Tabelle auf dieser Website korrekt angezeigt werden, muss auf Ihrem Computer eine entsprechende Unicode-Schriftart installiert sein. Wenn Sie dies nicht tun, kann die visuelle Darstellung des Zeichens fehlerhaft sein. Auch wenn Sie keine entsprechende Schriftart installiert haben, um ein Zeichen anzuzeigen, sind die Beschreibung und die UTF-8- und UTF-16-Codes auf diesem Satz von Webseiten korrekt.

Invertierte PCRE-Ausdrücke

Zusätzlich zum übereinstimmenden Inhalt, der ein Muster enthält, können Sie mithilfe eines umgekehrten PCRE-Ausdrucks Inhalte, der kein Muster enthält, abgleichen. Um einen Ausdruck zu invertieren, fügen Sie einfach ein Ausrufezeichen (!) gefolgt von Leerzeichen als erstes Zeichen im Ausdruck.

Hinweis: Wenn ein Ausdruck nur aus einem Ausrufezeichen besteht, das nichts folgt, wird das Ausrufezeichen als Literalzeichen behandelt, nicht als Syntax, die einen umgekehrten Ausdruck angibt.

Die folgenden Befehle der Web App Firewall unterstützen invertierte PCRE-Ausdrücke:

  • Start-URL (URL)
  • URL verweigern (URL)
  • Formularfeldkonsistenz (URL der Formularaktion)
  • Cookie-Konsistenz (URL der Formularaktion)
  • Cross-Site-Anforderungsfälschung (CSRF) (URL der Formularaktion)
  • HTML Cross-Site Scripting (URL der Formularaktion)
  • Feldformat (URL der Formularaktion)
  • Feldtyp (Typ)
  • Vertrauliches Feld (URL)

Hinweis: Wenn die Sicherheitsprüfung ein IsRegEx-Flag oder Kontrollkästchen enthält, muss sie auf YES gesetzt oder aktiviert sein, um reguläre Ausdrücke im Feld zu aktivieren. Andernfalls wird der Inhalt dieses Felds als Literal behandelt und es werden keine regulären Ausdrücke (invertiert oder nicht) analysiert.

Unzulässige Namen für Web App Firewall Profile

Die folgenden Namen werden integrierten Aktionen und Profilen auf der Citrix ADC Appliance zugewiesen und können nicht als Namen für ein vom Benutzer erstelltes Web App Firewall Profil verwendet werden.

  • AGRESSIVE
  • ALLOW
  • BASIC
  • CLIENTAUTH
  • COMPRESS
  • CSSMINIFY
  • DEFLATE
  • DENY
  • DNS-NOP
  • DROP
  • GZIP
  • HTMLMINIFY
  • IMGOPTIMIZE
  • JSMINIFY
  • MODERATE
  • NOCLIENTAUTH
  • NOCOMPRESS
  • NONE
  • NOOP
  • NOREWRITE
  • RESET
  • SETASLEARNNSLOG_ACT
  • SETNSLOGPARAMS_ACT
  • SETSYSLOGPARAMS_ACT
  • SETTMSESSPARAMS_ACT
  • SETVPNPARAMS_ACT
  • SET_PREAUTHPARAMS_ACT
  • default_DNS64_action
  • dns_default_act_Cachebypass
  • dns_default_act_Drop
  • nshttp_default_profile
  • nshttp_default_strict_validation
  • nstcp_default_Mobile_profile
  • nstcp_default_XA_XD_profile
  • nstcp_default_profile
  • nstcp_default_tcp_interactive_stream
  • nstcp_default_tcp_lan
  • nstcp_default_tcp_lan_thin_stream
  • nstcp_default_tcp_lfp
  • nstcp_default_tcp_lfp_thin_stream
  • nstcp_default_tcp_lnp
  • nstcp_default_tcp_lnp_thin_stream
  • nstcp_internal_apps

Zusätzliche Informationen zu Profilen