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:
- TLSv1.3-Verschlüsselungssammlungen:
- TLS1.3-AES256-GCM-SHA384 (0x1302)
- TLS1.3_CHACHA20_POLY1305_SHA256 (0x1303)
- TLS1.3-AES128_GCM-SHA256 (0x1301)
- ECC-Kurven für kurzlebigen Diffie-Hellman-Schlüsselaustausch:
- P_256
- P_384
- P_521
-
Verkürzte Handshakes, wenn die ticket-basierte Sitzungswiederaufnahme aktiviert ist
-
0-RTT frühe Anwendungsdaten
-
Optionale oder verbindliche zertifikatsbasierte Clientauthentifizierung mit Unterstützung für OCSP- und CRL-Validierung von Clientzertifikaten
-
Servernamenerweiterung: Auswahl des Serverzertifikats mithilfe von SNI
-
Aushandlung des Anwendungsprotokolls (ALPN) mithilfe der Erweiterung application_level_protocol_negotiation.
-
OCSP-Stapling
-
Protokollnachrichten und AppFlow-Datensätze werden für TLSv1.3-Handshakes erstellt.
-
Optionale Protokollierung von TLS 1.3-Verkehrsgeheimnissen durch das Paketerfassungsprogramm
nstrace
. - 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
- Navigieren Sie zu System > Profile. Wählen Sie SSL-Profile.
- Klicken Sie auf Hinzufügen und geben Sie einen Namen für das Profil an.
-
Wählen Sie unter ProtokollTLSv13aus.
- 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
- Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und wählen Sie einen virtuellen SSL-Server aus.
- Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
- Wählen Sie das zuvor erstellte TLSv1.3-Profil aus.
- Klicken Sie auf OK.
- Klicken Sie auf Fertig.
SSL-Profilparameter für das TLSv1.3-Protokoll
-
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-->
-
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-->
-
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-->
-
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.