ADC

Konfigurieren einer Rewrite-Richtlinie

Nachdem Sie eine erforderliche Rewrite-Aktion erstellt haben, müssen Sie mindestens eine Rewrite-Richtlinie erstellen, um die Anforderungen auszuwählen, die die Citrix ADC-Appliance neu schreiben soll.

明信片Rewrite-Richtlinie bestehtaus einer Regel, die selbst aus einem oder mehreren Ausdrücken besteht. Und eine zugehörige Aktion, die ausgeführt wird, wenn eine Anfrage oder Antwort mit der Regel übereinstimmt. Richtlinienregeln für die Auswertung von HTTP-Anfragen und -Antworten können auf fast jedem Teil einer Anfrage oder Antwort basieren.

Sie können keine TCP-Rewrite-Aktionen verwenden, um andere Daten als die TCP-Nutzlast neu zu schreiben. Sie können die Richtlinienregeln für TCP-Rewrite-Richtlinien auf die Informationen in der Transportschicht stützen. Und die Schichten unter der Transportschicht.

Wenn eine konfigurierte Regel mit einer Anforderung oder Antwort übereinstimmt, wird die entsprechende Richtlinie ausgelöst und die zugeordnete Aktion wird ausgeführt.

Hinweis:Sie können entweder die Befehlszeilenschnittstelle oder das Konfigurationsdienstprogramm verwenden, um Rewrite-Richtlinien zu erstellen und zu konfigurieren. Benutzer, die mit der Befehlszeilenschnittstelle und der Ausdruckssprache der Citrix ADC Policy nicht genau vertraut sind, werden die Verwendung des Konfigurationsdienstprogramms normalerweise viel einfacher finden.

So fügen Sie eine neue Rewrite-Richtlinie mit der Befehlszeilenschnittstelle hinzu

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine neue Rewrite-Richtlinie hinzuzufügen und die Konfiguration zu überprüfen:

  • []

Beispiel 1. Umschreiben von HTTP-Inhalten:

> add rewrite policy policyNew "HTTP.RES.IS_VALID" insertact NOREWRITE Done > show rewrite policy policyNew Name: policyNew Rule: HTTP.RES.IS_VALID RewriteAction: insertact UndefAction: NOREWRITE Hits: 0 Undef Hits: 0 Done 

Beispiel 2. Umschreiben einer TCP-Nutzlast (TCP Rewrite):

> add rewrite policy client_tcp_payload_policy CLIENT.IP.SRC.EQ(172.168.12.232) client_tcp_payload_replace_all Done > show rewrite policy client_tcp_payload_policy Name: client_tcp_payload_policy Rule: CLIENT.IP.SRC.EQ(172.168.12.232) RewriteAction: client_tcp_payload_replace_all UndefAction: Use Global LogAction: Use Global Hits: 0 Undef Hits: 0 Done > 

So ändern Sie eine vorhandene Rewrite-Richtlinie mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine vorhandene Rewrite-Richtlinie zu ändern und die Konfiguration zu überprüfen:

  • -rule []

Beispiel:

> set rewrite policy policyNew -rule "HTTP.RES.IS_VALID" -action insertaction Done > show rewrite policy policyNew Name: policyNew Rule: HTTP.RES.IS_VALID RewriteAction: insertaction UndefAction: NOREWRITE Hits: 0 Undef Hits: 0 Done 

So entfernen Sie eine Rewrite-Richtlinie mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine Rewrite-Richtlinie zu entfernen:

rm rewrite policy

Beispiel:

> rm rewrite policy policyNew Done 

So konfigurieren Sie eine Rewrite-Richtlinie mit dem Konfigurationsdienstprogramm

  1. Gehen Sie zuAppExpert > Rewrite > Policies.
  2. Führen Sie im Detailbereich eine der folgenden Aktionen aus:
    • Um eine Richtlinie zu erstellen, klicken Sie auf Hinzufügen.
    • Um eine vorhandene Richtlinie zu ändern, wählen Sie die Richtlinie aus, und klicken Sie dann auf Öffnen.
  3. Klicken Sie aufErstellenoderOK. In der Statusleiste wird eine Meldung angezeigt, die besagt, dass die Richtlinie erfolgreich konfiguriert wurde.
  4. Wiederholen Sie die Schritte 2 bis 4, um beliebig viele Umschreibungsaktionen zu erstellen oder zu ändern.
  5. Klicken Sie aufSchließen. Um eine Neuschreibrichtlinie zu löschen, wählen Sie die zu löschende Umschreibungsrichtlinie aus, klicken Sie aufEntfernen, und bestätigen Sie, wenn Sie dazu aufgefordert werden, Ihre Auswahl durch Klicken aufOKzu bestätigen.

Erstellen Sie Umschreibrichtlinien für Content-Sicherheits-Header, XSS-Schutz, HSTS, X-Content-Typ-Optionen und Content-Security-Policy

Geben Sie an der Eingabeaufforderung die folgenden Rewrite-Aktionsbefehle ein, um den Sicherheitskopf zu Webseiten hinzuzufügen, die über NetScaler mit Rewrites bereitgestellt werden.

添加重写操作insert_STS_header insert_http_header Strict-Transport-Security ""max-age=157680000"" add rewrite action rw_act_insert_XSS_header insert_http_header X-Xss-Protection ""1; mode=block"" add rewrite action rw_act_insert_Xcontent_header insert_http_header X-Content-Type-Options ""nosniff"" add rewrite action rw_act_insert_Content_security_policy insert_http_header Content-Security-Policy ""default-src 'self' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; style-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:"" 

Geben Sie an der Eingabeaufforderung die folgenden Richtlinienbefehle zum Umschreiben ein, um den Sicherheitskopf zu Webseiten hinzuzufügen, die über NetScaler mithilfe von Rewrites bereitgestellt werden

添加重写策略insert_STS_hea enforce_STS如此der add rewrite policy rw_pol_insert_XSS_header "HTTP.RES.HEADER("X-Xss-Protection").EXISTS.NOT" rw_act_insert_XSS_header add rewrite policy rw_pol_insert_XContent TRUE rw_act_insert_Xcontent_header add rewrite policy rw_pol_insert_Content_security_policy TRUE rw_act_insert_Content_security_policy 

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um Richtlinien mit Hilfe von Gehe zu Ausdruck NEXT an den virtuellen Server zu binden.

bind vpn vserver access -policy enforce_STS -priority 100 -gotoPriorityExpression NEXT -type RESPONSE bind vpn vserver "VSERVERNAME" -policy rw_pol_insert_XSS_header -priority 110 -gotoPriorityExpression NEXT -type RESPONSE bind vpn vserver access -policy rw_pol_insert_XContent -priority 120 -gotoPriorityExpression NEXT -type RESPONSE bind vpn vserver access -policy rw_pol_insert_Content_security_policy -priority 130 -gotoPriorityExpression NEXT -type RESPONSE 

Konfigurieren Sie die Umschreibungsrichtlinie für Content-Security-Header, XSS-Schutz, HSTS, X-Content-Typ-Optionen und Content-Security-Policy mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zuAppExpert>Umschreiben>Aktionen
  2. Klicken Sie aufHinzufügen, um Umschreibaktionen für jeden der Header zu erstellen.
  3. Navigieren Sie zuAppExpert>Umschreiben>Richtlinien
  4. Klicken Sie aufHinzufügen, um Rewrite-Richtlinien zu erstellen und sie mit Aktionen zu verknüpfen.
  5. Binden Sie Richtlinien an den virtuellen Server bei der Antwort mit dem Gehe zu AusdruckNEXT.

Hinweis:In SSLVPN müssen wir die folgende Content-Security-Aktion verwenden:

add rewrite action Rewrite_Insert_Content-Security-Policy insert_http_header Content-Security-Policy ""default-src 'self' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; style-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' http://localhost:* data:;" 

Die Localhost-Ausnahme ist erforderlich, da der Browser die Cookie/GW-Informationen mithilfe des HTTP-Aufrufs localhost an das Plug-In weitergibt. Da der CSP nur “selbst” hatte, wären nur Anrufe an den virtuellen Server zulässig.