Citrix ADC

SSL-Offloadkonfiguration

Um die SSL-Abladung zu konfigurieren, müssen Sie die SSL-Verarbeitung auf der Citrix ADC Appliance aktivieren und einen SSL-basierten virtuellen Server konfigurieren. Der virtuelle Server fängt SSL-Datenverkehr ab, entschlüsselt den Datenverkehr und leitet ihn an einen Dienst weiter, der an den virtuellen Server gebunden ist. Sie können einen virtuellen DTLS-Server konfigurieren, um zeitkritischen Datenverkehr zu sichern, z. B. Um das SSL-Verschieben zu aktivieren, müssen Sie ein gültiges Zertifikat und einen gültigen Schlüssel importieren und das Paar an den virtuellen Server binden.

SSL aktivieren

Um SSL-Datenverkehr zu verarbeiten, müssen Sie die SSL-Verarbeitung aktivieren. Sie können SSL-basierte Entitäten wie virtuelle Server und Dienste konfigurieren, ohne die SSL-Verarbeitung zu aktivieren. Sie funktionieren jedoch erst, wenn die SSL-Verarbeitung aktiviert ist.

Aktivieren der SSL-Verarbeitung mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

enable ns feature ssl

show ns feature

Beispiel:

enable ns feature SSL
 Done
show ns feature

        Feature                        Acronym              Status
        -------                        -------              ------
 1)     Web Logging                    WL                   OFF
 2)     Surge Protection               SP                   ON
 3)     Load Balancing                 LB                   ON
 .
 .
 .
 9)     SSL Offloading                 SSL                  ON
 .
 .
 .
 24)    NetScaler Push                 push                 OFF
 Done

Aktivieren der SSL-Verarbeitung mit der GUI

Navigieren Sie zu System > Einstellungen, und klicken Sie in der Gruppe Modi und Features auf Basisfunktionen konfigurieren, und klicken Sie auf SSL-Abladung .

Konfigurieren von Diensten

Auf der Citrix ADC Appliance stellt ein Dienst einen physischen Server oder eine Anwendung auf einem physischen Server dar. Nach der Konfiguration befinden sich Dienste im deaktivierten Zustand, bis die Appliance den physischen Server im Netzwerk erreichen und den Status überwachen kann.

Hinzufügen eines Dienstes mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen Dienst hinzuzufügen und die Konfiguration zu überprüfen:

add service <name> (<IP> | <serverName>) <serviceType> <port>
show service <serviceName>

Beispiel:

add service sslsvc 198.51.100.225 SSL 443

Done

sh ssl service sslsvc

            Advanced SSL configuration for Back-end SSL Service sslsvc:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: DISABLED
            Session Reuse: ENABLED          Timeout: 300 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Server Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Send Close-Notify: YES
            Strict Sig-Digest Check: DISABLED
            Zero RTT Early Data: ???
            DHE Key Exchange With PSK: ???
            Tickets Per Authentication Context: ???

            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT_BACKEND
            Description: Default cipher list for Backend SSL session
     Done

Ändern oder Entfernen eines Dienstes mit der CLI

Um einen Dienst zu ändern, verwenden Sie den Befehl set service, der genauso wie mit dem Befehl add service entspricht, mit der Ausnahme, dass Sie den Namen eines vorhandenen Dienstes eingeben. Um einen Dienst zu entfernen, verwenden Sie den Befehl rm service, der nur das <name> Argument akzeptiert.

Konfigurieren eines Dienstes mit der GUI

Navigieren Sie zu Traffic Management > Load Balancing > Services, erstellen Sie einen Dienst, und geben Sie das Protokoll als SSL an.

Konfiguration des virtuellen SSL-Servers

Sichere Sitzungen erfordern die Einrichtung einer Verbindung zwischen dem Client und einem SSL-basierten virtuellen Server auf der Citrix ADC Appliance. Der virtuelle SSL-Server fängt SSL-Datenverkehr ab, entschlüsselt ihn und verarbeitet ihn, bevor er an Dienste sendet, die an den virtuellen Server gebunden sind.

Hinweis: Der virtuelle SSL-Server wird auf der Citrix ADC Appliance als unten markiert, bis ein gültiges Zertifikat/Schlüsselpaar und mindestens ein Dienst an ihn gebunden sind. Ein SSL-basierter virtueller Server ist ein virtueller Lastausgleichsserver vom Protokolltyp SSL oder SSL_TCP. Die Lastenausgleichsfunktion muss auf der Citrix ADC Appliance aktiviert sein.

Hinzufügen eines SSL-basierten virtuellen Servers mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen SSL-basierten virtuellen Server zu erstellen und die Konfiguration zu überprüfen:

add lb vserver <name> (serviceType) <IPAddress> <port>
show ssl vserver <name>

Beispiel:

add lb vserver sslvs SSL 192.0.2.240 443
Done

sh ssl vserver sslvs

            Advanced SSL configuration for VServer sslvs:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED          Refresh Count: 0
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Push Encryption Trigger: Always
            Send Close-Notify: YES
            Strict Sig-Digest Check: DISABLED
            Zero RTT Early Data: DISABLED
            DHE Key Exchange With PSK: NO
            Tickets Per Authentication Context: 1
            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT
            Description: Default cipher list with encryption strength >= 128bit
     Done

Ändern oder Entfernen eines SSL-basierten virtuellen Servers mit der CLI

Verwenden Sie denset lb vserver Befehl, um die Lastenausgleichseigenschaften eines virtuellen SSL-Servers zu ändern. Der Befehl set ähnelt demadd lb vserver Befehl, außer dass Sie den Namen eines vorhandenen virtuellen Servers eingeben. Verwenden Sie denset ssl vserver Befehl, um die SSL-Eigenschaften eines SSL-basierten virtuellen Servers zu ändern. Weitere Informationen finden Sie im Abschnitt SSL-Parameter für virtuelle Server weiter unten auf dieser Seite.

Um einen virtuellen SSL-Server zu entfernen, verwenden Sie denrm lb vserver Befehl, der nur das<name> Argument akzeptiert.

Konfigurieren eines SSL-basierten virtuellen Servers mit der GUI

Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, erstellen Sie einen virtuellen Server, und geben Sie das Protokoll als SSL an.

Binden von Diensten an den virtuellen SSL-Server

Die ADC-Appliance leitet entschlüsselte SSL-Daten an Server im Netzwerk weiter. Um Daten weiterzuleiten, müssen Dienste, die diese physischen Server darstellen, an den virtuellen Server gebunden sein, der die SSL-Daten empfängt.

In der Regel ist die Verbindung zwischen der ADC-Appliance und dem physischen Server sicher. Daher muss die Datenübertragung zwischen der Appliance und dem physischen Server nicht verschlüsselt werden. Sie können jedoch End-to-Ende-Verschlüsselung bereitstellen, indem Sie die Datenübertragung zwischen der Appliance und dem Server verschlüsseln. Einzelheiten finden Sie unter Konfigurieren von SSL-Offloading mit Ende-zu-Ende-Verschlüsselung.

Hinweis: Aktivieren Sie die Lastenausgleichsfunktion auf der ADC-Appliance, bevor Sie Dienste an den SSL-basierten virtuellen Server binden.

Binden eines Dienstes an einen virtuellen Server mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um den Dienst an den virtuellen Server zu binden und die Konfiguration zu überprüfen:

bind lb vserver <name> <serviceName>
show lb vserver <name>

Beispiel:

bind lb vserver sslvs sslsvc
     Done

sh lb vserver sslvs

            sslvs (192.0.2.240:443) - SSL       Type: ADDRESS
            State: DOWN[Certkey not bound]
            Last state change was at Wed May  2 11:43:04 2018
            Time since last state change: 0 days, 00:13:21.150
            Effective State: DOWN
            Client Idle Timeout: 180 sec
            Down state flush: ENABLED
            Disable Primary Vserver On Down : DISABLED
            Appflow logging: ENABLED
            No. of Bound Services :  1 (Total)       0 (Active)
            Configured Method: LEASTCONNECTION      BackupMethod: ROUNDROBIN
            Mode: IP
            Persistence: NONE
            Vserver IP and Port insertion: OFF
            Push: DISABLED  Push VServer:
            Push Multi Clients: NO
            Push Label Rule: none
            L2Conn: OFF
            Skip Persistency: None
            Listen Policy: NONE
            IcmpResponse: PASSIVE
            RHIstate: PASSIVE
            New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0
            Mac mode Retain Vlan: DISABLED
            DBS_LB: DISABLED
            Process Local: DISABLE
            Traffic Domain: 0
            TROFS Persistence honored: ENABLED
            Retain Connections on Cluster: NO
    1) sslsvc (198.51.100.225: 443) - SSL State: DOWN       Weight: 1
     Done

Aufheben der Bindung eines Dienstes von einem virtuellen Server mit der CLI

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

unbind lb vserver <name> <serviceName>

Beispiel:

unbind lb vserver sslvs sslsvc
     Done

Binden eines Dienstes an einen virtuellen Server mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server.
  2. Öffnen Sie einen virtuellen Server, und klicken Sie im Abschnitt Dienste, um einen Dienst an den virtuellen Server zu binden.

Konfigurieren eines virtuellen Servers (Server Name Indication, SNI) für sicheres Hosting mehrerer Standorte

Virtuelles Hosting wird von Webservern verwendet, um mehr als einen Domainnamen mit derselben IP-Adresse zu hosten. Die Appliance unterstützt das Hosten mehrerer sicherer Domänen, indem die SSL-Verarbeitung von den Webservern mithilfe transparenter SSL-Dienste oder virtueller serverbasierter SSL-Abladung entfernt wird. Wenn jedoch mehrere Websites auf demselben virtuellen Server gehostet werden, wird der SSL-Handshake abgeschlossen, bevor der erwartete Hostname an den virtuellen Server gesendet wird. Daher kann die Appliance nicht bestimmen, welches Zertifikat dem Client vorgelegt werden soll, nachdem eine Verbindung hergestellt wurde. Dieses Problem wird durch Aktivieren von SNI auf dem virtuellen Server behoben. SNI ist eine TLS-Erweiterung (Transport Layer Security), die vom Client verwendet wird, um den Hostnamen während der Handshake-Initiierung anzugeben. Die ADC-Appliance vergleicht diesen Hostnamen mit dem allgemeinen Namen und vergleicht ihn, falls er nicht übereinstimmt, mit dem alternativen Antragstellernamen (SAN). Wenn der Name übereinstimmt, stellt die Appliance dem Client das entsprechende Zertifikat vor.

Ein Platzhalter-SSL-Zertifikat unterstützt die Aktivierung der SSL-Verschlüsselung in mehreren Subdomänen, wenn dieselbe Organisation diese Domänen steuert und der Domänenname der zweiten Ebene identisch ist. Beispielsweise kann ein Wildcard-Zertifikat, das an ein Sport-Netzwerk mit dem allgemeinen Namen *.sports.net ausgestellt wurde, zum Sichern von Domänen verwendet werden, z. B. login.sports.net und help.sports.net, aber nicht login.ftp.sports.net.

Hinweis: Auf einer ADC-Appliance werden nur DNS-Einträge im SAN-FeldDomänenname, URL und E-Mail-ID verglichen.

Mit der Option -SNICert können Sie mehrere Serverzertifikate an einen einzelnen virtuellen SSL-Server oder einen transparenten Dienst binden. Der virtuelle Server oder Dienst gibt diese Zertifikate aus, wenn SNI auf dem virtuellen Server oder Dienst aktiviert ist. Sie können SNI jederzeit aktivieren.

Binden Sie mehrere Serverzertifikate an einen einzelnen virtuellen SSL-Server mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um SNI zu konfigurieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName>@ [-SNIEnable ( ENABLED | DISABLED )]

bind ssl vserver <vServerName>@ -certkeyName <string> -SNICert

show ssl vserver <vServerName>

Um mehrere Serverzertifikate mit der CLI an einen transparenten Dienst zu binden,vserver ersetzen Sie in den vorangegangenen Befehlen durch Dienst undvservername Dienstname.

Hinweis: Erstellen Sie den SSL-Dienst mit der-clearTextPort 80 Option.

Binden Sie mehrere Serverzertifikate an einen einzelnen virtuellen SSL-Server mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server.
  2. Öffnen Sie einen virtuellen SSL-Server, und wählen Sie unter ZertifikateServerzertifikataus.
  3. Fügen Sie ein Zertifikat hinzu, oder wählen Sie ein Zertifikat aus der Liste aus, und klicken Sie auf Serverzertifikat für SNI.
  4. Wählen Sie unter Erweiterte Einstellungendie Option SSL-Parameteraus.
  5. Klicken Sie auf SNI Enable.

Unterstützung für SNI im Back-End-Dienst

Hinweis: SNI wird auf einem DTLS-Back-End-Dienst nicht unterstützt.

Die Citrix ADC Appliance unterstützt Server Name Indication (SNI) am Back-End. Das heißt, der allgemeine Name wird als Servername im Client Hallo an den Back-End-Server gesendet, um den Handshake erfolgreich zu beenden. Dieser Support trägt dazu bei, die Sicherheitsanforderungen des Bundes für Systemintegratoren zu erfüllen. Außerdem bietet SNI den Vorteil, nur einen Port zu verwenden, anstatt Hunderte verschiedener IP-Adressen und Ports auf einer Firewall zu öffnen.

Die Sicherheitsanforderungen für den Federal Systemintegrator umfassen die Unterstützung für Active Directory Federation Services (ADFS) 3.0 in 2012R2 und WAP-Servern. Um diese Anforderung zu erfüllen, ist die Unterstützung für SNI am Back-End einer Citrix ADC Appliance erforderlich.

Hinweis:

Damit SNI funktioniert, muss der Servername im Client hello mit dem Hostnamen übereinstimmen, der auf dem Back-End-Dienst konfiguriert ist, der an einen virtuellen SSL-Server gebunden ist. Wenn beispielsweise der Hostname des Back-End-Servers www.mail.example.com lautet, muss der SNI-fähige Back-End-Dienst mit dem Servernamen als konfiguriert werdenhttps://www.mail.example.com. Und dieser Hostname muss mit dem Servernamen im Client Hallo übereinstimmen.

Unterstützung für dynamisches SNI im Back-End-Dienst

Die Citrix ADC Appliance unterstützt dynamisches SNI auf den Back-End-TLS-Verbindungen. Das heißt, die Appliance lernt das SNI in der Clientverbindung und verwendet es in der serverseitigen Verbindung. Sie müssen keinen allgemeinen Namen mehr im SSL-Dienst, Dienstgruppe oder Profil angeben. Der allgemeine Name, der in der SNI-Erweiterung der Client Hello Nachricht empfangen wird, wird an die Back-End-SSL-Verbindung weitergeleitet.

Früher mussten Sie statische SNI für SSL-Dienste, Dienstgruppen und SSL-Profile konfigurieren. Dadurch wurde nur die konfigurierte statische SNI-Erweiterung an den Server gesendet. Wenn ein Client gleichzeitig auf mehrere Domänen zugreifen musste, konnte die ADC-Appliance das vom Client empfangene SNI nicht an den Back-End-Dienst senden. Stattdessen wurde der statische allgemeine Name gesendet, der konfiguriert wurde. Wenn der Back-End-Server nun für mehrere Domänen konfiguriert ist, kann der Server mit dem richtigen Zertifikat antworten, das auf der von der Appliance in Client Hello empfangenen SNI basiert.

Hinweis:

  • SNI muss auf dem Front-End und das richtige SNI-Zertifikat aktiviert sein, das an den virtuellen SSL-Server gebunden ist. Wenn Sie SNI am Frontend nicht aktivieren, werden die SNI-Informationen nicht an das Backend übergeben.

  • Wenn die Serverauthentifizierung aktiviert ist, wird das Serverzertifikat durch das Zertifizierungsstellenzertifikat verifiziert, und allgemeine Namen/SAN-Einträge im Serverzertifikat werden mit dem SNI abgeglichen. Daher muss das Zertifizierungsstellenzertifikat an den Dienst gebunden sein.

  • Die Wiederverwendung der Back-End-Verbindung und der SSL-Sitzung basiert auf SNI, wenn dynamisches SNI aktiviert ist.

SSL-Monitore senden SNI nicht, wenn dynamisches SNI aktiviert ist. Für SNI-basierte Sondierung fügen Sie ein Back-End-Profil an, auf dem statische SNI konfiguriert ist, an die SSL-Monitore an. Der Monitor muss mit demselben benutzerdefinierten Header wie SNI konfiguriert sein.

Konfigurieren von SNI auf dem Back-End-Dienst mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add service <name>  <IP>  <serviceType>  <port>

add lb vserver <name>  <IPAddress> <serviceType>  <port>

bind lb vserver <name> <serviceName>

set ssl service <serviceName> -SNIEnable ENABLED -commonName <string>

set ssl profile <name> -SNIEnable ENABLED

Beispiel:

    add service service_ssl 198.51.100.100 SSL 443

    add lb vserver ssl-vs 203.0.113.200 SSL 443

    bind lb vserver ssl-vs service_ssl

    set ssl service service_ssl -SNIEnable ENABLED –commonName www.example.com

    set ssl profile sslprof -SNIEnable ENABLED

Konfigurieren von SNI auf dem Back-End-Dienst mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Dienste.
  2. Wählen Sie einen SSL-Dienst aus, und klicken Sie unter Erweiterte Einstellungenauf SSL-Parameter.
  3. Klicken Sie auf SNI Enable.

    SNI aktivieren

Konfigurieren von SNI auf dem SSL-Profil mit der GUI

  1. Navigieren Sie zu System > Profile > SSL-Profil.
  2. Klicken Sie auf Hinzufügen.
  3. Wählen Sie unter Grundeinstellungendie Option SNI Aktivierenaus.

    SNI im Profil

  4. Klicken Sie auf OK.

Binden eines sicheren Monitors an einen SNI-fähigen Back-End-Dienst

Sie können sichere Monitore vom Typ HTTP, HTTP-ECV, TCP oder TCP-ECV an die Back-End-Dienste und Service-Gruppen binden, die SNI unterstützen. Die Monitorsonden senden die SNI-Erweiterung jedoch nicht, wenn dynamisches SNI aktiviert ist. Um SNI-Prüfpunkte zu senden, aktivieren Sie statische SNI im Back-End-SSL-Profil und binden Sie das Profil an den Monitor. Legen Sie den benutzerdefinierten Header im Monitor auf den Servernamen fest, der als SNI-Erweiterung im Client-Hallo der Monitorprobe gesendet wird.

Konfigurieren und Binden eines sicheren Monitors an einen SNI-fähigen Back-End-Dienst mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb monitor <monitorName> <type> -secure YES
add ssl profile <name> -sslProfileType BackEnd
set lb monitor <monitorName> <type> -customHeaders <string> -sslprofile <backend ssl profile>
set ssl profile <name> -sniEnable ENABLED -commonName <string>
bind service <name> -monitorName <string>

Beispiel:

add ssl profile sni_backend_profile -sslProfileType BackEnd
set ssl profile sni_backend_profile -sniEnable ENABLED -commonName example.com
add lb monitor http-ecv-mon HTTP-ECV -secure YES
set monitor http-ecv-mon HTTP-ECV -customHeaders "Host: example.com\r\n" -sslprofile sni_backend_profile
bind service ssl_service –monitorName http-ecv-mon

Konfigurieren und Binden eines sicheren Monitors an einen SNI-fähigen Back-End-Dienst mit der GUI

  1. Navigieren Sie zu System > Profile > SSL-Profile.
  2. Klicken Sie auf Hinzufügen.
  3. Geben Sie einen Namen für das Profil an, und wählen Sie unter SSL-Profiltypdie Option Backendaus.

    SNI aktiviertes SSL-Profil

  4. Geben Sie den allgemeinen Namen an (wie Host-Header) und wählen Sie SNI Enable.

    Gemeinsamer Name im SNI aktivierten SSL-Profil

  5. Klicken Sie auf OK.
  6. Navigieren Sie zu Traffic Management > Load Balancing > Monitor.
  7. Klicken Sie auf Hinzufügen.
  8. Geben Sie einen Namen für den Monitor an. Wählen Sie unter Typdie Option HTTP, HTTP-ECV, TCP oder TCP-ECV aus.
  9. Geben Sie eine benutzerdefinierte Kopfzeilean.

    Benutzerdefinierter Header im SNI aktivierten SSL-Profil

  10. Wählen Sie Sichernaus.
  11. Wählen Sie unter SSL-Profildas Back-End-SSL-Profil aus, das in den vorherigen Schritten erstellt wurde.
  12. Klicken Sie auf Erstellen.

    SNI aktiviertes SSL-Profil erstellen

  13. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Dienste.
  14. Wählen Sie einen SSL-Dienst aus, und klicken Sie auf Bearbeiten.
  15. Klicken Sie unter Monitoreauf Bindung hinzufügen, wählen Sie den in den vorherigen Schritten erstellten Monitor aus, und klicken Sie auf Binden.

    Sichere Überwachung an SNI aktivierten SSL-Dienst binden

Konfigurieren und Binden eines sicheren Monitors an einen SNI-fähigen Back-End-Dienst mit der GUI

  1. Navigieren Sie zu Traffic Management > Load Balancing > Monitor .
  2. Fügen Sie einen Monitor vom Typ HTTP-ECV oder TCP-ECV hinzu, und geben Sie einen benutzerdefinierten Header an.
  3. Wählen Sie Erstellen.
  4. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Dienste.
  5. Wählen Sie einen SSL-Dienst aus, und klicken Sie auf Bearbeiten.
  6. Klicken Sie unter Monitoreauf Bindung hinzufügen, wählen Sie den in Schritt 3 erstellten Monitor aus, und klicken Sie auf Binden.

Hinzufügen oder Aktualisieren eines Zertifikatschlüsselpaars

Hinweise:

Wenn Sie kein vorhandenes Zertifikat und keinen vorhandenen Schlüssel haben, finden Sie weitere Informationen unterErstellen eines Zertifikats.

Klicken Sie auf, um ein ECDSA-Zertifikatschlüsselpaar zu erstellenErstellen eines ECDSA-Zertifikatschlüsselpaars.

Ab Build 41.x werden Zertifikatnamen mit bis zu 63 Zeichen unterstützt.

Für jede SSL-Transaktion benötigt der Server ein gültiges Zertifikat und das entsprechende private und öffentliche Schlüsselpaar. Die SSL-Daten werden mit dem öffentlichen Schlüssel des Servers verschlüsselt, der über das Zertifikat des Servers verfügbar ist. Die Entschlüsselung erfordert den entsprechenden privaten Schlüssel. Das Kennwort des privaten Schlüssels, der beim Hinzufügen eines SSL-Zertifikatschlüsselpaars verwendet wird, wird mit einem eindeutigen Verschlüsselungsschlüssel für jede Citrix ADC Appliance gespeichert.

Die ADC-Appliance entlädt SSL-Transaktionen vom Server. Daher müssen das Zertifikat des Servers und der private Schlüssel auf der Appliance vorhanden sein, und das Zertifikat muss mit dem entsprechenden privaten Schlüssel gekoppelt werden. Dieses Zertifikatschlüsselpaar muss an den virtuellen Server gebunden sein, der die SSL-Transaktionen verarbeitet.

Hinweis: Das Standardzertifikat einer Citrix ADC Appliance beträgt 2048 Bit. In früheren Builds war das Standardzertifikat 512 Bit oder 1024 Bit. Nach dem Upgrade auf Version 11.0 müssen Sie alle alten Zertifikatschlüsselpaare löschen, die mit beginnen"ns-", und dann die Appliance neu starten, um automatisch ein 2048-Bit-Standardzertifikat zu generieren.

Sowohl das Zertifikat als auch der Schlüssel müssen sich im lokalen Speicher auf der Citrix ADC Appliance befinden, bevor sie der Appliance hinzugefügt werden können. Wenn sich das Zertifikat oder die Schlüsseldatei nicht auf der Appliance befindet, laden Sie es auf die Appliance hoch, bevor Sie das Paar erstellen.

Wichtig: Zertifikate und Schlüssel werden standardmäßig im Verzeichnis /nsconfig/ssl gespeichert. Wenn Ihre Zertifikate oder Schlüssel an einem anderen Speicherort gespeichert sind, müssen Sie den absoluten Pfad zu den Dateien auf der Citrix ADC Appliance angeben. Die Citrix ADC FIPS-Appliances unterstützen keine externen Schlüssel (Nicht-FIPS-Schlüssel). Auf einer FIPS-Appliance können Sie keine Schlüssel von einem lokalen Speichergerät wie einer Festplatte oder einem Flash-Speicher laden. Die FIPS-Schlüssel müssen im Hardwaresicherheitsmodul (HSM) der Appliance vorhanden sein.

Auf einer Citrix ADC MPX-Appliance und einer Citrix ADC FIPS-Appliance werden nur private RSA-Schlüssel unterstützt. Auf einer virtuellen VPX-Appliance werden private RSA- und DSA-Schlüssel unterstützt. Wenn auf einer SDX-Appliance SSL-Chips einer Instanz zugewiesen werden, werden nur private RSA-Schlüssel unterstützt. Wenn jedoch keine SSL-Chips einer Instanz zugewiesen werden, werden sowohl private RSA- als auch DSA-Schlüssel unterstützt. In allen Fällen können Sie ein CA-Zertifikat entweder mit RSA- oder DSA-Schlüsseln binden.

Legen Sie den Benachrichtigungszeitraum fest, und aktivieren Sie die Ablaufüberwachung, um eine Eingabeaufforderung auszustellen, bevor das Zertifikat abläuft.

Die Citrix ADC Appliance unterstützt die folgenden Eingabeformate des Zertifikats und der Dateien mit privatem Schlüssel:

  • PEM - Datenschutzoptimierte E-Mail
  • DER - Distinguished Coding Rule
  • PFX - Persönlicher Informationsaustausch

Die Software erkennt automatisch das Format. Daher ist es nicht mehr erforderlich, das Format im Parameter inform anzugeben. Wenn Sie das Format angeben (korrekt oder falsch), ignoriert die Software es. Das Format des Zertifikats und der Schlüsseldatei muss identisch sein.

Hinweis: Ein Zertifikat muss mit einem der folgenden Hash-Algorithmen signiert werden:

  • MD5
  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384 (nur am Frontend unterstützt)
  • SHA-512 (nur am Frontend unterstützt)

Eine MPX-Appliance unterstützt Zertifikate mit 512 oder mehr Bits bis zu den folgenden Größen:

  • 4096-Bit-Serverzertifikat auf dem virtuellen Server
  • 4096-Bit-Clientzertifikat für den Dienst
  • 4096-Bit-CA-Zertifikat (einschließlich Zwischen- und Stammzertifikate)
  • 4096-Bit-Zertifikat auf dem Back-End-Server
  • 4096-Bit-Clientzertifikat (wenn die Clientauthentifizierung auf dem virtuellen Server aktiviert ist)

Eine virtuelle VPX-Appliance unterstützt Zertifikate mit 512 oder mehr Bits bis zu den folgenden Größen:

  • 4096-Bit-Serverzertifikat auf dem virtuellen Server
  • 4096-Bit-Clientzertifikat für den Dienst
  • 4096-Bit-CA-Zertifikat (einschließlich Zwischen- und Stammzertifikate)
  • 4096-Bit-Zertifikat auf dem Back-End-Server
  • 2048-Bit-Clientzertifikat (wenn die Clientauthentifizierung auf dem virtuellen Server aktiviert ist)

Hinweis:

Eine Citrix ADC SDX-Appliance unterstützt Zertifikate mit 512 oder mehr Bits. Jede Citrix ADC VPX Instanz, die auf der Appliance gehostet wird, unterstützt die vorherigen Zertifikatgrößen für eine virtuelle VPX-Appliance. Wenn jedoch ein SSL-Chip einer Instanz zugewiesen wird, unterstützt diese Instanz die von einer MPX-Appliance unterstützten Zertifikatgrößen.

Hinzufügen eines Zertifikatschlüsselpaars mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um ein Zertifikatschlüsselpaar hinzuzufügen und die Konfiguration zu überprüfen:

add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey [<certkeyName>]

Beispiel:

add ssl certKey sslckey -cert server_cert.pem -key server_key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
 Done
Note: For FIPS appliances, replace -key with -fipskey

show ssl certKey sslckey
        Name: sslckey           Status: Valid,   Days to expiration:8418
        Version: 3
        Serial Number: 01
        Signature Algorithm: md5WithRSAEncryption
        Issuer:  C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.root.com
        Validity
                Not Before: Jul 15 02:25:01 2005 GMT
                Not After : Nov 30 02:25:01 2032 GMT
        Subject:  C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.server.com
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048
 Done

Aktualisieren oder Entfernen eines Zertifikatschlüsselpaars mit der CLI

Verwenden Sie denset ssl certkey Befehl, um die Ablaufüberwachung oder den Benachrichtigungszeitraum in einem Zertifikatschlüsselpaar zu ändern. Verwenden Sie denupdate ssl certkey Befehl, um das Zertifikat oder den Schlüssel in einem Zertifikatschlüsselpaar zu ersetzen. Derupdate ssl certkey Befehl verfügt über einen zusätzlichen Parameter zum Überschreiben der Domänenprüfung. Geben Sie für beide Befehle den Namen eines vorhandenen Zertifikatschlüsselpaars ein. Um ein SSL-Zertifikatschlüsselpaar zu entfernen, verwenden Sie denrm ssl certkey Befehl, der nur das<certkeyName> Argument akzeptiert.

Beispiel:

set ssl certKey <certkeyName> [-expiryMonitor ( ENABLED | DISABLED )
       [-notificationPeriod <positive_integer>]]

update ssl certKey <certkeyName> [-cert <string> [-password]] [-key
       <string> | -fipsKey <string>] [-inform <inform>] [-noDomainCheck]

Hinzufügen oder Aktualisieren eines Zertifikatschlüsselpaars mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > Zertifikate > Server.

    Zertifikat installieren

  2. Geben Sie Werte für die folgenden Parameter ein, und klicken Sie auf Installieren.

    • Name des Zertifikatschlüsselpaars - Name des Zertifikats und des Privatschlüsselpaars.

    • Zertifikatdateiname - Von der Zertifizierungsstelle empfangenes signiertes Zertifikat.

    • Schlüsseldateiname - Name und optional Pfad zur Privatschlüsseldatei, die zur Bildung des Zertifikatschlüsselpaares verwendet wird.

    Typenwerte

Binden Sie das Zertifikatschlüsselpaar an den virtuellen SSL-Server

Wichtig: Verknüpfen Sie alle Zwischenzertifikate mit diesem Zertifikat, bevor Sie das Zertifikat an einen virtuellen SSL-Server binden. Hinweise zum Verknüpfen von Zertifikaten finden Sie unterErstellen einer Kette von Zertifikaten.

Das Zertifikat, das für die Verarbeitung von SSL-Transaktionen verwendet wird, muss an den virtuellen Server gebunden sein, der die SSL-Daten empfängt. Wenn mehrere virtuelle Server SSL-Daten empfangen, muss ein gültiges Zertifikatschlüsselpaar an jeden dieser Server gebunden sein.

Verwenden Sie ein gültiges, vorhandenes SSL-Zertifikat, das Sie in die Citrix ADC Appliance hochgeladen haben. Als Alternative zu Testzwecken erstellen Sie Ihr eigenes SSL-Zertifikat auf der Appliance. Zwischenzertifikate, die mit einem FIPS-Schlüssel auf der Appliance erstellt wurden, können nicht an einen virtuellen SSL-Server gebunden werden.

Während des SSL-Handshake listet der Server in der Zertifikatanforderungsnachricht während der Clientauthentifizierung die Distinguished Names (DNs) aller an den Server gebundenen Zertifikatstellen auf. Der Server akzeptiert nur ein Clientzertifikat aus dieser Liste. Wenn der DN-Name eines bestimmten Zertifizierungsstellenzertifikats nicht an den SSL-Client gesendet werden soll, setzen Sie dasskipCA Flag. Diese Einstellung gibt an, dass der definierte Name des bestimmten Zertifizierungsstellenzertifikats nicht an den SSL-Client gesendet werden darf.

Weitere Informationen zum Erstellen eines eigenen Zertifikats finden Sie unterVerwalten von Zertifikaten.

Hinweis: Citrix empfiehlt, nur gültige SSL-Zertifikate zu verwenden, die von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurden.

Binden Sie ein SSL-Zertifikatschlüsselpaar an einen virtuellen Server mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um ein SSL-Zertifikatschlüsselpaar an einen virtuellen Server zu binden und die Konfiguration zu überprüfen:

-  bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
-  show ssl vserver <vServerName>

Beispiel:

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
 Done
sh ssl vs vs1

 Advanced SSL configuration for VServer vs1:

 DH: DISABLED

 Ephemeral RSA: ENABLED Refresh Count: 0

 Session Reuse: ENABLED Timeout: 120 seconds

 Cipher Redirect: DISABLED

 SSLv2 Redirect: DISABLED

 ClearText Port: 0

 Client Auth: DISABLED

 SSL Redirect: DISABLED

 Non FIPS Ciphers: DISABLED

 SNI: DISABLED

 OCSP Stapling: DISABLED

 HSTS: DISABLED

 IncludeSubDomains: NO

 HSTS Max-Age: 0

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

 Push Encryption Trigger: Always

 Send Close-Notify: YES

 Strict Sig-Digest Check: DISABLED

ECC Curve: P_256, P_384, P_224, P_521

 1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
 2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
 1) Cipher Name: DEFAULT

Description: Default cipher list with encryption strength >= 128bit
Done

Entbinden eines SSL-Zertifikatschlüsselpaars von einem virtuellen Server mit der CLI

Wenn Sie versuchen, ein Zertifikatschlüsselpaar von einem virtuellen Server mithilfe desunbind ssl certKey <certkeyName> Befehls zu lösen, wird eine Fehlermeldung angezeigt. Der Fehler wird angezeigt, weil sich die Syntax des Befehls geändert hat. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

unbind ssl vserver <vServerName> -certkeyName <string>

Beispiel:

unbind ssl vserver vssl -certkeyName sslckey

Binden Sie ein SSL-Zertifikatschlüsselpaar an einen virtuellen Server mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen SSL-Server. Klicken Sie in den Abschnitt Zertifikat.

    Zertifikat an virtuellen Server binden

  2. Klicken Sie auf den Pfeil, um das Zertifikatschlüsselpaar auszuwählen.

    Klicken Sie auf den Pfeil, um das Zertifikatschlüsselpaar auszuwählen

  3. Wählen Sie das Zertifikatschlüsselpaar aus der Liste aus.

    Zertifikatschlüsselpaar auswählen

  4. Binden Sie das Zertifikatschlüsselpaar an den virtuellen Server. Um ein Serverzertifikat als SNI-Zertifikat hinzuzufügen, wählen Sie Serverzertifikat für SNIaus.

    Binden des Zertifikats an den virtuellen Server

Parameter des virtuellen SSL-Servers

Legen Sie die erweiterte SSL-Konfiguration für einen virtuellen SSL-Server fest. Sie können viele dieser Parameter auch in einem SSL-Profil festlegen. Hinweise zu den Parametern, die in einem SSL-Profil festgelegt werden können, finden Sie unterSSL-Profilparameter.

Festlegen von virtuellen SSL-Serverparametern mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl vserver <vServerName>@ [-clearTextPort <port>] [-dh ( ENABLED |DISABLED ) -dhFile <string>] [-dhCount <positive_integer>][-dhKeyExpSizeLimit ( ENABLED | DISABLED )] [-eRSA ( ENABLED | DISABLED) [-eRSACount <positive_integer>]] [-sessReuse ( ENABLED | DISABLED )[-sessTimeout <positive_integer>]] [-cipherRedirect ( ENABLED | DISABLED ) [-cipherURL <URL>]] [-sslv2Redirect ( ENABLED | DISABLED )[-sslv2URL <URL>]] [-clientAuth ( ENABLED | DISABLED ) [-clientCert ( Mandatory | Optional )]] [-sslRedirect ( ENABLED | DISABLED )][-redirectPortRewrite ( ENABLED | DISABLED )] [-ssl2 ( ENABLED | DISABLED )] [-ssl3 ( ENABLED | DISABLED )] [-tls1 ( ENABLED | DISABLED )] [-tls11 ( ENABLED | DISABLED )] [-tls12 ( ENABLED | DISABLED )][-tls13 ( ENABLED | DISABLED )] [-SNIEnable ( ENABLED | DISABLED )][-ocspStapling ( ENABLED | DISABLED )] [-pushEncTrigger <pushEncTrigger>] [-sendCloseNotify ( YES | NO )] [-dtlsProfileName <string>] [-sslProfile <string>] [-HSTS ( ENABLED | DISABLED )][-maxage <positive_integer>] [-IncludeSubdomains ( YES | NO )][-strictSigDigestCheck ( ENABLED | DISABLED )] [-zeroRttEarlyData (ENABLED | DISABLED )] [-tls13SessionTicketsPerAuthContext <positive_integer>] [-dheKeyExchangeWithPsk ( YES | NO )]

Diffie-Hellman (DH) -Parameter

Um Verschlüsselungen auf der Appliance zu verwenden, für die ein DH-Schlüsselaustausch erforderlich ist, um die SSL-Transaktion einzurichten, aktivieren Sie den DH-Schlüsselaustausch auf der Appliance. Konfigurieren Sie andere Einstellungen basierend auf Ihrem Netzwerk.

Um die Chiffre aufzulisten, für die DH-Parameter mit der CLI festgelegt werden müssen, geben Sie Folgendes ein: sh chiffre DH.

Um die Chiffre aufzulisten, für die DH-Parameter mithilfe des Konfigurationsdienstprogramms festgelegt werden müssen, navigieren Sie zu Verkehrsverwaltung > SSL > Verschlüsselungsgruppen, und doppelklicken Sie auf DH.

Weitere Informationen zum Aktivieren des DH-Schlüsselaustauschs finden Sie unterGenerieren eines Diffie-Hellman-Schlüssels (DH).

Konfigurieren von DH-Parametern mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um DH-Parameter zu konfigurieren und die Konfiguration zu überprüfen:

-  `set ssl vserver <vserverName> -dh <Option> -dhCount <RefreshCountValue> -filepath <string>
-  show ssl vserver <vServerName>`

Beispiel:

set ssl vserver vs-server -dh ENABLED  -dhFile /nsconfig/ssl/ns-server.cert -dhCount 1000
Done

show ssl vserver vs-server

            Advanced SSL configuration for VServer vs-server:
            DH: ENABLED
            Ephemeral RSA: ENABLED          Refresh Count: 1000
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

    1)      Cipher Name: DEFAULT
            Description: Predefined Cipher Alias
Done

Konfigurieren von DH-Parametern mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option DH Parameter aktivieren aus, und geben Sie einen Aktualisierungszähler und einen Dateipfad an.

Ephemere RSA

Ephemere RSA ermöglicht Exportclients die Kommunikation mit dem sicheren Server, auch wenn das Serverzertifikat keine Exportclients unterstützt (1024-Bit-Zertifikat). Wenn Sie verhindern möchten, dass Exportclients auf das sichere Web-Objekt oder die sichere Ressource zugreifen, müssen Sie den flüchtigen RSA-Schlüsselaustausch deaktivieren.

Standardmäßig ist diese Funktion auf der Citrix ADC Appliance aktiviert, wobei die Anzahl der Aktualisierungen auf Null (unendliche Nutzung) festgelegt ist.

Hinweis:

Der flüchtige RSA-Schlüssel wird automatisch generiert, wenn Sie eine Exportchiffre an einen virtuellen SSL- oder TCP-basierten SSL-Server oder Dienst binden. Wenn Sie die Exportchiffre entfernen, wird der eRSA-Schlüssel nicht gelöscht. Sie wird später wiederverwendet, wenn eine andere Exportchiffre an einen SSL- oder TCP-basierten virtuellen SSL-Server oder Dienst gebunden ist. Der eRSA-Schlüssel wird beim Neustart des Systems gelöscht.

Konfigurieren von flüchtiger RSA mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um flüchtige RSA zu konfigurieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName> -eRSA (enabled | disabled) -eRSACount <positive_integer>
show ssl vserver <vServerName>

Beispiel:

set ssl vserver vs-server -eRSA ENABLED -eRSACount 1000
 Done

show ssl vserver vs-server

        Advanced SSL configuration for VServer vs-server:
        DH: DISABLED
        Ephemeral RSA: ENABLED          Refresh Count: 1000
        Session Reuse: ENABLED          Timeout: 120 seconds
        Cipher Redirect: DISABLED
        SSLv2 Redirect: DISABLED
        ClearText Port: 0
        Client Auth: DISABLED
        SSL Redirect: DISABLED
        Non FIPS Ciphers: DISABLED
        SNI: DISABLED
        OCSP Stapling: DISABLED
        HSTS: DISABLED
        HSTS IncludeSubDomains: NO
        HSTS Max-Age: 0
        SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

1)      Cipher Name: DEFAULT
        Description: Predefined Cipher Alias
 Done

Konfigurieren von ephemeren RSA mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option Ephemere RSA aktivieren, und geben Sie eine Aktualisierungsanzahl an.

Sitzungswiederverwendung

Für SSL-Transaktionen erfordert die Einrichtung des anfänglichen SSL-Handshake CPU-intensive Verschlüsselungsvorgänge für öffentliche Schlüssel. Die meisten Handshake-Vorgänge sind mit dem Austausch des SSL-Sitzungsschlüssels (Clientschlüsselaustauschnachricht) verknüpft. Wenn eine Clientsitzung für einige Zeit im Leerlauf ist und dann wieder aufgenommen wird, wird der SSL-Handshake in der Regel erneut durchgeführt. Wenn die Sitzungswiederverwendung aktiviert ist, wird der Austausch von Sitzungsschlüsseln für vom Client empfangene Sitzungswiederholungsanforderungen vermieden.

Die Sitzungswiederverwendung ist auf der Citrix ADC Appliance standardmäßig aktiviert. Durch Aktivieren dieser Funktion wird die Serverlast reduziert, die Reaktionszeit verbessert und die Anzahl der SSL-Transaktionen pro Sekunde (TPS) erhöht, die der Server unterstützen kann.

Konfigurieren der Wiederverwendung von Sitzungen mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die Wiederverwendung der Sitzung zu konfigurieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName> -sessReuse ( ENABLED | DISABLED ) -sessTimeout <positive_integer>
show ssl vserver <vServerName>

Beispiel:

set ssl vserver vs-ssl -sessreuse enabled -sesstimeout 600
 Done

show ssl vserver vs-ssl

        Advanced SSL configuration for VServer vs-ssl:
        DH: DISABLED
        Ephemeral RSA: ENABLED          Refresh Count: 1000
        Session Reuse: ENABLED          Timeout: 600 seconds
        Cipher Redirect: DISABLED
        SSLv2 Redirect: DISABLED
        ClearText Port: 0
        Client Auth: DISABLED
        SSL Redirect: DISABLED
        Non FIPS Ciphers: DISABLED
        SNI: DISABLED
        OCSP Stapling: DISABLED
        HSTS: DISABLED
        HSTS IncludeSubDomains: NO
        HSTS Max-Age: 0
        SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED TLSv1.2: ENABLED  TLSv1.2: ENABLED

1)      CertKey Name: Auth-Cert-1       Server Certificate

1)      Cipher Name: DEFAULT
        Description: Predefined Cipher Alias
 Done

Konfigurieren der Wiederverwendung der Sitzung mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option Sitzungswiederverwendung aktivieren aus, und geben Sie eine Zeit an, für die die Sitzung aktiv bleiben soll.

SSL-Protokolleinstellungen

Die Citrix ADC Appliance unterstützt die Protokolle SSLv3, TLSv1, TLSv1.1 und TLSv1.2. Jedes dieser Protokolle kann auf der Appliance entsprechend Ihrer Bereitstellung und dem Typ der Clients, die eine Verbindung mit der Appliance herstellen, festgelegt werden.

Die TLS-Protokollversionen 1.0, 1.1 und 1.2 sind sicherer als ältere Versionen des TLS/SSL-Protokolls. Um ältere Systeme zu unterstützen, erhalten viele TLS-Implementierungen jedoch die Abwärtskompatibilität mit dem SSLv3-Protokoll. In einem SSL-Handshake wird die höchste Protokollversion verwendet, die für den Client und den virtuellen SSL-Server, der auf der Citrix ADC Appliance konfiguriert ist.

Beim ersten Handshake-Versuch bietet ein TLS-Client die höchste Protokollversion, die er unterstützt. Wenn der Handshake fehlschlägt, bietet der Client eine niedrigere Protokollversion an. Wenn beispielsweise ein Handshake mit TLS-Version 1.1 nicht erfolgreich ist, versucht der Client neu zu verhandeln, indem er das TLSv1.0-Protokoll anbietet. Wenn dieser Versuch nicht erfolgreich ist, versucht der Client erneut mit dem SSLv3-Protokoll. Ein Mann in der Mitte (MITM) -Angreifer kann den anfänglichen Handshake brechen und Neuverhandlungen mit dem SSLv3-Protokoll auslösen und dann eine Schwachstelle in SSLv3 ausnutzen. Um solche Angriffe zu mildern, können Sie SSLv3 deaktivieren oder Neuverhandlungen mit einem heruntergestuften Protokoll nicht zulassen. Dieser Ansatz ist jedoch möglicherweise nicht praktikabel, wenn Ihre Bereitstellung Legacy-Systeme enthält. Eine Alternative besteht darin, einen Wert der Signaling Cipher Suite (TLS_FALLBACK_SCSV) in der Clientanforderung zu erkennen.

Ein TLS_FALLBACK_SCSV-Wert in einer Client-Hallo Meldung zeigt dem virtuellen Server an, dass der Client zuvor versucht hat, eine Verbindung mit einer höheren Protokollversion herzustellen und dass die aktuelle Anforderung ein Fallback ist. Wenn der virtuelle Server diesen Wert erkennt und eine Version unterstützt, die höher ist als die vom Client angegebene, wird die Verbindung mit einer schwerwiegenden Warnung abgelehnt. Der Handshake ist erfolgreich, wenn eine der folgenden Bedingungen erfüllt ist:

  • Der Wert TLS_FALLBACK_SCSV ist nicht in der Client-Hallo Nachricht enthalten.
  • Die Protokollversion im Client Hello ist die höchste Protokollversion, die vom virtuellen Server unterstützt wird.

Konfigurieren der SSL-Protokollunterstützung mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die SSL-Protokollunterstützung zu konfigurieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName> -ssl2 ( ENABLED | DISABLED ) -ssl3 ( ENABLED | DISABLED ) -tls1 ( ENABLED | DISABLED ) -tls11 ( ENABLED | DISABLED ) -tls12 ( ENABLED | DISABLED )

show ssl vserver <vServerName>

Beispiel:

set ssl vserver vs-ssl -tls11 ENABLED -tls12 ENABLED
Done

sh ssl vs vs-ssl

        Advanced SSL configuration for VServer vs-ssl:
            DH: DISABLED
            Ephemeral RSA: ENABLED                            Refresh Count: 0
            Session Reuse: ENABLED                              Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            SSLv2: DISABLED        SSLv3: ENABLED    TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED
            Push Encryption Trigger: Always
            Send Close-Notify: YES
            1 bound certificate:

    1)      CertKey Name: mycert  Server Certificate
            1 configured cipher:

    1)      Cipher Name: DEFAULT
            Description: Predefined Cipher Alias

Done

Konfigurieren der SSL-Protokollunterstützung mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter ein Protokoll aus, das aktiviert werden soll.

Close-Notify

Eine Close-Notify ist eine sichere Nachricht, die das Ende der SSL-Datenübertragung anzeigt. Eine Einstellung für Nahbenachrichtigung ist auf globaler Ebene erforderlich. Diese Einstellung gilt für alle virtuellen Server, Dienste und Dienstgruppen. Weitere Informationen zur globalen Einstellung finden Sie im Abschnitt Globale SSL-Parameter weiter unten auf dieser Seite.

Zusätzlich zur globalen Einstellung können Sie den Parameter close-notify auf der Ebene des virtuellen Servers, des Dienstes oder der Dienstgruppe festlegen. Sie haben daher die Flexibilität, den Parameter für eine Entität festzulegen und ihn für eine andere Entität aufzuheben. Stellen Sie jedoch sicher, dass Sie diesen Parameter auf globaler Ebene festlegen. Andernfalls gilt die Einstellung auf Entitätenebene nicht.

Konfigurieren von Close-Notify auf Entitätenebene mit der CLI

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um die Close-Notify-Funktion zu konfigurieren und die Konfiguration zu überprüfen:

  1. Geben Sie Folgendes ein, um auf der Ebene des virtuellen Servers zu konfigurieren:
set ssl vserver <vServerName> -sendCloseNotify ( YES | NO )
show ssl vserver <vServerName>
  1. Geben Sie Folgendes ein, um auf Service-Ebene zu konfigurieren:
set ssl service <serviceName> -sendCloseNotify ( YES | NO )
show ssl service <serviceName>
  1. Geben Sie Folgendes ein, um auf Dienstgruppenebene zu konfigurieren:
set ssl serviceGroup <serviceGroupName> -sendCloseNotify ( YES | NO )
show ssl serviceGroup <serviceGroupName>

Beispiel:

set ssl vserver sslvsvr -sendCloseNotify YES

Done

Konfigurieren der Close-Notify Funktion auf Entitätenebene mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option Schließen Benachrichtigen senden .

Globale SSL-Parameter

Die erweiterte Anpassung Ihrer SSL-Konfiguration behebt spezifische Probleme. Sie können den set ssl parameter Befehl oder das Konfigurationsdienstprogramm verwenden, um Folgendes anzugeben:

  • Quantengröße, die für SSL-Transaktionen verwendet werden soll.
  • CRL-Speichergröße.
  • OCSP-Cachegröße.
  • SSL-Neuverhandlung verweigern.
  • Setzen Sie das PUSH-Flag für entschlüsselte, verschlüsselte oder alle Datensätze.
  • Löscht Anforderungen, wenn der Client den Handshake für eine Domäne initiiert und eine HTTP-Anforderung für eine andere Domäne sendet.
  • Legen Sie die Zeit fest, nach der die Verschlüsselung ausgelöst wird. Hinweis: Die angegebene Zeit gilt nur, wenn Sie den set ssl vserver Befehl oder das Konfigurationsdienstprogramm verwenden, um die zeitgesteuerte Verschlüsselung festzulegen.
  • NDCPP-Konformitätszertifikatprüfung - Gilt, wenn die Appliance einen Client handelt (Back-End-Verbindung). Ignorieren Sie während der Zertifikatüberprüfung den allgemeinen Namen, wenn SAN im SSL-Zertifikat vorhanden ist.
  • Aktivieren Sie einen heterogenen Cluster von Cavium-Chip-basierten Appliances wie MPX 14000 und Intel Coleto-Chip-basierten Appliances wie MPX 15000-Appliances mit einer anderen Anzahl von Paketmodulen. (Unterstützung wurde von Version 13.0 Build 47.x hinzugefügt.).
  • Aktivieren Sie eine sichere Neuverhandlung am Backend (Unterstützung wurde von Release 1.0 Build 58.x hinzugefügt).
  • Adaptive SSL-Datenverkehrssteuerung (Unterstützung wurde ab Version 13.0 Build 58.x hinzugefügt).

Konfigurieren globaler SSL-Parameter mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um erweiterte SSL-Einstellungen zu konfigurieren und die Konfiguration zu überprüfen:

set ssl parameter [-quantumSize <quantumSize>] [-crlMemorySizeMB <positive_integer>] [-strictCAChecks (YES | NO)] [-sslTriggerTimeout <positive_integer>] [-sendCloseNotify (YES | NO)] [-encryptTriggerPktCount <positive_integer>] [-denySSLReneg <denySSLReneg>] [-insertionEncoding (Unicode|UTF-8)] [-ocspCacheSize <positive_integer>][- pushFlag <positive_integer>] [- dropReqWithNoHostHeader (YES | NO)] [-pushEncTriggerTimeout <positive_integer>] [-ndcppComplianceCertCheck ( YES | NO)] [-heterogeneousSSLHW (ENABLED | DISABLED )]
show ssl parameter

Beispiel:

set ssl parameter -quantumSize 8 -crlMemorySizeMB 256 -strictCAChecks no -ssltriggerTimeout 100 -sendClosenotify no -encryptTriggerPktCount 45 -denySSLReneg NONSECURE -insertionEncoding unicode -ocspCacheSize 10 -pushFlag 3 -dropReqWithNoHostHeader YES  -pushEncTriggerTimeout 100 ms -ndcppComplianceCertCheck YES
Done

show ssl parameter
Advanced SSL Parameters
-----------------------
    SSL quantum size                                      : 8 KB
    Max CRL memory size                                   : 256 MB
    Strict CA checks                                      : NO
    Encryption trigger timeout                            : 100 ms
    Send Close-Notify                                     : NO
    Encryption trigger packet count                       : 45
    Deny SSL Renegotiation                                : NONSECURE
    Subject/Issuer Name Insertion Format                  : Unicode
    OCSP cache size                                       : 10 MB
    Push flag                                             : 0x3 (On every decrypted and encrypted record)
    Strict Host Header check for SNI enabled SSL sessions : YES
    PUSH encryption trigger timeout                       : 100 ms
    Crypto Device Disable Limit                           : 0
    Global undef action for control policies              : CLIENTAUTH
    Global undef action for data policies                 : NOOP
    Default profile                                       : DISABLED
    SSL Insert Space in Certificate Header                : YES
    Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors    : NO
    Disable TLS 1.1/1.2 for dynamic and VPN services      : NO
    Software Crypto acceleration CPU Threshold            : 0
    Hybrid FIPS Mode                                      : DISABLED
    Signature and Hash Algorithms supported by TLS1.2     : ALL
    SSL Interception Error Learning and Caching           : DISABLED
    SSL Interception Maximum Error Cache Memory           : 0 Bytes
    NDCPP Compliance Certificate Check                    : YES
    Heterogeneous SSL HW (Cavium and Intel Based)         : ENABLED
 Done

Konfigurieren der Überprüfung der NDcPP-Konformitätszertifikate über die GUI

  1. Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe Einstellungen die Option Erweiterte SSL-Einstellungen ändern aus.

    Erweiterte Einstellungen ändern

  2. Wählen Sie NDcPP-Konformitätszertifikatprüfung aus. Klicken Sie auf OK.

    NDcPP-Konformitätszertifikatsprüfung

Unterstützung für sichere Neuverhandlung am Back-End einer Citrix ADC Appliance

Hinweis: Diese Funktion wird in Version 13.0 Build 58.x und höher unterstützt. In früheren Versionen und Builds wurde nur eine nicht sichere Neuverhandlung auf dem Back-End unterstützt.

Die Funktion wird auf den folgenden Plattformen unterstützt: • VPX • MPX-Plattformen mit N2- oder N3-Chips • Intel Coleto SSL-Chip-basierte Plattformen

Die Funktion wird auf der FIPS-Plattform noch nicht unterstützt.

Sichere Neuverhandlung wird standardmäßig auf dem Back-End einer ADC-Appliance verweigert. Das heißt, der Parameter denySSLReneg ist auf ALL gesetzt (Standard).

Um eine sichere Neuverhandlung auf dem Back-End zu ermöglichen, wählen Sie eine der folgenden Einstellungen für den Parameter denySSLReneg aus:

  • NO
  • FRONTEND_CLIENT
  • FRONTEND_CLIENTSERVER
  • NONSECURE

Sichere Neuverhandlung über die CLI aktivieren

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl parameter -denySSLReneg <denySSLReneg>

Beispiel:

set ssl parameter -denySSLReneg NONSECURE
 Done

sh ssl parameter
Advanced SSL Parameters
-----------------------
    SSL quantum size                                      : 8 KB
    Max CRL memory size                                   : 256 MB
    Strict CA checks                                      : NO
    Encryption trigger timeout                            : 100 ms
    Send Close-Notify                                     : YES
    Encryption trigger packet count                       : 45
    Deny SSL Renegotiation                                : NONSECURE
    Subject/Issuer Name Insertion Format                  : Unicode
    OCSP cache size                                       : 10 MB
    Push flag                                             : 0x0 (Auto)
    Strict Host Header check for SNI enabled SSL sessions : NO
    Match HTTP Host header with SNI                       : CERT
    PUSH encryption trigger timeout                       : 1 ms
    Crypto Device Disable Limit                           : 0
    Global undef action for control policies              : CLIENTAUTH
    Global undef action for data policies                 : NOOP
    Default profile                                       : ENABLED
    SSL Insert Space in Certificate Header                : YES
    Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors    : NO
    Disable TLS 1.1/1.2 for dynamic and VPN services      : NO
    Software Crypto acceleration CPU Threshold            : 0
    Hybrid FIPS Mode                                      : DISABLED
    Signature and Hash Algorithms supported by TLS1.2     : ALL
    SSL Interception Error Learning and Caching           : DISABLED
    SSL Interception Maximum Error Cache Memory           : 0 Bytes
    NDCPP Compliance Certificate Check                    : NO
    Heterogeneous SSL HW (Cavium and Intel Based)         : DISABLED
    Crypto Operation Queue Limit                          : 150%
 Done

Sichere Neuverhandlung über die GUI aktivieren

  1. Navigieren Sie zu Traffic Management > SSL > Erweiterte SSL-Einstellungen ändern.
  2. Setzen Sie SSL-Neuverhandlung verweigern auf einen anderen Wert als ALL.

    Globale Parameter für sichere Neuverhandlung im Backend

Adaptive SSL-Verkehrssteuerung

Hinweis: Diese Funktion wird in Version 13.0 Build 58.x und höher unterstützt.

Wenn hoher Datenverkehr auf der Appliance empfangen wird und die Kapazität der Kryptobeschleunigung voll ist, beginnt die Appliance, die Verbindungen später in die Warteschlange zu verarbeiten. Derzeit ist die Größe dieser Warteschlange auf 64 K festgelegt, und die Appliance beginnt, Verbindungen zu löschen, wenn dieser Wert überschritten wird.

Ab Version 13.0 Build 58.x kann der Benutzer einen Wert konfigurieren, der ein Prozentsatz der tatsächlichen Kapazität ist. Mit dieser Erweiterung löscht die Appliance neue Verbindungen, wenn die Anzahl der Elemente in der Warteschlange größer als das adaptiv und dynamisch berechnete Limit ist. Dieser Ansatz steuert eingehende SSL-Verbindungen und verhindert einen übermäßigen Ressourcenverbrauch und andere Fehler, wie z. B. einen Fehler bei der Überwachung des Lastausgleichs oder eine langsame Reaktion auf sichere Anwendungen, auf der Appliance.

Wenn die Warteschlange leer ist, kann die Appliance weiterhin Verbindungen annehmen. Wenn die Warteschlange nicht leer ist, hat das Kryptosystem seine Kapazität erreicht und die Appliance startet Verbindungen in die Warteschlange.

Der Grenzwert wird berechnet auf der Grundlage:

  • Die tatsächliche Kapazität der Appliance.
  • Der vom Benutzer konfigurierte Wert als Prozentsatz der tatsächlichen Kapazität. Der Standardwert ist auf 150% festgelegt.

Wenn die tatsächliche Kapazität einer Appliance beispielsweise 1000 Operationen/Sekunde zu einem bestimmten Zeitpunkt beträgt und der Standardprozentsatz konfiguriert ist, beträgt der Grenzwert, nach dem die Appliance Verbindungen unterbricht, 1500 (150% von 1000).

So konfigurieren Sie das Limit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl parameter -operationQueueLimit <positive_integer>

Operation Queue Limit - Grenzwert in Prozent der Kapazität der Kryptooperations-Warteschlange, über die neue SSL-Verbindungen nicht akzeptiert werden, bis die Warteschlange reduziert wird. Standardwert: 150. Mindestwert: 0. Maximaler Wert: 10000

So konfigurieren Sie das Limit für die Vorgangswarteschlange über die GUI

  1. Navigieren Sie zu Traffic Management > SSL.
  2. Klicken Sie unter Einstellungenauf Erweiterte SSL-Einstellungen ändern.
  3. Geben Sie einen Wert unter Operation Queue Limit ein. Der Standardwert ist 150.
  4. Klicken Sie auf OK.

    Limit der Warteschlange

Heterogene Clusterbereitstellungen

Ab Version 13.0 Build 47.x können Sie eine heterogene Clusterbereitstellung von Citrix ADC MPX-Appliances mit einer anderen Anzahl von Paketmodulen erstellen, indem Sie den SSL-Parameter “Heterogene SSL HW” auf ENABLED setzen. Um beispielsweise einen Cluster von Cavium-Chip-basierten Appliances (MPX 14000 oder ähnlich) und Intel Coleto-Chip-basierten Appliances (MPX 15000 oder ähnlich) zu bilden, aktivieren Sie den SSL-Parameter “Heterogene SSL-HW”. Um einen Cluster von Plattformen mit demselben Chip zu bilden, behalten Sie den Standardwert (DISABLED) für diesen Parameter bei.

Hinweis: Die Funktion wird auf VPX-Instanzen, die auf Citrix ADC SDX-Appliances gehostet werden, nicht unterstützt.

Weitere Hinweise zu den Plattformen, die bei der Bildung eines heterogenen Clusters unterstützt werden, finden Sie unterhttps://docs.citrix.com/de-de/citrix-adc/13/clustering/support-for-heterogeneous-cluster.html.

Aktivieren eines heterogenen Clusters mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl parameter -heterogeneousSSLHW ENABLED

Aktivieren eines heterogenen Clusters über die GUI

  1. Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe Einstellungen die Option Erweiterte SSL-Einstellungen ändern aus.
  2. Wählen Sie Heterogene SSL HW. Klicken Sie auf OK.

    Heterogene SSL-Hardwareeinstellung

PUSH-Flag-basierter Verschlüsselungsauslöser

Mit dem Verschlüsselungsauslösemechanismus, der auf dem PSH TCP-Flag basiert, können Sie nun Folgendes tun:

  • Verbinden Sie aufeinanderfolgende Pakete, in denen das PSH-Flag gesetzt ist, in einem einzigen SSL-Datensatz, oder ignorieren Sie das PSH-Flag.
  • Führen Sie eine zeitgesteuerte Verschlüsselung durch, bei der der Zeitüberschreitungswert global mithilfe desset ssl parameter -pushEncTriggerTimeout <positive_integer> Befehls festgelegt wird.

Konfigurieren Sie die PUSH-Flag-basierte Verschlüsselung mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die PUSH-Flag-basierte Verschlüsselung zu konfigurieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName> [-pushEncTrigger <pushEncTrigger>]

show ssl vserver

Beispiel:

set ssl vserver vserver1 -pushEncTrigger always

Done

sh ssl vserver vserver1

            Advanced SSL configuration for VServer vserver1:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED                                                                             Refresh Count: 0
            Session Reuse: ENABLED          Timeout: 120 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            ClearText Port: 0
            Client Auth: DISABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SNI: DISABLED
            OCSP Stapling: DISABLED
            HSTS: DISABLED
            HSTS IncludeSubDomains: NO
            HSTS Max-Age: 0
            SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
            Push Encryption Trigger: Always
            Send Close-Notify: YES
            Strict Sig-Digest Check: DISABLED
            Zero RTT Early Data: DISABLED
            DHE Key Exchange With PSK: NO
            Tickets Per Authentication Context: 1
            ECC Curve: P_256, P_384, P_224, P_521

    1)      Cipher Name: DEFAULT
            Description: Default cipher list with encryption strength >= 128bit
Done

Konfigurieren Sie die PUSH-Flag-basierte Verschlüsselung mit der GUI

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und öffnen Sie einen virtuellen SSL-Server.
  2. Wählen Sie im Abschnitt SSL-Parameter aus der Liste PUSH Encryption Trigger einen Wert aus.

Unterstützung für TLS1.2-Signatur-Hash-Algorithmus

Die Citrix ADC Appliance ist vollständig TLS1.2-Signatur-Hash-Erweiterung kompatibel.

In einem SSL-Handshake sendet ein Client eine Liste unterstützter Signatur-Hash-Algorithmen. Der Client verwendet die Erweiterung “signature_algorithms”, um dem Server anzugeben, welche Signatur-Hash-Algorithmus-Paare in den SSL-Handshake-Nachrichten (SKE und CCV) verwendet werden könnten. Das Feld “extension_data” dieser Erweiterung enthält einen Wert “supported_signature_algorithms” in der Client-Hello Nachricht. Der SSL-Handshake wird fortgesetzt, wenn der Server einen dieser Signatur-Hash-Algorithmen unterstützt. Wenn der Server keinen dieser Algorithmen unterstützt, wird die Verbindung unterbrochen.

Wenn der Server ein Clientzertifikat für die Clientauthentifizierung anfordert, enthält die Zertifikatanforderungsnachricht einen Wert supported_signature_algorithms. Das Clientzertifikat wird basierend auf diesem Signatur-Hash-Algorithmus ausgewählt.

Hinweis:

Die Citrix ADC Appliance fungiert als Server für einen Client und als Client für den Back-End-Server.

Zuvor unterstützte die Appliance nur RSA-SHA1 und RSA-SHA256 auf dem Front-End und RSA-MD5, RSA-SHA1 und RSA-SHA256 auf dem Back-End. Darüber hinaus unterstützte die VPX-Appliance DSA-SHA1 am Frontend und Backend.

Die MPX/SDX/VPX-Appliance unterstützt die folgenden Signatur-Hash-Kombinationen. Wenn auf einer SDX-Appliance ein SSL-Chip einer VPX-Instanz zugewiesen ist, gilt die Verschlüsselungsunterstützung einer MPX-Appliance. Andernfalls gilt die normale Verschlüsselungsunterstützung einer VPX-Instanz.

  • Auf einer VPX-Instanz:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • DSA-SHA1
    • DSA-SHA224
    • DSA-SHA256
    • DSA-SHA384
    • DSA-SHA512
  • Auf einer MPX/SDX-Einheit mit N3-Chips:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • ECDSA-SHA1
    • ECDSA-SHA224
    • ECDSA-SHA256
    • ECDSA-SHA384
    • ECDSA-SHA512
  • Auf einer MPX/SDX-Einheit ohne N3-Chips:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512

Standardmäßig sind alle Signatur-Hash-Algorithmen aktiviert. Sie können jedoch nur wenige Signaturhash-Algorithmen aktivieren, indem Sie den folgenden Befehl verwenden:

set ssl parameter -sigDigestType <sigDigestType>

Parameters

sigDigestType

Signature digest algorithms supported by the appliance. The platform determines the list of algorithms supported by default.

              On VPX: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-

              SHA512 DSA-SHA1 DSA-SHA224 DSA-SHA256 DSA-SHA384 DSA-SHA512

              On MPX with N3 cards: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-

              SHA256 RSA-SHA384 RSA-SHA512 ECDSA-SHA1 ECDSA-SHA224 ECDSA-

              SHA256 ECDSA-SHA384 ECDSA-SHA512

              Other MPX Platforms: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-

              SHA512.

    set ssl parameter -sigDigestType RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512

Validieren des Peer-Zertifikats

Gemäß RFC 5246 muss das Peer-Zertifikat mit einem der Signatur-Hash-Algorithmen signiert werden, die in der Client Hello -Erweiterung enthalten sind. Sie können denstrictSigDigestCheck Parameter verwenden. Abhängig von der vom Client gesendeten Signatur-Hash-Liste gibt die Appliance bei Aktivierung ein Zertifikat zurückstrictSigDigestCheck, das von einem der Signatur-Hash-Algorithmen signiert wurde, die in der Client-Hlo-Erweiterung erwähnt wurden. Wenn der Peer über kein geeignetes Zertifikat verfügt, wird die Verbindung unterbrochen. Wenn dieser Parameter deaktiviert ist, wird der Signaturhash im Peer-Zertifikat nicht überprüft.

Sie können eine strikte Signaturüberprüfung auf einem virtuellen SSL-Server und -Dienst konfigurieren. Wenn Sie diesen Parameter auf einem virtuellen SSL-Server aktivieren, muss das vom Server gesendete Serverzertifikat mit einem der Signatur-Hash-Algorithmen signiert werden, die in der Client-Hlo-Erweiterung aufgeführt sind. Wenn die Clientauthentifizierung aktiviert ist, muss das vom Server empfangene Clientzertifikat mit einem der Signaturhash-Algorithmen signiert werden, die in der vom Server gesendeten Zertifikatsanforderung aufgeführt sind.

Wenn Sie diesen Parameter für einen SSL-Dienst aktivieren, muss das vom Client empfangene Serverzertifikat mit einem der Signatur-Hash-Algorithmen signiert werden, die in der Client-Hlo-Erweiterung aufgeführt sind. Das Clientzertifikat muss mit einem der Signatur-Hash-Algorithmen signiert werden, die in der Zertifikatanforderungsnachricht aufgeführt sind.

Wenn das Standardprofil aktiviert ist, können Sie es verwenden, um eine strikte Signaturüberprüfung auf einem virtuellen SSL-Server, einem SSL-Dienst und einem SSL-Profil zu konfigurieren.

Konfigurieren der strengen Signaturüberprüfung auf einem virtuellen SSL-Server, -Dienst oder -Profil mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl vserver <vServerName> -strictSigDigestCheck ( ENABLED | DISABLED )

set ssl service <serviceName> -strictSigDigestCheck ( ENABLED | DISABLED )

set ssl profile <name>-strictSigDigestCheck ( ENABLED | DISABLED )

Parameters

strictSigDigestCheck

              Check whether peer entity certificate is signed using one of the signature-hash algorithms supported by the Citrix ADC appliance.

              Possible values: ENABLED, DISABLED

              Default: DISABLED

Beispiel:

set ssl vserver v1 –strictSigDigestCheck Enabled
set ssl service s1 –strictSigDigestCheck Enabled
set ssl profile p1 –strictSigDigestCheck Enabled

Wichtig:

Wenn DH-, ECDHE- oder ECDSA-Chiffre auf der Appliance konfiguriert sind, muss die SKE-Nachricht mit einem der Signatur-Hashes signiert werden, die in der Clientliste gemeinsam sind, und mit der auf der Appliance konfigurierten Liste. Wenn kein gemeinsamer Signaturhash vorhanden ist, wird die Verbindung unterbrochen.