Tech Paper: Bewährte Methoden für SSL-/TLS-Netzwerke

Übersicht

Dieses Tech Paper soll vermitteln, was jemand, der mit ADC vertraut ist, als generische Implementierung konfigurieren würde, um bei Qualys SSL Labs die Note A + zu erhalten.

Qualys SSL Labs führt eine robuste Testreihe durch und stellt eine Scorecard bereit, mit der Sie Ihre Konfiguration verbessern können. Der Scan ist kostenlos und dauert nur etwa eine Minute.

Qualys entwickelt aktiv SSL Labs. Tests werden sich wahrscheinlich ändern, wenn neue Protokolle erstellt und Sicherheitslücken gefunden werden. Es empfiehlt sich, Websites regelmäßig zu testen, um sicherzustellen, dass keine neuen Sicherheitslücken aufgedeckt werden.

Hinweis: Sprechen Sie mit Ihrem Sicherheitsteam über Ihre Bereitstellung. Sicherheitsexperten sagen, dass SSL Labs A+ein gutes allgemeines Ziel ist, aber möglicherweise nicht den Anforderungen Ihres Unternehmens entspricht.

Konfigurationselemente, die validiert werden müssen

  • Zertifikate - Wird die gesamte Kette bereitgestellt und als vertrauenswürdig eingestuft? Ist der Signaturalgorithmus sicher?
  • Unterstützung von Protokollen, Schlüsseln und Verschlüsselungen - Welche SSL- und TLS-Protokollversionen werden unterstützt? Welche Verschlüsselungssammlungen werden bevorzugt und in welcher Reihenfolge? Unterstützen die bereitgestellten Verschlüsselungssammlungen Forward Secrecy?
  • TLS Handshake Simulation - Bestimmt, welches Protokoll und welche Chiffre von mehreren verschiedenen Clients und Browsern ausgehandelt werden
  • Protokolldetails — Wird Secure Renegotiation unterstützt? Wird strikte Transportsicherheit (HSTS) unterstützt?
  • Bekannte Sicherheitslücken - Ist der Server anfällig für Angriffe wie POODLE, BEAST oder TLS-Downgrade?

Sobald SSL Labs die Tests abgeschlossen hat, wird eine Briefnote zusammen mit einer Punkteskala für jede der 4 Kategorien angezeigt:

1 Zertifikat
2 Protokoll Unterstützung
3 Schlüsselaustausch
4 Verschlüsselungsstärke

Jede der Kategorien erhält eine numerische Bewertung, die SSL Labs dann als Durchschnittswert ergibt. Einige Sonderfälle und Konfigurationen, von denen SSL Labs ablehnt, z. B. die Aktivierung von SSLv3, können Ihre Abschlussnote einschränken. Eine vollständige Dokumentation zur Bewertung von Servern durch SSL Labs finden Sie hier.

Umsetzungsbedenken

SSL-Profile

Dieser Artikel verwendet SSL-Profile. Bei der ersten Aktivierung werden bei SSL-Profilen alle virtuellen SSL-Server so eingerichtet, dass sie das Standardprofil verwenden.

SSL-Profile haben Vorrang vor globalen und pro virtuellem Server SSL-Parametern.

Kunden-Support

Einige der Konfigurationsschritte in diesem Artikel können Verbindungsprobleme mit alten Clients und Browsern verursachen. Beispielsweise unterstützt Internet Explorer 11 unter Windows 7 und 8.1 nur ältere Verschlüsselungssammlungen, und anderen älteren Browsern fehlt möglicherweise die Unterstützung für TLS1.2- und ECC-Chiffren vollständig. In Fällen, in denen der Support fehlt, kann es beim Kunden zu Fehlermeldungen kommen und die Website kann nicht angezeigt werden.

SSL Labs haben auf der Titelseite eine Schaltfläche “Testen Sie Ihren Browser”, um Ihre Anforderungen zu ermitteln.

Citrix Receiver/Workspace-App-Verschlüsselungsunterstützung für Gateway-Bereitstellungen

Lesen Sie die folgenden Artikel zur Unterstützung von Clientverschlüsselungen bei der Bereitstellung eines virtuellen Gateway-Servers für virtuelle Apps und Desktops:

Hinweis: Im Abschnitt “ Firmware Notes “ finden Sie erforderliche Builds und andere Hinweise zur spezifischen ADC-Firmware

Grundlegende Schritte - GUI

Führen Sie die folgenden Schritte aus, um einen Highscore beim SSL Labs-Test sicherzustellen.

  • Stellen Sie sicher, dass der ADC eine aktuelle Firmware-Version ausführt - 13.0 Build 71 oder höher wird empfohlen, um die Vorteile der TLS1.3-Hardwarebeschleunigung zu nutzen

  • Stellen Sie sicher, dass die Zertifikatkette vollständig und vertrauenswürdig ist

    • Stammzertifizierungsstellen signieren Zertifikate nicht immer direkt. Stattdessen verwendet eine Stammzertifizierungsstelle häufig einen Vermittler, um ein Zertifikat zu signieren
    • Installieren Sie das Zwischenzertifikat auf dem ADC. Verknüpfen Sie es mit dem Serverzertifikat, das Sie an den virtuellen Server gebunden haben
    • Zwischenzertifikate werden von dem Anbieter bereitgestellt, der das Serverzertifikat bereitstellt, häufig in einem “Zertifikatspaket”. Sie sind normalerweise auf der öffentlichen Website des Anbieters zu finden
    • Möglicherweise müssen Sie mehrere Zwischenzertifikate installieren und verknüpfen. Damit das Serverzertifikat funktioniert, muss der ADC eine vollständige Kette senden. Eine vollständige Kette endet mit einem Zertifikat, das von einer der vertrauenswürdigen Stammzertifizierungsstellen des Clients signiert wurde
    • Da der Client bereits über die vertrauenswürdige Root-CA verfügt, müssen Sie sie nicht auf dem ADC installieren und verknüpfen
    • Um ein Zwischenzertifikat zu installieren, gehen Sie zu: Traffic Management > SSL > Zertifikate > CA-Zertifikate und wählen Sie Installieren (Hinweis: Frühere Builds von Citrix ADC haben nicht die Option “CA Certificates” in der GUI)
    • Verknüpfen Sie ein Zwischenprodukt, indem Sie das Zertifikat auswählen und Link aus dem Aktionsmenü wählen
    • Wenn das richtige Zwischenzertifikat installiert ist, wird es automatisch im Link-Menü eingetragen

CA-Zertifikatinstallation

Zertifikat-Link

Certificate-Linked

  • Erstellen einer benutzerdefinierten Verschlüsselungsgruppe, die Forward Secrecy (FS) bereitstellt
    • Gehen Sie zu Traffic Management > SSL > Chiffre Groups und wählen Sie Hinzufügen
    • Nennen Sie die Verschlüsselungsgruppe “SSL_Labs_Cipher_Group_Q4_2021”
    • Klicken Sie auf Hinzufügen und erweitern Sie dann den Abschnitt ALL - wählen Sie die folgenden Verschlüsselungssammlungen aus:
      • TLS1.3-AES256-GCM-SHA384
      • TLS1.3-AES128-GCM-SHA256
      • TLS1.3-CHACHA20-POLY1305-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384
      • TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256
      • TLS1.2-ECDHE-ECDSA-AES256-SHA384
      • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
    • Klicken Sie auf den Pfeil > nach rechts, um die Chiffren aus der Spalte Verfügbar in die Spalte Konfiguriert zu verschieben
    • Klicken Sie auf Erstellen

Create-Group

  • SSL-Profile aktivieren

Navigieren Sie zu Traffic Management > SSL > Erweiterte SSL-Einstellungen ändern, scrollen Sie nach unten und wählen Sie Standardprofil aktivierenaus.

Enable_Default_Profile

SSL Profiles legt fest, dass alle virtuellen SSL-Server bei der ersten Aktivierung das Standardprofil verwenden. Wenn die vorhandenen SSL-Einstellungen pro virtuellem Server entfernt werden, werden Sie vom ADC zur Bestätigung aufgefordert.

Confirm_Default_Profile

  • Erstellen Sie ein SSL-Profil
    • Navigieren Sie zu System > Profile > SSL-Profilund wählen Sie Hinzufügen
      SSL_Profile — Benennen Sie das Profil “SSL_Labs_Profile_Q4_2021” — Scrollen Sie zu SSL-Neuverhandlung verweigern und wählen Sie NONSECURE, um nur Clients, die RFC 5746 unterstützen, die Neuverhandlung zu erlauben — Scrollen Sie zu HSTS, kreuzen Sie HSTSan und geben Sie ein Höchstalter von 157680000 Sekunden an - Scrollen Sie zu Protokoll und wählen Sie nur TLSv12 und TLSv13 SSL_Profile_Protocols aus - Scrollen Sie zum Ende des Formulars und wählen Sie OK - Scrollen Sie zu SSL-Chiffren, wählen Sie das Bleistiftsymbol zum Bearbeiten aus, klicken Sie dann auf Alle entfernen - Klicken Sie auf Hinzufügen und fügen Sie die zuvor erstellte Verschlüsselungsgruppe hinzu SSL_Profile_Cipher_List - Scrollen Sie zum Ende des Formulars und wählen Sie Fertig
  • Binden Sie das SSL-Profil an den virtuellen SSL-Server
    • Wählen Sie auf dem ausgewählten virtuellen Server das Bleistiftsymbol aus, um das gebundene SSL-Profilzu bearbeiten
    • Wählen Sie das SSL-Profil, das wir erstellt haben, aus der Dropdownliste
    • Klicken Sie auf OK

Grundlegende Schritte - CLI

Führen Sie die folgenden Schritte aus, um einen Highscore beim SSL Labs-Test sicherzustellen.

In den folgenden CLI-Beispielen wird der Name des virtuellen SSL-Servers als ex-vServer aufgeführt - er kann durch den Namen des virtuellen SSL-Servers in Ihrer Umgebung ersetzt werden.

  • Erstellen einer benutzerdefinierten Verschlüsselungsgruppe, die ECDHE und ECDSA-Verschlüsselungssammlungen bevorzugt
add ssl cipher SSL_Labs_Cipher_Group_Q4_2021

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-AES256-GCM-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-AES128-GCM-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.3-CHACHA20-POLY1305-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-ECDSA-AES256-SHA384

bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->
  • SSL-Profile aktivieren
set ssl parameter -defaultProfile ENABLED
<!--NeedCopy-->
  • Erstellen Sie ein SSL-Profil
add ssl profile SSL_Labs_Profile_Q4_2021 -tls1 DISABLED -tls11 DISABLED -tls12 ENABLED -tls13 ENABLED -denySSLReneg NONSECURE -HSTS ENABLE
<!--NeedCopy-->
  • Löst die standardmäßige Verschlüsselungsgruppe aus dem SSL-Profil und bindet die benutzerdefinierte Gruppe
unbind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName DEFAULT

bind ssl profile SSL_Labs_Profile_Q4_2021 -cipherName SSL_Labs_Cipher_Group_Q4_2021
<!--NeedCopy-->
  • Binden Sie das SSL-Profil an den virtuellen SSL-Server
set ssl vserver "Ex-vServer" -sslProfile SSL_Labs_Profile_Q4_2021
<!--NeedCopy-->

Weitere Einstellungen

SHA1-Zertifikate

Mit SHA1 signierte Zertifikate gelten als schwach und verhindern einen hohen Grad im SSL Labs-Test. Wenn Zertifikate SHA1-signiert sind, sollten sie durch ein SHA256-Zertifikat ersetzt und auf dem ADC installiert werden.

DNS CAA

Mit der DNS-Zertifizierungsautorisierung (CAA) können Zertifizierungsstellen überprüfen, ob sie zur Ausstellung von Zertifikaten für eine Domäne berechtigt sind, und einen Kontakt bereitstellen, wenn etwas schief geht.

DNS-CAA ist für ein A+bei SSL Labs nicht erforderlich und ein optionaler Schritt. Mehr über DNS CAA erfahren Sie hier.

Unterstützung für ältere Kunden

Die ECDHE-Chiffren, die wir in diesem Handbuch verwenden, ersetzen die älteren langsameren DHE-Chiffren. Wenn Sie Legacy-Clients haben, die Sie nicht aktualisieren können, haben Sie möglicherweise keine andere Wahl, als DHE zu aktivieren.

DHE-Verschlüsselungssammlungen in der GUI aktivieren

  • Gehen Sie zu Traffic Management > SSL und wählen Sie Create Diffie-Hellman (DH) key

Create_DH_Key_config

  • Nennen Sie den Diffie-Hellman-Schlüssel “DH_Key_Name_Here.key”

  • Geben Sie die Parametergröße (Bit) ein. Muss zwischen 512 und 2048 liegen

  • Wählen Sie den Diffie-Hellman-Generator (2 oder 5)

  • Wählen Sie Erstellen aus. Abhängig von der ausgewählten Schlüsselgröße kann dies einige Zeit in Anspruch nehmen.

Hinweis: Navigieren Sie nicht an diesem Bildschirm vorbei, bis er abgeschlossen ist

Create_DH_Key_config

  • Navigieren Sie zu System > Profile > SSL-Profil

  • Wählen Sie das Profil SSL_Labs_Profile_Q4_2021 aus und wählen Sie Bearbeiten

  • Wählen Sie das Stiftsymbol

  • Scrollen Sie nach unten zum Kontrollkästchen Enable DH Param und wählen Sie es aus

  • Wählen Sie den gerade erstellten DH-Schlüssel

Enable_DH_Param_and_Key

  • Scrolle nach unten und wähle Okay

  • Binden Sie eine DHE-Verschlüsselungssammlung an die zuvor erstellte Verschlüsselungsgruppe

  • Navigieren Sie zu Traffic Management > SSL > Verschlüsselungsgruppen

  • Wählen Sie die Verschlüsselung TLS1.2-DHE-RSA-AES256-GCM-SHA384

bind_DHE_Cipher

  • Klicken Sie auf den Pfeil, um ihn der Verschlüsselungsgruppe hinzuzufügen

Select_DHE_Cipher_Added

DHE Ciper Suites in der CLI aktivieren

  • Erstellen und Binden eines DH-Schlüssels an das SSL-Profil (CLI)
create ssl dhparam DH_Key_Name_Here.key 2048 -gen 2

set ssl profile SSL_Labs_Profile_Q4_2021 -dh ENABLED -dhFile DH_Key_Name_Here.key
<!--NeedCopy-->
  • Binden Sie eine DHE-Verschlüsselungssammlung an die zuvor erstellte Verschlüsselungsgruppe
bind ssl cipher SSL_Labs_Cipher_Group_Q4_2021 -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384
<!--NeedCopy-->

Firmware-Hinweise

  • Citrix hat TLS1.2 als Standard in Firmware-Version 10.5 Build 57aktiviert

  • Die ROBOT-Verwundbarkeit wurde in den Builds 12.0 Build 53, 11.1 Build 56, 11.0 Build 71 und 10.5 Build 67 behoben - weitere Details sind hier verfügbar

  • Das HSTS-Flag (Strict Transport Security) wurde in 12.0 Build 35 verfügbar - vorherige Builds erforderten eine Rewrite-Richtlinie, um den HSTS-Header einzufügen. Sie können nicht beide als ADC verwenden, um 2 Header einzufügen, was nicht zulässig ist.

  • Unterstützung für TLS1.2 wurde den VPX-Appliances in 10.5 Build 57hinzugefügt. Es war in früheren Builds für Appliances mit dedizierter SSL-Hardware verfügbar

  • Unterstützung für TLS1.3 wurde in 12.1 Build 49.23 hinzugefügt - sie muss im vServer\ SSLProfile aktiviert sein, und TLS1.3-Verschlüsselungen (aufgeführt) müssen gebunden sein

  • ECC-Zertifikatsunterstützung wurde den VPX-Appliances in 12.0 Build 57hinzugefügt. Es war in früheren Builds für Appliances mit dedizierter SSL-Hardware verfügbar

  • Die Zombie POODLE-Schwachstelle wurde in Builds 12.1 Build 50.31, 12.0 Build 60.9, 11.1 Build 60.14, 11.0 Build 72.17 und 10.5 Build 69.5angesprochen. Diese Sicherheitsanfälligkeit betrifft nur MPX\ SDX-Appliances mit Nitrox SSL-Hardware. MPX\ SDX-Appliances mit Coleto Creek sind nicht anfällig. Durch die Deaktivierung von CBC-basierten Verschlüsselungssammlungen wird diese Sicherheitsanfälligkeit ebenfalls verringert. Siehe CTX-Artikel für weitere Informationen

  • Die Chiffre Liste wurde geändert, um CBC-Schwächen zu beheben, wodurch 0xc028 und 0x39 Chiffren entfernt werden

  • Citrix hat TLS1.3-Hardwarebeschleunigung in 13.0 Build 71hinzugefügt

Tech Paper: Bewährte Methoden für SSL-/TLS-Netzwerke