ADC

Unterstützung des TLSv1.3-Protokolls wie in RFC 8446 definiert

Die Citrix ADC VPX- und Citrix ADC MPX-Appliances unterstützen jetzt das in RFC 8446 angegebene TLSv1.3-Protokoll.

Hinweise:

  • Ab Release 13.0 Build 71.x und höher wird die Hardwarebeschleunigung TLS1.3 auf den folgenden Plattformen unterstützt:

    • MPX 5900
    • MPX/SDX 8900
    • MPX/SDX 15000
    • MPX/SDX 15000-50G
    • MPX/SDX 26000
    • MPX/SDX 26000-50S
    • MPX/SDX 26000-100G

    - Nur-Software-Unterstützung für das TLSv1.3-Protokoll ist auf allen anderen Citrix ADC MPX- und SDX-Appliances mit Ausnahme von Citrix ADC FIPS-Appliances verfügbar.

  • TLSv1.3 wird nur mit dem erweiterten Profil unterstützt. Informationen zum Aktivieren des erweiterten Profils finden Sie unter Aktivieren des erweiterten Profils.

  • Um TLS1.3 zu verwenden, müssen Sie einen Client verwenden, der der RFC 8446-Spezifikation entspricht.

Unterstützte Citrix ADC-Funktionen

Die folgenden SSL-Funktionen werden unterstützt:

  1. TLSv1.3-Verschlüsselungssammlungen:
    • TLS1.3-AES256-GCM-SHA384 (0x1302)
    • TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303)
    • TLS1.3-AES128_GCM-SHA256 (0x1301)
  2. ECC-Kurven für kurzlebigen Diffie-Hellman-Schlüsselaustausch:
    • P_256
    • P_384
    • P_521
  3. Verkürzte Handshakes, wenn die ticket-basierte Sitzungswiederaufnahme aktiviert ist

  4. 0-RTT frühe Anwendungsdaten

  5. Optionale oder verbindliche zertifikatsbasierte Clientauthentifizierung mit Unterstützung für OCSP- und CRL-Validierung von Clientzertifikaten

  6. Servernamenerweiterung: Auswahl des Serverzertifikats mithilfe von SNI

  7. Aushandlung des Anwendungsprotokolls (ALPN) mithilfe der Erweiterung application_level_protocol_negotiation.

  8. OCSP-Stapling

  9. Protokollnachrichten und AppFlow-Datensätze werden für TLSv1.3-Handshakes erstellt.

  10. Optionale Protokollierung von TLS 1.3-Verkehrsgeheimnissen durch das Paketerfassungsprogramm nstrace.

  11. Interoperabilität mit TLS-Clients, die RFC 8446 implementieren. Zum Beispiel Mozilla Firefox, Google Chrome und OpenSSL.

Unterstützte Browser

Die folgenden Browserversionen werden unterstützt und sind mit der Citrix ADC-Implementierung des TLS 1.3-Protokolls kompatibel:

  • Google Chrome — Version 72.0.3626.121 (offizielles Build) (64-bisschen)
  • Mozilla Firefox — 65.0.2 (64 bisschen)
  • Opera - Version:58.0.3135.79

Konfiguration

TLSv1.3 ist in einem SSL-Profil standardmäßig deaktiviert.

Hinzufügen eines SSL-Profils über die CLI

Geben Sie in der Befehlszeile Folgendes ein:

add ssl profile <tls13-profile-name>
<!--NeedCopy-->

Beispiel:

add ssl profile tls13profile

sh ssl profile tls13profile
1)  Name: tls13profile           (Front-End)
    SSLv3: DISABLED               TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
    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
    Zero RTT Early Data: DISABLED
    DHE Key Exchange With PSK: NO
    Tickets Per Authentication Context: 1
    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: DISABLED
    SSL Interception OCSP Check: ENABLED
    SSL Interception End to End Renegotiation: ENABLED
    SSL Interception Maximum Reuse Sessions per Server:  10
    Session Ticket: DISABLED
    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-->

Hinzufügen eines SSL-Profils über die GUI

  1. Navigieren Sie zu System > Profile. Wählen Sie SSL-Profile.
  2. Klicken Sie auf Hinzufügen und geben Sie einen Namen für das Profil an.
  3. Wählen Sie unter ProtokollTLSv13aus.

    Erstellen Sie ein TLSv13-Profil

  4. Klicken Sie auf OK.

Binden Sie ein SSL-Profil über die CLI an einen virtuellen SSL-Server

Geben Sie in der Befehlszeile Folgendes ein:

set ssl vserver <vServerName> -sslProfile <tls13-profile-name>
<!--NeedCopy-->

Beispiel:

set ssl vserver ssl-vs -sslProfile tls13profile

Binden Sie ein SSL-Profil über die GUI an einen virtuellen SSL-Server

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und wählen Sie einen virtuellen SSL-Server aus.
  2. Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
  3. Wählen Sie das zuvor erstellte TLSv1.3-Profil aus.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Fertig.

SSL-Profilparameter für das TLSv1.3-Protokoll

  1. TLS1.3-Parameter in einem SSL-Profil aktivieren oder deaktivieren.

    tls13: Status der TLSv1.3-Protokollunterstützung für das SSL-Profil.

    Mögliche Werte: ENABLED, DISABLED

    Standardwert: DISABLED

    set ssl profile tls13profile -tls13 enable
    <!--NeedCopy-->
    
    set ssl profile tls13profile -tls13 disable
    <!--NeedCopy-->
    
  2. Anzahl der ausgestellten Sitzungstickets festlegen.

    tls13SessionTicketsPerAuthContext: Anzahl der Tickets, die der virtuelle SSL-Server ausgibt, wenn TLS1.3 ausgehandelt wird, die ticket-basierte Wiederaufnahme aktiviert ist und entweder (1) ein Handshake abgeschlossen ist oder (2) die Clientauthentifizierung nach dem Handshake abgeschlossen ist.

    Dieser Wert kann erhöht werden, damit Clients mehrere parallele Verbindungen mit einem neuen Ticket für jede Verbindung öffnen können.

    Es werden keine Tickets gesendet, wenn die Wiederaufnahme deaktiviert ist.

    Standardwert: 1

    Mindestwert: 1

    Maximaler Wert: 10

    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 1
    
    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 10
    <!--NeedCopy-->
    
  3. Festlegen des DH-Schlüsselaustausch

    dheKeyExchangeWithPsk: Gibt an, ob ein virtueller SSL-Server einen DHE-Schlüsselaustausch erfordert, wenn ein vorab freigegebener Schlüssel während eines Handshakes zur Wiederaufnahme einer TLS 1.3-Sitzung akzeptiert wird. Ein DHE-Schlüsselaustausch gewährleistet die Vorwärtsgeheimnis, auch wenn Ticketschlüssel kompromittiert sind, auf Kosten zusätzlicher Ressourcen, die für die Durchführung des DHE-Schlüsselaustauschs erforderlich sind.

    Die verfügbaren Einstellungen funktionieren wie folgt, wenn das Sitzungsticket aktiviert ist:

    JA: Ein DHE-Schlüsselaustausch ist erforderlich, wenn ein vorab freigegebener Schlüssel akzeptiert wird, unabhängig davon, ob der Kunde den Schlüsselaustausch unterstützt. Der Handshake wird mit einer schwerwiegenden Warnung abgebrochen, wenn der Client den DHE-Schlüsselaustausch nicht unterstützt, wenn er einen vorab freigegebenen Schlüssel anbietet.

    NEIN: Der DHE-Schlüsselaustausch wird durchgeführt, wenn ein vorab freigegebener Schlüssel akzeptiert wird, nur wenn dies vom Kunden angefordert wird.

    Mögliche Werte: JA, NEIN

    Standardwert: NO

    set ssl profile tls13profile dheKeyExchangeWithPsk yes
    
    set ssl profile tls13profile dheKeyExchangeWithPsk no
    <!--NeedCopy-->
    
  4. Frühe Datenakzeptanz von 0-RTT aktivieren oder deaktivieren

    zeroRttEarlyData: Stand der frühen Anwendungsdaten von TLS 1.3. Die zutreffenden Einstellungen funktionieren wie folgt:

    ENABLED: Frühe Anwendungsdaten könnten verarbeitet werden, bevor der Handshake abgeschlossen ist. DISABLED: Frühe Anwendungsdaten werden ignoriert.

    Mögliche Werte: ENABLED, DISABLED

    Standardwert: DISABLED

    set ssl profile tls13profile -zeroRttEarlyData ENABLED
    
    set ssl profile tls13profile -zeroRttEarlyData DISABLED
    <!--NeedCopy-->
    

Standard-Verschlüsselungsgruppe

Die standardmäßige Verschlüsselungsgruppe umfasst TLS1.3-Verschlüsselungen.

sh cipher DEFAULT
1) Cipher Name: TLS1-AES-256-CBC-SHA    Priority : 1
    Description: SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1   HexCode=0x0035

2)  Cipher Name: TLS1-AES-128-CBC-SHA    Priority : 2
    Description: SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1   HexCode=0x002f
…
…
27) Cipher Name: TLS1.3-AES256-GCM-SHA384         Priority : 27
    Description: TLSv1.3 Kx=any      Au=any  Enc=AES-GCM(256) Mac=AEAD   HexCode=0x1302

28) Cipher Name: TLS1.3_CHACHA20_POLY1305_SHA256     Priority : 28
    Description: TLSv1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD   HexCode=0x1303

29) Cipher Name: TLS1.3-AES128_GCM-SHA256        Priority : 29
    Description: TLSv1.3 Kx=any      Au=any  Enc=AES-GCM(128) Mac=AEAD   HexCode=0x1301
Done
<!--NeedCopy-->

Einschränkungen

  • TLSv1.3 wird im Backend nicht unterstützt.
  • TLSv1.3 wird auf einer Citrix Secure Web Gateway-Anwendung und auf einer Citrix ADC FIPS-Appliance nicht unterstützt.
  • In einem TLSv1.3-Handshake werden nur RSA-Zertifikate mit 1024-Bit-Schlüsseln und größeren Schlüsseln unterstützt.

Beschränkungen der Sicherheit

TLSv1.3-Serverbetreiber müssen die folgenden Sicherheitsbeschränkungen für die Abwärtskompatibilität beachten, die in RFC 8446 beschrieben sind. Die Standardkonfiguration auf einer NetScaler-Appliance entspricht diesen Einschränkungen. Eine NetScaler-Appliance erzwingt jedoch nicht, dass diese Regeln eingehalten werden.

  • Die Sicherheit von RC4-Verschlüsselungssammlungen wird als unzureichend angesehen, wie in RFC7465 beschrieben. Implementierungen dürfen keine RC4-Verschlüsselungssammlungen für irgendeine Version von TLS anbieten oder aushandeln.

  • Alte Versionen von TLS ermöglichten die Verwendung von Chiffren mit geringer Stärke. Chiffren mit einer Stärke von weniger als 112 Bit dürfen für keine Version von TLS angeboten oder ausgehandelt werden.

  • Die Sicherheit von SSL 3.0 [SSLv3] wird wie in RFC7568 beschrieben als unzureichend angesehen und darf nicht ausgehandelt werden. Deaktivieren Sie SSLv3, wenn TLSv1.3 aktiviert ist (SSLv3 ist standardmäßig deaktiviert).

  • Die Sicherheit von SSL 2.0 [SSLv2] wird wie in RFC6176 beschrieben als unzureichend angesehen und darf nicht ausgehandelt werden. Deaktivieren Sie SSLv2, wenn TLS 1.3 aktiviert ist (SSLv2 ist standardmäßig deaktiviert).

Hinweis:

Informationen zur Fehlerbehebung von Protokollen, die über TLS1.3 laufen, finden Sie unter Entschlüsseln des TLS1.3-Datenverkehrs aus der Paketverfolgung.

Unterstützung des TLSv1.3-Protokolls wie in RFC 8446 definiert