Unterstützung für das TLS 1.3-Protokoll
Die NetScaler VPX- und NetScaler MPX-Appliances unterstützen jetzt das in RFC 8446 spezifizierte TLS 1.3-Protokoll.
Hinweise:
Die TLS 1.3-Hardwarebeschleunigung wird auf den folgenden Plattformen unterstützt:
- MPX 5900
- MPX/SDX 8900
- MPX/SDX 9100
- MPX/SDX 15000
- MPX/SDX 15000-50G
- MPX/SDX 16000
- MPX/SDX 26000
- MPX/SDX 26000-50S
- MPX/SDX 26000-100G
Reine Softwareunterstützung für das TLS 1.3-Protokoll ist auf allen anderen NetScaler MPX- und SDX-Appliances außer NetScaler FIPS-Appliances verfügbar.
TLS 1.3 wird nur mit dem erweiterten Profil unterstützt. Informationen zum Aktivieren des erweiterten Profils finden Sie unter Standardprofil aktivieren. Die Begriffe “Standard” und “erweitert” werden synonym für das SSL-Profil verwendet.
Um TLS 1.3 verwenden zu können, müssen Sie einen Client verwenden, der der RFC 8446-Spezifikation entspricht.
Unterstützte NetScaler-Funktionen
Die folgenden SSL-Funktionen werden unterstützt:
SSL-Funktionen | Unterstützung am Frontend | Support im Backend |
---|---|---|
Verschlüsselungssuite TLS 1.3-AES256-GCM-SHA384 (0x1302) | Ja | Ja |
Verschlüsselungssuite TLS 1.3_CHACHA20_POLY1305_SHA256 (0x1303) | Ja | Ja |
Verschlüsselungssuite TLS 1.3-AES128_GCM-SHA256 (0x1301) | Ja | Ja |
ECC-Kurve P_256 für ephemeren DH-Schlüsselaustausch | Ja | Ja |
ECC-Kurve P_384 für ephemeren DH-Schlüsselaustausch | Ja | Ja |
ECC-Kurve P_521 für ephemeren DH-Schlüsselaustausch | Ja | Ja |
Verkürzte Handshakes, wenn die ticket-basierte Sitzungswiederaufnahme aktiviert ist | Ja | Nein |
0-RTT frühe Anwendungsdaten | Ja | Nein |
Schutz vor Replay-Angriffen für frühe 0-RTT-Anwendungsdaten | Ja | *NA |
Optionale oder obligatorische zertifikatbasierte Client-Authentifizierung mit Unterstützung für die OCSP- und CRL-Validierung von Peer-Zertifikaten | Ja | Ja |
Servernamenerweiterung: Auswahl des Serverzertifikats mithilfe von SNI | Ja | *NA |
Anwendungsprotokollaushandlung (ALPN) mithilfe der Erweiterung application_level_protocol_negotiation | Ja | Ja |
OCSP-Stapling | Ja | *NA |
Protokollnachrichten und AppFlow-Datensätze werden für TLS 1.3-Handshakes erzeugt | Ja | Ja |
Optionale Protokollierung von TLS 1.3-Datenverkehrsgeheimnissen durch das Paketerfassungsprogramm nstrace
|
Ja | Ja |
Interoperabilität mit TLS-Peers, die RFC 8446 implementieren. Zum Beispiel Mozilla Firefox, Google Chrome und OpenSSL. | Ja | Ja |
*NA — nicht zutreffend
Konfiguration
TLS 1.3 ist in einem SSL-Profil standardmäßig deaktiviert. Sie können TLS 1.3 zwar für das Legacy-Profil aktivieren, aber einige Funktionen, wie z. B. abgekürzte Handshakes, wenn die ticketbasierte Sitzungswiederaufnahme aktiviert ist, und 0-RTT-Anwendungsdaten für frühe 0-RTT-Anwendungen werden im Legacy-Profil nicht unterstützt.
Fügen Sie mithilfe der CLI ein Front-End-SSL-Profil hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add ssl profile tls13profile -tls13 ENABLED
<!--NeedCopy-->
Beispiel:
sh ssl profile tls13profile
1) Name: tls13profile (Front-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: ENABLED
Client Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 120 seconds
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Deny SSL Renegotiation ALL
Non FIPS Ciphers: DISABLED
Cipher Redirect: DISABLED
SSL Redirect: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
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-->
Fügen Sie mithilfe der GUI ein Front-End-SSL-Profil hinzu
- Navigieren Sie zu System > Profiles. 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 und dann auf Fertig.
Fügen Sie mithilfe der CLI ein Back-End-SSL-Profil hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add ssl profile profile1 -sslprofileType BackEnd -tls13 ENABLED
<!--NeedCopy-->
Beispiel:
add ssl profile tls13profile2 -sslprofileType BackEnd
sh ssl profile tls13profile2
1) Name: tls13profile2 (Back-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: ENABLED
Server Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 300 seconds
DH: DISABLED
Ephemeral RSA: DISABLED
Deny SSL Renegotiation ALL
Non FIPS Ciphers: DISABLED
Cipher Redirect: DISABLED
SSL Redirect: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Push Encryption Trigger: Always
PUSH encryption trigger timeout: 1 ms
SNI: DISABLED
OCSP Stapling: DISABLED
Strict Host Header check for SNI enabled SSL sessions: NO
Push flag: 0x0 (Auto)
SSL quantum size: 8 kB
Encryption trigger timeout 100 mS
Encryption trigger packet count: 45
Allow Extended Master Secret: NO
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT_BACKEND Priority :1
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Fügen Sie mithilfe der GUI ein Back-End-SSL-Profil hinzu
- Navigieren Sie zu System > Profiles. Wählen Sie SSL-Profile.
- Klicken Sie auf Hinzufügen und geben Sie einen Namen für das Profil an.
-
Wählen Sie unter SSL-Profiltyp die Option BackEnd aus.
- Wählen Sie unter ProtokollTLSv13aus.
- Klicken Sie auf OK und dann auf Fertig.
Binden Sie ein SSL-Profil über die CLI an einen virtuellen SSL-Server
Geben Sie an der Eingabeaufforderung Folgendes ein:
set ssl vserver <vserverName> -sslProfile <profile-name>
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 auf Edit.
- Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
- Wählen Sie das zuvor erstellte TLS 1.3-Profil aus.
- Klicken Sie auf OK und dann auf Fertig.
Binden Sie ein SSL-Profil mithilfe der CLI an einen SSL-Dienst
Geben Sie an der Eingabeaufforderung Folgendes ein:
set ssl service <serviceName> -sslProfile <profile-name>
Beispiel:
set ssl service ssl-service -sslProfile tls13profile2
Hinweis:
Eine Warnung wird angezeigt, wenn Sie ein Front-End-Profil an einen SSL-Dienst binden.
Binden Sie ein SSL-Profil mithilfe der GUI an einen SSL-Dienst
- Navigieren Sie zu Traffic Management > Load Balancing > Servicesund wählen Sie einen SSL-Dienst aus.
- Klicken Sie auf Edit.
- Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
- Wählen Sie das zuvor erstellte TLS 1.3-Profil aus.
- Klicken Sie auf OK und dann auf Fertig.
SSL-Profilparameter für das TLS 1.3-Protokoll
Hinweis:
Nur tls13 gilt für ein Back-End-SSL-Profil.
-
Aktivieren oder deaktivieren Sie TLS 1.3-Parameter in einem SSL-Profil.
tls13: Status der Unterstützung des TLS 1.3-Protokolls 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-->
-
Legen Sie die Anzahl der ausgestellten Sitzungstickets fest.
tls13SessionTicketsPerAuthContext: Anzahl der Tickets, die der virtuelle SSL-Server ausgibt, wenn TLS 1.3 ausgehandelt wird, die ticketbasierteWiederaufnahme aktiviert ist und entweder (1) ein Handshake abgeschlossen wird oder (2) die Client-Authentifizierung nach dem Handshake abgeschlossen wird.
Dieser Wert kann erhöht werden, damit Peers 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-->
-
Stellen Sie den DH-Schlüsselaustausch ein.
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-->
-
Aktivieren oder deaktivieren Sie die frühzeitige Datenakzeptanz von 0-RTT.
zeroRttEarlyData
: Stand der frühen Anwendungsdaten von TLS 1.3. Die zutreffenden 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 <!--NeedCopy-->
Standard-Verschlüsselungsgruppe
Die Standard-Verschlüsselungsgruppe umfasst TLS 1.3-Chiffren.
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: TLS 1.3-AES256-GCM-SHA384 Priority : 27
Description: TLS 1.3 Kx=any Au=any Enc=AES-GCM(256) Mac=AEAD HexCode=0x1302
28) Cipher Name: TLS 1.3_CHACHA20_POLY1305_SHA256 Priority : 28
Description: TLS 1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD HexCode=0x1303
29) Cipher Name: TLS 1.3-AES128_GCM-SHA256 Priority : 29
Description: TLS 1.3 Kx=any Au=any Enc=AES-GCM(128) Mac=AEAD HexCode=0x1301
Done
<!--NeedCopy-->
sh cipher DEFAULT_BACKEND
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: TLS 1.3-AES256-GCM-SHA384 Priority : 27
Description: TLS 1.3 Kx=any Au=any Enc=AES-GCM(256) Mac=AEAD HexCode=0x1302
28) Cipher Name: TLS 1.3-CHACHA20-POLY1305-SHA256 Priority : 28
Description: TLS 1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD HexCode=0x1303
29) Cipher Name: TLS 1.3-AES128-GCM-SHA256 Priority : 29
Description: TLS 1.3 Kx=any Au=any Enc=AES-GCM(128) Mac=AEAD HexCode=0x1301
Done
<!--NeedCopy-->
Einschränkungen
- TLS 1.3 wird auf einer NetScaler FIPS-Appliance nicht unterstützt.
- In einem TLS 1.3-Handshake werden nur RSA-Zertifikate mit 1024-Bit-Schlüsseln und größeren Schlüsseln unterstützt.
Beschränkungen der Sicherheit
TLS 1.3-Serverbetreiber müssen die folgenden Sicherheitseinschränkungen aus Gründen der Abwärtskompatibilität beachten, die in RFC 8446 beschrieben sind. Die Standardkonfiguration auf einer NetScaler-Appliance entspricht diesen Einschränkungen. Eine NetScaler-Appliance setzt diese Regeln jedoch nicht durch.
-
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 TLS 1.3 aktiviert ist (SSLv3 ist standardmäßig deaktiviert).
Hinweis:
Informationen zur Problembehandlung bei Protokollen, die über TLS 1.3 laufen, finden Sie unter Entschlüsseln von TLS 1.3-Verkehr aus der Paketverfolgung.