ADC

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

  1. Navigieren Sie zu System > Profiles. 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 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

  1. Navigieren Sie zu System > Profiles. 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 SSL-Profiltyp die Option BackEnd aus.

    SSL-Backend-Profil

  4. Wählen Sie unter ProtokollTLSv13aus.
  5. 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

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und wählen Sie einen virtuellen SSL-Server aus.
  2. Klicken Sie auf Edit.
  3. Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
  4. Wählen Sie das zuvor erstellte TLS 1.3-Profil aus.
  5. 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

  1. Navigieren Sie zu Traffic Management > Load Balancing > Servicesund wählen Sie einen SSL-Dienst aus.
  2. Klicken Sie auf Edit.
  3. Klicken Sie unter Erweiterte Einstellungenauf SSL-Profil.
  4. Wählen Sie das zuvor erstellte TLS 1.3-Profil aus.
  5. 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.

  1. 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-->
    
  2. 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-->
    
  3. 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-->
    
  4. 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.

Unterstützung für das TLS 1.3-Protokoll