TLSv1.3 Protokollunterstützung gemäß RFC 8446

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

Hinweise:

  • Nur Software-Unterstützung für das TLSv1.3-Protokoll ist auf allen Citrix ADC MPX-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 unterAktivieren 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

Folgende SSL-Funktionen werden unterstützt:

  1. TLSv1.3-Verschlüsselungssammlungen:
    • TLS1.3-AES256-GCM-SHA384 (0x1302)
    • TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303) (nur auf VPX und VPX-Instanz auf SDX ohne SSL-Chip zugewiesen)
    • TLS1.3-AES128_GCM-SHA256 (0x1301)
  2. ECC-Kurven für den flüchtigen Diffie-Hellman-Schlüsselaustausch:
    • P_256
    • P_384
    • P_521
  3. Gekürzte Handshakes bei aktivierter Ticket-basierter Session-Wiederaufnahme

  4. 0-RTT frühe Anwendungsdaten

  5. Optionale oder obligatorische zertifikatbasierte Clientauthentifizierung mit Unterstützung für OCSP und/oder CRL-Validierung von Clientzertifikaten

  6. Servernamenerweiterung: Auswahl von Serverzertifikaten mithilfe von SNI

  7. Application Protocol Negotiation (ALPN) mithilfe der Erweiterung application_level_protocol_negotiation.

  8. OCSP-Heftung

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

  10. Optionale Protokollierung von TLS 1.3-Datenverkehrsgeheimnissen durch dasnstrace Paketerfassungsdienstprogramm.

  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 mit der Citrix ADC Implementierung des TLS 1.3-Protokolls kompatibel:

  • Google Chrome - Version 72.0.3626.121 (Offizieller Build) (64-bit)
  • Mozilla Firefox - 65.0.2 (64-bit)
  • Opera - Version 58.0.3135.79

Konfiguration

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

Hinzufügen eines SSL-Profils mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add ssl profile <tls13-profile-name>

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

Binden eines SSL-Profils an einen virtuellen SSL-Server mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

Beispiel:

set ssl vserver ssl-vs -sslProfile tls13profile

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

  1. Aktivieren oder Deaktivieren von TLS1.3-Parametern in einem SSL-Profil.

    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
    
    set ssl profile tls13profile -tls13 disable
    
  2. Legen Sie die Anzahl der ausgestellten Sitzungstickets fest.

    tls13SessionTicketsPerAuthContext: Anzahl der Tickets, die der virtuelle SSL-Server ausgibt, wenn TLS1.3 ausgehandelt wird, ticketbasierte Wiederaufnahme aktiviert ist und entweder (1) ein Handshake abgeschlossen ist oder (2) Client-Authentifizierung 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

    Maximalwert: 10

    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 1
    
    set ssl profile tls13profile -tls13sessionTicketsPerAuthContext 10
    
  3. DH-Schlüsselaustauscheinstellen

    dheKeyExchangeWithPsk: Gibt an, ob ein virtueller SSL-Server einen DHE-Schlüsselaustausch erfordert, wenn ein vorab freigegebener Schlüssel während einer TLS 1.3-Sitzungs-Wiederaufnahme Handshake akzeptiert wird. Ein DHE-Schlüsselaustausch gewährleistet Vorwärtsgeheimnis, auch wenn Ticketschlüssel gefährdet 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:

    YES: DHE-Schlüsselaustausch ist erforderlich, wenn ein vorab geteilter Schlüssel akzeptiert wird, unabhängig davon, ob der Client 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 vorinstallierten Schlüssel anbietet.

    NO: Der DHE-Schlüsselaustausch wird durchgeführt, wenn ein vorab geteilter Schlüssel akzeptiert wird, nur wenn er vom Client angefordert wird.

    Mögliche Werte: YES, NO

    Standardwert: NO

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

    zeroRttEarlyData: Status von TLS 1.3 frühe Anwendungsdaten. Die anwendbaren Einstellungen funktionieren wie folgt:

    ENABLED: Frühe Anwendungsdaten werden möglicherweise verarbeitet, 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
    

Standard-Verschlüsselungsgruppe

Die Standard-Verschlüsselungsgruppe enthält TLS1.3-Chiffre.

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

Einschränkungen

  • Auf der Citrix ADC MPX-Plattform wird die TLSv1.3-Verarbeitung nicht auf die Kryptohardware ausgelagert.
  • TLSv1.3 wird im Backend nicht unterstützt.
  • TLSv1.3 wird auf einer Citrix Secure Web Gateway Appliance und einer Citrix ADC FIPS-Appliance nicht unterstützt.

Betriebliche Überlegungen

Kompatibilitätshinweis für TLS 1.3: Eine Citrix ADC Appliance implementiert die RFC 8446 Variante des TLS 1.3-Protokolls (im Gegensatz zu früheren Entwurfsversionen des Protokolls). Verwenden Sie einen TLS 1.3-Client, der RFC 8446 (oder einen interoperablen Entwurf # - 26, 27 oder 28) unterstützt, um einen TLS 1.3-Handshake mit einer Citrix ADC Appliance abzuschließen. Clients und Server, die unterschiedliche Entwurfsversionen des TLS 1.3-Protokolls implementieren, arbeiten möglicherweise nicht miteinander zusammen.

Sicherheitsbeschränkungen

TLSv1.3 Serverbetreiber sollten die folgenden Sicherheitseinschrä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 jede Version von TLS anbieten oder aushandeln.

  • Alte Versionen von TLS erlaubten die Verwendung von Chiffren mit niedriger Festigkeit. 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]gilt als unzureichend, wie in RFC7568 beschrieben, 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]gilt als unzureichend, wie in RFC6176 beschrieben, und darf nicht ausgehandelt werden. Deaktivieren Sie SSLv2, wenn TLS 1.3 aktiviert ist (SSLv2 ist standardmäßig deaktiviert).

Hinweis:

Hinweise zur Fehlerbehebung von Protokollen, die über TLS1.3 ausgeführt werden, finden Sie unterEntschlüsseln des TLS1.3-Datenverkehrs aus der Paketverfolgung.