SSL-Richtlinieninfrastruktur für SSL-Interception

Eine Richtlinie verhält sich wie ein Filter für eingehenden Datenverkehr. Richtlinien auf der Citrix Secure Web Gateway (SWG) -Appliance legen fest, wie Proxy-Verbindungen und -Anforderungen verwaltet werden. Die Verarbeitung basiert auf den Aktionen, die für diese Richtlinie konfiguriert sind. Das heißt, Daten in Verbindungsanforderungen werden mit einer Regel verglichen, die in der Richtlinie angegeben ist, und die Aktion wird auf Verbindungen angewendet, die der Regel (Ausdruck) entsprechen. Nachdem Sie eine der Richtlinie zuweisende Aktion definiert und die Richtlinie erstellt haben, müssen Sie sie an einen Proxyserver binden, sodass sie für den Datenverkehr gilt, der durch diesen Proxyserver fließt.

Eine SSL-Richtlinie für das SSL-Interception wertet eingehenden Datenverkehr aus und wendet eine vordefinierte Aktion auf Anforderungen an, die einer Regel (Ausdruck) entsprechen. Die Entscheidung, eine Verbindung abzufangen, zu umgehen oder zurückzusetzen, wird auf der Grundlage der definierten SSL-Richtlinie getroffen. Sie können eine von drei Aktionen für eine Richtlinie konfigurieren: INTERCEPT, BYPASS oder RESET. Sie müssen beim Erstellen einer Richtlinie eine Aktion angeben. Um eine Richtlinie in Kraft zu setzen, müssen Sie sie an einen Proxy-Server auf der Appliance binden. Um anzugeben, dass eine Richtlinie für das SSL-Interception vorgesehen ist, müssen Sie den Typ (Bindpunkt) als INTERCEPT_REQ angeben, wenn Sie die Richtlinie an einen Proxyserver binden. Wenn Sie die Bindung einer Richtlinie aufheben, müssen Sie den Typ als INTERCEPT_REQ angeben.

Hinweis:

Der Proxyserver kann keine Entscheidung zum Abfangen treffen, es sei denn, Sie geben eine Richtlinie an.

Das Abfangen des Datenverkehrs kann auf jedem SSL-Handshake-Attribut basieren. Am häufigsten wird die SSL-Domäne verwendet. Die SSL-Domäne wird normalerweise durch die Attribute des SSL-Handshake angezeigt. Es kann sich um den Servernamenindikatorwert handeln, der aus der SSL-Client-Hello -Nachricht extrahiert wurde, oder um den aus dem Ursprungsserverzertifikat extrahierten Wert (Server Alternate Name, SAN-Wert) handeln. Die SSLi-Richtlinie für Citrix SWG stellt ein spezielles Attribut mit dem Namen DETECTED_DOMAIN dar, das es den Kunden erleichtert, Interceptionrichtlinien basierend auf der SSL-Domäne aus dem Ursprungsserverzertifikat zu erstellen. Der Kunde kann den Domänennamen mit einer Zeichenfolge, einer URL-Liste (URL-Satz oder einem Patset) oder einer von der Domäne abgeleiteten URL-Kategorie vergleichen.

Erstellen einer SSL-Richtlinie mit der Citrix SWG-CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add ssl policy <name> -rule <expression> -action <string>

Beispiele:

Die folgenden Beispiele beziehen sich auf Richtlinien mit Ausdrücken, die das Attribut detected_domain verwenden, um nach einem Domänennamen zu suchen.

Traffic zu einem Finanzinstitut wie XYZBANK nicht abfangen

add ssl policy pol1 -rule client.ssl.detected_domain.contains("XYZBANK") -action BYPASS

Erlauben Sie einem Benutzer nicht, sich über das Unternehmensnetzwerk mit YouTube zu verbinden

add ssl policy pol2 -rule client.ssl. client.ssl. detected_domain.url_categorize(0,0).category.eq ("YouTube") -action RESET

Abfangen des gesamten Benutzerverkehrs

add ssl policy pol3 –rule true –action INTERCEPT

Wenn der Kunde die detected_domain nicht verwenden möchte, kann er jedes der SSL-Handshake-Attribute verwenden, um die Domäne zu extrahieren und abzuleiten.

Beispielsweise wird kein Domänenname in der SNI-Erweiterung der Client-Hello Message gefunden. Der Domänenname muss dem Ursprungsserverzertifikat entnommen werden. Die folgenden Beispiele beziehen sich auf Richtlinien mit Ausdrücken, die im Antragstellernamen des Ursprungsserverzertifikats nach einem Domänennamen suchen.

Abfangen des gesamten Benutzerverkehrs zu jeder Yahoo-Domain

add ssl policy pol4 -rule client.ssl.origin_server_cert.subject.contains("yahoo") –action INTERCEPT

Den gesamten Benutzerverkehr für die Kategorie Shopping/Retail abfangen

add ssl policy pol_url_category -rule client.ssl. origin_server_cert.subject.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") -action INTERCEPT

Abfangen des gesamten Benutzerverkehrs an eine nicht kategorisierte URL

add ssl policy pol_url_category -rule client.ssl.origin_server_cert.subject.url_categorize(0,0).category.eq("Uncategorized") -action INTERCEPT

Die folgenden Beispiele beziehen sich auf Richtlinien, die der Domäne mit einem Eintrag in einem URL-Satz entsprechen.

Den gesamten Benutzerverkehr abfangen, wenn der Domänenname in SNI mit einem Eintrag im URL-Satz “top100 übereinstimmt

add ssl policy pol_url_set  -rule client.ssl.client_hello.SNI.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Abfangen des gesamten Benutzerdatenverkehrs des Domänennamens, wenn das Ursprungsserverzertifikat mit einem Eintrag im URL-Satz top100 übereinstimmt

add ssl policy pol_url_set  -rule client.ssl.origin_server_cert.subject.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Erstellen einer SSL-Richtlinie für einen Proxyserver mit der Citrix SWG-GUI

  1. Navigieren Sie zu Secure Web Gateway > SSL> Richtlinien.
  2. Klicken Sie auf der Registerkarte SSL-Richtlinien auf Hinzufügen, und geben Sie die folgenden Parameter an:
    • Richtlinienname
    • Richtlinienaktion — Wählen Sie aus Abfangen, Umgehen oder Zurücksetzen.
    • Ausdruck
  3. Klicken Sie auf Erstellen.

Binden einer SSL-Richtlinie an einen Proxyserver mit der SWG-CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type  INTERCEPT_REQ

Beispiel:

bind ssl vserver <name> -policyName pol1 -priority 10 -type INTERCEPT_REQ

Binden einer SSL-Richtlinie an einen Proxyserver mit der Citrix SWG-GUI

  1. Navigieren Sie zu Secure Web Gateway > Virtual Proxy-Server.
  2. Wählen Sie einen virtuellen Server aus, und klicken Sie auf Bearbeiten.
  3. Klicken Sie unter Erweiterte Einstellungenauf SSL-Richtlinien.
  4. Klicken Sie in das Feld SSL-Richtlinie.
  5. Wählen Sie unter Richtlinieauswählen eine zu bindende Richtlinie aus.
  6. Wählen Sie unter Typdie Option INTERCEPT_REQaus.
  7. Klicken Sie auf Bin den und dann auf OK.

Aufheben der Bindung einer SSL-Richtlinie an einen Proxyserver mit der Befehlszeile

Geben Sie an der Eingabeaufforderung Folgendes ein:

unbind ssl vserver <vServerName> -policyName <string> -type INTERCEPT_REQ

SSL-Ausdrücke, die in SSL-Richtlinien für SWG verwendet werden

Ausdruck Beschreibung
CLIENT.SSL.CLIENT_HELLO.SNI.* Gibt die SNI-Erweiterung in einem Zeichenfolgenformat zurück. Bewerten Sie die Zeichenfolge, um zu sehen, ob sie den angegebenen Text enthält. Beispiel: client.ssl.client_hello.sni.contains ("xyz.com")
CLIENT.SSL.ORIGIN_SERVER_CERT.* Gibt ein Zertifikat zurück, das von einem Back-End-Server empfangen wird, in einem Zeichenfolgenformat. Bewerten Sie die Zeichenfolge, um zu sehen, ob sie den angegebenen Text enthält. Beispiel: client.ssl.origin_server_cert.subject.contains("xyz.com")
CLIENT.SSL.DETECTED_DOMAIN.* Gibt eine Domäne entweder aus der SNI-Erweiterung oder aus dem Ursprungsserverzertifikat in einem Zeichenfolgenformat zurück. Bewerten Sie die Zeichenfolge, um zu sehen, ob sie den angegebenen Text enthält. Beispiel: client.ssl.detected_domain.contains("xyz.com")