ADC

SSL-Interception

Eine Citrix ADC Appliance, die für die SSL-Interception konfiguriert ist, fungiert als Proxy. Es kann SSL/TLS -Datenverkehr abfangen und entschlüsseln, die unverschlüsselte Anforderung überprüfen und einen Administrator ermöglichen, Compliance-Regeln und Sicherheitsprüfungen durchzusetzen. SSL-Interception verwendet eine Richtlinie, die angibt, welcher Datenverkehr abgefangen, blockiert oder zugelassen werden soll. Beispielsweise darf der Datenverkehr zu und von Finanzwebsites, wie Banken, nicht abgefangen werden, aber anderer Datenverkehr kann abgefangen werden, und Websites auf der Sperrliste können identifiziert und blockiert werden. Citrix empfiehlt, dass Sie eine allgemeine Richtlinie zum Abfangen des Datenverkehrs und spezifischere Richtlinien konfigurieren, um einen bestimmten Datenverkehr zu umgehen.

Der Client und der Proxy stellen einen HTTPS/TLS-Handshake her. Der Proxy erstellt einen weiteren HTTPS/TLS-Handshake mit dem Server und empfängt das Serverzertifikat. Der Proxy überprüft das Serverzertifikat im Namen des Clients und überprüft auch die Gültigkeit des Serverzertifikats mit dem Online Certificate Status Protocol (OCSP). Es generiert das Serverzertifikat neu, signiert es mit dem Schlüssel des auf der Appliance installierten Zertifizierungsstellenzertifikats und stellt es dem Client zur Verfügung. Daher wird ein Zertifikat zwischen dem Client und der Citrix ADC-Appliance und ein anderes Zertifikat zwischen der Appliance und dem Back-End-Server verwendet.

Wichtig

Das Zertifizierungsstellenzertifikat, das zum Signieren des Serverzertifikats verwendet wird, muss auf allen Clientgeräten vorinstalliert sein, damit das regenerierte Serverzertifikat vom Client als vertrauenswürdig eingestuft wird.

Bei abgefangenem HTTPS-Datenverkehr entschlüsselt der Proxyserver den ausgehenden Datenverkehr, greift auf die HTTP-Klartextanforderung zu und kann jede beliebige Layer-7-Anwendung verwenden, um den Datenverkehr zu verarbeiten, z. B. indem er die Nur-Text-URL durchsucht und den Zugriff basierend auf der Unternehmensrichtlinie und der URL-Reputation zulässt oder blockiert. Wenn die Richtlinienentscheidung den Zugriff auf den Ursprungsserver zulässt, leitet der Proxyserver die neu verschlüsselte Anforderung an den Zieldienst (auf dem Ursprungsserver) weiter. Der Proxy entschlüsselt die Antwort vom Ursprungsserver, greift auf die HTTP-Antwort im Klartext zu und wendet optional alle Richtlinien auf die Antwort an. Der Proxy verschlüsselt dann die Antwort erneut und leitet sie an den Client weiter. Wenn die Richtlinienentscheidung darin besteht, die Anforderung an den Ursprungsserver zu blockieren, kann der Proxy eine Fehlerantwort, z. B. HTTP 403, an den Client senden.

Um SSL-Interception durchzuführen, müssen Sie zusätzlich zum zuvor konfigurierten Proxyserver Folgendes auf der ADC-Appliance konfigurieren:

  • SSL-Profil
  • SSL-Richtlinie
  • Zertifizierungsstellenzertifikatspeicher
  • SSL-Fehler Autolearning und Caching

Hinweis:

HTTP/2-Verkehr wird von der SSL-Interception-Funktion nicht abgefangen.

Zertifikatspeicher für SSL-Interception

Ein SSL-Zertifikat, das Teil einer SSL-Transaktion ist, ist ein digitales Datenformular (X509), das ein Unternehmen (eine Domain) oder eine Person identifiziert. Ein SSL-Zertifikat wird von einer Zertifizierungsstelle ausgestellt. Eine Zertifizierungsstelle kann privat oder öffentlich sein. Zertifikate, die von öffentlichen Zertifizierungsstellen ausgestellt werden, wie z. B. Verisign, werden von Anwendungen, die SSL-Transaktionen durchführen, vertrauenswürdig. Diese Anwendungen verwalten eine Liste der Zertifizierungsstellen, denen sie vertrauen.

Als Forward-Proxy führt die ADC-Appliance die Verschlüsselung und Entschlüsselung des Datenverkehrs zwischen einem Client und einem Server durch. Es fungiert als Server für den Client (Benutzer) und als Client für den Server. Bevor eine Appliance HTTPS-Datenverkehr verarbeiten kann, muss sie die Identität eines Servers überprüfen, um betrügerische Transaktionen zu verhindern. Daher muss die Appliance als Client für den Ursprungsserver das Ursprungsserverzertifikat überprüfen, bevor sie es akzeptiert. Um ein Serverzertifikat zu überprüfen, müssen alle Zertifikate (z. B. Root- und Zwischenzertifikate), die zum Signieren und Ausstellen des Serverzertifikats verwendet werden, auf der Appliance vorhanden sein. Ein Standardsatz von Zertifizierungsstellenzertifikaten ist auf einer Appliance vorinstalliert. Die Appliance kann diese Zertifikate verwenden, um fast alle gängigen Ursprungs-Serverzertifikate zu überprüfen. Dieser Standardsatz kann nicht geändert werden. Wenn Ihre Bereitstellung jedoch mehr Zertifizierungsstellenzertifikate erfordert, können Sie ein Bündel solcher Zertifikate erstellen und das Paket in die Appliance importieren. Ein Bundle kann auch ein einzelnes Zertifikat enthalten.

Wenn Sie ein Zertifikatpaket in die Appliance importieren, lädt die Appliance das Paket vom Remotestandort herunter und installiert es nach der Überprüfung, ob das Paket nur Zertifikate enthält, auf der Appliance. Sie müssen ein Zertifikatpaket anwenden, bevor Sie es zum Überprüfen eines Serverzertifikats verwenden können. Sie können ein Zertifikatpaket auch exportieren, um es zu bearbeiten oder als Backup an einem Offline-Speicherort zu speichern.

Importieren und Anwenden eines CA-Zertifikatpakets auf der Appliance mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

import ssl certBundle <name> <src>
apply ssl certBundle <name>
<!--NeedCopy-->
show ssl certBundle
<!--NeedCopy-->

ARGUMENTS:

Name:

Name, der dem importierten Zertifikatspaket zugewiesen werden soll. Muss mit einem alphanumerischen ASCII-Zeichen oder Unterstrich (_) beginnen und darf nur alphanumerische ASCII-Zeichen, Unterstriche, Hash (#), Punkt (.), Leerzeichen, Doppelpunkt (:), at (@), equals (=) und Bindestrich (-) enthalten. Die folgende Anforderung gilt nur für die CLI:

Wenn der Name ein oder mehrere Leerzeichen enthält, schließen Sie den Namen in doppelte oder einfache Anführungszeichen ein (z. B. “meine Datei” oder ‘meine Datei’).

Maximale Länge: 31

src:

URL zur Angabe des Protokolls, des Hosts und des Pfads, einschließlich des Dateinamens, zum Zertifikatpaket, das importiert oder exportiert werden soll. Beispiel: http://www.example.com/cert_bundle_file.

HINWEIS: Der Import schlägt fehl, wenn sich das zu importierende Objekt auf einem HTTPS-Server befindet, der Clientzertifikatauthentifizierung für den Zugriff erfordert.

Maximale Länge: 2047

Beispiel:

import ssl certbundle swg-certbundle http://www.example.com/cert_bundle
apply ssl certBundle swg-certbundle
<!--NeedCopy-->
show ssl certbundle

            Name : swg-certbundle(Inuse)

            URL : http://www.example.com/cert_bundle

    Done
<!--NeedCopy-->

Importieren und Anwenden eines CA-Zertifikatpakets auf der Appliance mit der GUI

  1. Navigieren Sie zu Sicherheit > SSL Forward Proxy > Erste Schritte > Zertifikatpakete.
  2. Führen Sie einen der folgenden Schritte aus:
    • Wählen Sie ein Zertifikatspaket aus der Liste aus.
    • Um ein Zertifikatpaket hinzuzufügen, klicken Sie auf “+” und geben Sie einen Namen und eine Quell-URL an. Klicken Sie auf OK.
  3. Klicken Sie auf OK.

Entfernen eines Zertifizierungsstellenzertifikatpakets aus der Appliance mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

remove certBundle <cert bundle name>
<!--NeedCopy-->

Beispiel:

remove certBundle mytest-cacert
<!--NeedCopy-->

Exportieren eines Zertifizierungsstellen-Zertifikatpakets aus der Appliance mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

export certBundle <cert bundle name> <Path to export>
<!--NeedCopy-->

ARGUMENTS:

Name:

Name, der dem importierten Zertifikatspaket zugewiesen werden soll. Muss mit einem alphanumerischen ASCII-Zeichen oder Unterstrich (_) beginnen und darf nur alphanumerische ASCII-Zeichen, Unterstriche, Hash (#), Punkt (.), Leerzeichen, Doppelpunkt (:), at (@), equals (=) und Bindestrich (-) enthalten. Die folgende Anforderung gilt nur für die CLI:

Wenn der Name ein oder mehrere Leerzeichen enthält, schließen Sie den Namen in doppelte oder einfache Anführungszeichen ein (z. B. “meine Datei” oder ‘meine Datei’).

Maximale Länge: 31

src:

URL zur Angabe des Protokolls, des Hosts und des Pfads, einschließlich des Dateinamens, zum Zertifikatpaket, das importiert oder exportiert werden soll. Beispiel: http://www.example.com/cert_bundle_file.

HINWEIS: Der Import schlägt fehl, wenn sich das zu importierende Objekt auf einem HTTPS-Server befindet, der Clientzertifikatauthentifizierung für den Zugriff erfordert.

Maximale Länge: 2047

Beispiel:

export certBundle mytest-cacert http://192.0.2.20/
<!--NeedCopy-->

Importieren, Anwenden und Überprüfen eines CA-Zertifikatpakets aus dem Mozilla CA-Zertifikatspeicher

Geben Sie an der Eingabeaufforderung Folgendes ein:

> import certbundle mozilla_public_ca https://curl.haxx.se/ca/cacert.pem
Done
<!--NeedCopy-->

Geben Sie Folgendes ein, um das Bündel anzuwenden:

> apply certbundle mozilla_public_ca
Done
<!--NeedCopy-->

Geben Sie Folgendes ein, um das verwendete Zertifikatbündel zu überprüfen:

> sh certbundle | grep mozilla
                Name : mozilla_public_ca (Inuse)
<!--NeedCopy-->

Einschränkungen

  • Zertifikatpakete werden in einem Cluster-Setup oder auf einer partitionierten Appliance nicht unterstützt.
  • Das TLSv1.3-Protokoll wird mit SSL-Forward-Proxy nicht unterstützt.

SSL-Richtlinieninfrastruktur für SSL-Interception

Eine Richtlinie verhält sich wie ein Filter für eingehenden Datenverkehr. Richtlinien auf der ADC-Appliance definieren, 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. Eine Entscheidung zum Abfangen, Umgehen oder Zurücksetzen einer Verbindung wird basierend auf 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 Proxyserver 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 für Interception treffen, es sei denn, Sie geben eine Richtlinie an.

Interception 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. Hierbei kann es sich um den Wert Server Name Indicator handeln, der aus der SSL-Client-Hallo (falls vorhanden) extrahiert wurde, oder um den aus dem Ursprungsserverzertifikat extrahierten Wert (Server Alternate Name, SAN) handeln. Die SSL-Abhörrichtlinie enthält ein spezielles Attribut, DETECTED_DOMAIN. Dieses Attribut erleichtert es den Kunden, Abhörrichtlinien basierend auf der SSL-Domäne aus dem Ursprungsserverzertifikat zu erstellen. Der Kunde kann den Domänennamen mit einer Zeichenfolge, einer URL-Liste (URL-Gruppe oderpatset) oder einer von der Domäne abgeleiteten URL-Kategorie abgleichen.

Erstellen einer SSL-Richtlinie mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

Beispiele:

Die folgenden Beispiele beziehen sich auf Richtlinien mit Ausdrücken, die dasdetected_domain Attribut 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
<!--NeedCopy-->

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
<!--NeedCopy-->

Abfangen des gesamten Benutzerverkehrs

add ssl policy pol3 –rule true –action INTERCEPT
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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

  1. Navigieren Sie zu Traffic Management > 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 zwischen Abfangen, Umgehen oder Zurücksetzen aus.
    • Ausdruck
  3. Klicken Sie auf Erstellen.

Binden einer SSL-Richtlinie an einen Proxyserver mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

Beispiel:

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

Binden einer SSL-Richtlinie an einen Proxyserver mit der GUI

  1. Navigieren Sie zu Sicherheit > SSL Forward Proxy > Proxy Virtual Servers.
  2. Wählen Sie einen virtuellen Server aus, und klicken Sie auf Bearbeiten.
  3. Klicken Sie unter Erweiterte Einstellungen auf 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 über die Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

SSL-Ausdrücke, die in SSL-Richtlinien 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”)

SSL-Fehler beim automatischen Lernen

Die Appliance fügt der SSL-Umgehungsliste eine Domäne hinzu, wenn der Lernmodus aktiviert ist. Der Lernmodus basiert auf der SSL-Warnmeldung, die von einem Client oder einem Ursprungsserver empfangen wird. Das heißt, das Lernen hängt vom Client oder Server ab, der eine Warnmeldung sendet. Es gibt keine Erkenntnisse, wenn keine Warnmeldung gesendet wird. Die Appliance lernt, ob eine der folgenden Bedingungen erfüllt ist:

  1. Eine Anforderung für ein Clientzertifikat wird vom Server empfangen.

  2. Jede der folgenden Warnungen wird im Rahmen des Handshakes empfangen:

    • BAD_CERTIFICATE
    • UNSUPPORTED_CERTIFICATE
    • CERTIFICATE_REVOKED
    • CERTIFICATE_EXPIRED
    • CERTIFICATE_UNKNOWN
    • UNKNOWN_CA (Wenn ein Client das Anheften verwendet, sendet er diese Warnmeldung, wenn er ein Serverzertifikat erhält.)
    • HANDSHAKE_FAILURE

Um das Lernen zu aktivieren, müssen Sie den Fehler-Cache aktivieren und den für das Lernen reservierten Speicher angeben.

Aktivieren des Lernens mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL.

  2. Klicken Sie in den Einstellungenauf Erweiterte SSL-Einstellungen ändern.

  3. Wählen Sie in SSL-Interception die Option SSL-Interception-Fehlercache aus.

  4. Geben Sie in SSL Interception Max Error Cache Memory den Speicher (in Byte) an, der reserviert werden soll.

    Fehlercache

  5. Klicken Sie auf OK.

Aktivieren des Lernens mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl parameter -ssliErrorCache ( ENABLED | DISABLED ) -ssliMaxErrorCacheMem <positive_integer>
<!--NeedCopy-->

Argumente:

ssliErrorCache:

Aktivieren oder deaktivieren Sie dynamisches Lernen, und speichern Sie die erlernten Informationen, um nachfolgende Entscheidungen zu treffen, um Anforderungen abzufangen oder zu umgehen. Wenn diese Option aktiviert ist, führt die Appliance eine Cache-Suche durch, um zu entscheiden, ob die Anforderung umgangen werden soll.

Mögliche Werte: ENABLED, DISABLED

Standardwert: DISABLED

ssliMaxErrorCacheMem:

Geben Sie den maximalen Speicher in Byte an, mit dem die gelernten Daten zwischengespeichert werden können. Dieser Speicher wird als LRU-Cache verwendet, so dass die alten Einträge durch neue Einträge ersetzt werden, nachdem das eingestellte Speicherlimit erschöpft ist. Der Wert 0 entscheidet automatisch über den Grenzwert.

Standardwert: 0

Mindestwert: 0

maximaler Wert: 4294967294

SSL-Profil

Ein SSL-Profil ist eine Sammlung von SSL-Einstellungen, wie Verschlüsselungen und Protokolle. Ein Profil ist hilfreich, wenn Sie gemeinsame Einstellungen für verschiedene Server haben. Anstatt für jeden Server dieselben Einstellungen anzugeben, können Sie ein Profil erstellen, die Einstellungen im Profil angeben und das Profil dann an verschiedene Server binden. Wenn kein benutzerdefiniertes Front-End-SSL-Profil erstellt wird, ist das Standard-Front-End-Profil an clientseitige Entitäten gebunden. Mit diesem Profil können Sie Einstellungen für die Verwaltung der clientseitigen Verbindungen konfigurieren.

Für SSL-Interception müssen Sie ein SSL-Profil erstellen und SSL-Interception im Profil aktivieren. Eine Standardverschlüsselungsgruppe ist an dieses Profil gebunden, Sie können jedoch weitere Verschlüsselungen entsprechend Ihrer Bereitstellung konfigurieren. Binden Sie ein SSL-Interception-CA-Zertifikat an dieses Profil und binden Sie das Profil dann an einen Proxyserver. Für das SSL-Interception sind die wesentlichen Parameter in einem Profil diejenigen, die für die folgenden Aktionen verwendet werden:

  • Überprüfen Sie den OCSP-Status des Original-Serverzertifikats.
  • Lösen Sie eine Neuverhandlung von Clients aus, wenn der Original-Server eine Neuverhandlung verlangt.
  • Überprüfen Sie das Original-Serverzertifikat, bevor Sie die Front-End-SSL-Sitzung wiederverwenden.

Verwenden Sie das standardmäßige Backend-Profil bei der Kommunikation mit den Original-Servern. Legen Sie alle serverseitigen Parameter, z. B. Verschlüsselungssammlungen, im Standard-Back-End-Profil fest. Ein benutzerdefiniertes Back-End-Profil wird nicht unterstützt.

Beispiele für die am häufigsten verwendeten SSL-Einstellungen finden Sie unter Beispielprofil am Ende dieses Abschnitts.

Die Verschlüsselungs-/Protokollunterstützung unterscheidet sich vom internen und externen Netzwerk. In den folgenden Tabellen ist die Verbindung zwischen den Benutzern und einer ADC-Appliance das interne Netzwerk. Das externe Netzwerk befindet sich zwischen der Appliance und dem Internet.

SSL-Profilbild

Tabelle 1: Verschlüsselungs-/Protokoll -Unterstützungsmatrix für das interne Netzwerk

Siehe Tabelle 1-Support für virtuelle Server/Frontend-Service/internen Dienst in Ciphers, die auf den Citrix ADC Appliances verfügbar sind.

Tabelle 2: Verschlüsselung/Protokoll-Unterstützungsmatrix für das externe Netzwerk

Siehe Tabelle 2-Unterstützung für Back-End-Dienste in Ciphers, die auf den Citrix ADC Appliances verfügbar sind.

Hinzufügen eines SSL-Profils und Aktivieren der SSL-Interception mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add ssl profile <name> -sslinterception ENABLED -ssliReneg ( ENABLED | DISABLED ) -ssliOCSPCheck ( ENABLED | DISABLED ) -ssliMaxSessPerServer <positive_integer>

Argumente:

sslInterception:

Aktivieren oder deaktivieren Sie SSL-Interception für Sitzungen.

Mögliche Werte: ENABLED, DISABLED

Standardwert: DISABLED

ssliReneg:

Aktivieren oder deaktivieren Sie die auslösende Clientneuverhandlung, wenn eine Neuverhandlungsanforderung vom Ursprungsserver empfangen wird.

Mögliche Werte: ENABLED, DISABLED

Standardwert: ENABLED

ssliOCSPCheck:

Aktivieren oder Deaktivieren der OCSP-Prüfung für ein Ursprungsserver-Zertifikat.

Mögliche Werte: ENABLED, DISABLED

Standardwert: ENABLED

ssliMaxSessPerServer:

Maximale Anzahl von SSL-Sitzungen, die pro dynamischem Ursprungsserver zwischengespeichert werden sollen. Für jede vom Client empfangene SNI-Erweiterung wird eine eindeutige SSL-Sitzung erstellt. Die übereinstimmende Sitzung wird für die Wiederverwendung von Serversitzungen verwendet.

Standardwert: 10

Mindestwert: 1

Maximalwert: 1000

Beispiel:

add ssl profile swg_ssl_profile  -sslinterception ENABLED

Done

sh ssl profile swg_ssl_profile

1)    Name: swg_ssl_profile (Front-End)

                SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED

                Client Auth: DISABLED

                Use only bound CA certificates: DISABLED

                Strict CA checks:                               NO

                Session Reuse: ENABLED                              Timeout: 120 seconds

                DH: DISABLED

                DH Private-Key Exponent Size Limit: DISABLED   Ephemeral RSA: ENABLED                            Refresh Count: 0

                Deny SSL Renegotiation                                ALL

                Non FIPS Ciphers: DISABLED

                Cipher Redirect: DISABLED

                SSL Redirect: DISABLED

                Send Close-Notify: YES

                Strict Sig-Digest Check: DISABLED

                Push Encryption Trigger: Always

                PUSH encryption trigger timeout:             1 ms

                SNI: DISABLED

                OCSP Stapling: DISABLED

                Strict Host Header check for SNI enabled SSL sessions:                   NO

                Push flag:            0x0 (Auto)

                SSL quantum size:                            8 kB

                Encryption trigger timeout           100 mS

                Encryption trigger packet count:               45

                Subject/Issuer Name Insertion Format: Unicode

                SSL Interception: ENABLED

                SSL Interception OCSP Check: ENABLED

                SSL Interception End to End Renegotiation: ENABLED

                SSL Interception Server Cert Verification for Client Reuse: ENABLED

                SSL Interception Maximum Reuse Sessions per Server:  10

                Session Ticket: DISABLED              Session Ticket Lifetime: 300 (secs)

                HSTS: DISABLED

                HSTS IncludeSubDomains: NO

                HSTS Max-Age: 0

                ECC Curve: P_256, P_384, P_224, P_521

1)            Cipher Name: DEFAULT Priority :1

                Description: Predefined Cipher Alias

Done
<!--NeedCopy-->

Binden Sie ein SSL-Interception-CA-Zertifikat an ein SSL-Profil mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

bind ssl profile <name> -ssliCACertkey <ssli-ca-cert>

Beispiel:

bind ssl profile swg_ssl_profile -ssliCACertkey swg_ca_cert

Done

sh ssl profile swg_ssl_profile

1)            Name: swg_ssl_profile (Front-End)

                SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED

                Client Auth: DISABLED

                Use only bound CA certificates: DISABLED

                Strict CA checks:                               NO

                Session Reuse: ENABLED                              Timeout: 120 seconds

                DH: DISABLED

                DH Private-Key Exponent Size Limit: DISABLED   Ephemeral RSA: ENABLED                            Refresh Count: 0

                Deny SSL Renegotiation                                ALL

                Non FIPS Ciphers: DISABLED

                Cipher Redirect: DISABLED

                SSL Redirect: DISABLED

                Send Close-Notify: YES

                Strict Sig-Digest Check: DISABLED

                Push Encryption Trigger: Always

                PUSH encryption trigger timeout:             1 ms

                SNI: DISABLED

                OCSP Stapling: DISABLED

                Strict Host Header check for SNI enabled SSL sessions:                   NO

                Push flag:            0x0 (Auto)

                SSL quantum size:                            8 kB

                Encryption trigger timeout           100 mS

                Encryption trigger packet count:               45

                Subject/Issuer Name Insertion Format: Unicode

                SSL Interception: ENABLED

                SSL Interception OCSP Check: ENABLED

                SSL Interception End to End Renegotiation: ENABLED

                SSL Interception Server Cert Verification for Client Reuse: ENABLED

                SSL Interception Maximum Reuse Sessions per Server:  10

                Session Ticket: DISABLED              Session Ticket Lifetime: 300 (secs)

                HSTS: DISABLED

                HSTS IncludeSubDomains: NO

                HSTS Max-Age: 0

                ECC Curve: P_256, P_384, P_224, P_521

1)            Cipher Name: DEFAULT Priority :1

                Description: Predefined Cipher Alias

1)            SSL Interception CA CertKey Name: swg_ca_cert

Done
<!--NeedCopy-->

Binden Sie ein SSL-Interception-CA-Zertifikat an ein SSL-Profil mit der GUI

  1. Navigieren Sie zu System > Profile > SSL-Profil.

  2. Klicken Sie auf Hinzufügen.

  3. Geben Sie einen Namen für das Profil an.

  4. Aktivieren Sie SSL-Interception für Sitzungen.

  5. Klicken Sie auf OK.

  6. Klicken Sie unter Erweiterte Einstellungen auf Zertifikatschlüssel.

  7. Geben Sie einen SSL-Interception-CA-Zertifikatschlüssel für die Bindung an das Profil an.

  8. Klicken Sie auf Auswählen und dann auf Binden.

  9. Optional können Sie Verschlüsselungen entsprechend Ihrer Bereitstellung konfigurieren.

    • Klicken Sie auf das Symbol Bearbeiten, und klicken Sie dann auf Hinzufügen.
    • Wählen Sie eine oder mehrere Verschlüsselungsgruppen aus, und klicken Sie auf den Pfeil nach rechts.
    • Klicken Sie auf OK.
  10. Klicken Sie auf Fertig.

Binden eines SSL-Profils an einen Proxyserver mit der GUI

  1. Navigieren Sie zu Sicherheit > SSL Forward Proxy > Virtual Proxy Server, und fügen Sie einen Server hinzu, oder wählen Sie einen Server aus, der geändert werden soll
  2. Klicken Sie im SSL-Profilauf das Symbol Bearbeiten.
  3. Wählen Sie in der Liste SSL-Profil das SSL-Profil aus, das Sie zuvor erstellt haben.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Fertig.

Beispielprofil:

Name: swg_ssl_profile (Front-End)

                SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED

                Client Auth: DISABLED

                Use only bound CA certificates: DISABLED

                Strict CA checks:                               NO

                Session Reuse: ENABLED                              Timeout: 120 seconds

                DH: DISABLED

                DH Private-Key Exponent Size Limit: DISABLED   Ephemeral RSA: ENABLED                            Refresh Count: 0

                Deny SSL Renegotiation                                ALL

                Non FIPS Ciphers: DISABLED

                Cipher Redirect: DISABLED

                SSL Redirect: DISABLED

                Send Close-Notify: YES

                Strict Sig-Digest Check: DISABLED

                Push Encryption Trigger: Always

                PUSH encryption trigger timeout:             1 ms

                SNI: DISABLED

                OCSP Stapling: DISABLED

                Strict Host Header check for SNI enabled SSL sessions:                   NO

                Push flag:            0x0 (Auto)

                SSL quantum size:                            8 kB

                Encryption trigger timeout           100 mS

                Encryption trigger packet count:               45

                Subject/Issuer Name Insertion Format: Unicode

                SSL Interception: ENABLED

                SSL Interception OCSP Check: ENABLED

                SSL Interception End to End Renegotiation: ENABLED

                SSL Interception Maximum Reuse Sessions per Server:  10

                Session Ticket: DISABLED              Session Ticket Lifetime: 300 (secs)

                HSTS: DISABLED

                HSTS IncludeSubDomains: NO

                HSTS Max-Age: 0

                ECC Curve: P_256, P_384, P_224, P_521

1)            Cipher Name: DEFAULT Priority :1

                Description: Predefined Cipher Alias

1)            SSL Interception CA CertKey Name: swg_ca_cert
<!--NeedCopy-->
SSL-Interception