Tech Paper: Bewährte Methoden für SSL-/TLS-Netzwerke
Übersicht
Dieses Tech Paper soll vermitteln, was jemand, der sich mit ADC auskennt, als generische Implementierung konfigurieren würde, um beiQualys SSL Labsdie 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 erhalt一张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 darüber, wie SSL Labs Server bewertet, findenSie hier.
Umsetzungsbedenken
SSL-Profile
Dieser Artikel verwendet SSL-Profile. Bei der ersten Aktivierung werden bei SSL-Profilenallevirtuellen 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
Fuhren您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-Zertifikateund wählen SieInstallieren(Hinweis:Fruhere构建冯Citrix ADC有错die Option “CA Certificates” in der GUI)
- Verknüpfen Sie ein Zwischenprodukt, indem Sie das Zertifikat auswählen undLinkaus dem Aktionsmenü wählen
- Wenn das richtige Zwischenzertifikat installiert ist, wird es automatisch im Link-Menü eingetragen
- Erstellen einer benutzerdefinierten Verschlüsselungsgruppe, die Forward Secrecy (FS) bereitstellt
- Gehen Sie zuTraffic Management > SSL > Chiffre Groupsund wählen SieHinzufügen
- Nennen Sie die Verschlüsselungsgruppe “SSL_Labs_Cipher_Group_Q4_2021”
- Klicken Sie aufHinzufügenund erweitern Sie dann den AbschnittALL- 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 SpalteVerfügbarin die SpalteKonfiguriertzu verschieben
- Klicken Sie aufErstellen
- SSL-Profile aktivieren
Navigieren Sie zuTraffic Management > SSL > Erweiterte SSL-Einstellungen ändern, scrollen Sie nach unten und wählen SieStandardprofil aktivierenaus.
SSL Profiles legt fest, dassallevirtuellen 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.
- Erstellen Sie ein SSL-Profil
- Navigieren Sie zuSystem > Profile > SSL-Profilund wählen SieHinzufügen
— Benennen Sie das Profil “SSL_Labs_Profile_Q4_2021” — Scrollen Sie zuSSL-Neuverhandlung verweigernund wählen SieNONSECURE, um nur Clients, die RFC 5746 unterstützen, die Neuverhandlung zu erlauben — Scrollen Sie zuHSTS, kreuzen SieHSTSan und geben Sie einHöchstaltervon 157680000 Sekunden an - Scrollen Sie zuProtokollund wählen Sie nur TLSv12 und TLSv13
aus - Scrollen Sie zum Ende des Formulars und wählen SieOK- Scrollen Sie zuSSL-Chiffren, wählen Sie das Bleistiftsymbol zum Bearbeiten aus, klicken Sie dann aufAlle entfernen- Klicken Sie auf Hinzufügen undfügenSie die zuvor erstellte Verschlüsselungsgruppe hinzu
- Scrollen Sie zum Ende des Formulars und wählen SieFertig
- Navigieren Sie zuSystem > Profile > SSL-Profilund wählen SieHinzufügen
- Binden Sie das SSL-Profil an den virtuellen SSL-Server
- Wählen Sie auf dem ausgewählten virtuellen Server das Bleistiftsymbol aus, um das gebundeneSSL-Profilzu bearbeiten
- Wählen Sie das SSL-Profil, das wir erstellt haben, aus der Dropdownliste
- Klicken Sie auf OK
Grundlegende Schritte - CLI
Fuhren您die folgenden Schritte aus, um einen Highscore beim SSL Labs-Test sicherzustellen.
In den folgenden CLI-Beispielen wird der Name des virtuellen SSL-Servers alsex-vServeraufgefü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
- SSL-Profile aktivieren
set ssl parameter -defaultProfile ENABLED
- 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
- 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
- Binden Sie das SSL-Profil an den virtuellen SSL-Server
set ssl vserver "Ex-vServer" -sslProfile SSL_Labs_Profile_Q4_2021
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 zuTraffic Management > SSLund wählen SieCreate Diffie-Hellman (DH) key
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 SieErstellenaus. 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
Navigieren Sie zuSystem > Profile > SSL-Profil
Wählen Sie das ProfilSSL_Labs_Profile_Q4_2021aus und wählen SieBearbeiten
Wählen Sie das Stiftsymbol
Scrollen Sie nach unten zum KontrollkästchenEnable DH Paramund wählen Sie es aus
Wählen Sie den gerade erstellten DH-Schlüssel
Scrolle nach unten und wähleOkay
Binden Sie eine DHE-Verschlüsselungssammlung an die zuvor erstellte Verschlüsselungsgruppe
Navigieren Sie zuTraffic Management > SSL > Verschlüsselungsgruppen
Wählen Sie die Verschlüsselung TLS1.2-DHE-RSA-AES256-GCM-SHA384
- Klicken Sie auf den Pfeil, um ihn der Verschlüsselungsgruppe hinzuzufügen
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
- 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
Firmware-Hinweise
Citrix hat TLS1.2 als Standard in Firmware-Version10.5构建57aktiviert
Die ROBOT-Verwundbarkeit wurde in den Builds12.0 Build 53, 11.1 Build 56, 11.0 Build 71 und 10.5 Build 67behoben -weitere Details sind hier verfügbar
Das HSTS-Flag (Strict Transport Security) wurde in12.0 Build 35verfügbar - vorherige Builds erforderten eine Rewrite-Richtlinie, um den HSTS-Header einzufügen. Siekönnen nichtbeide als ADC verwenden, um 2 Header einzufügen, was nicht zulässig ist.
Unterstützung für TLS1.2 wurde den VPX-Appliances in10.5构建57hinzugefügt. Es war in früheren Builds für Appliances mit dedizierter SSL-Hardware verfügbar
Die Unterstützung für TLS1.3 wurde in12.1 Build 49.23hinzugefügt. Sie muss in den vServer-SSL-Parametern aktiviert oder zu einem erweiterten SSL-Profil hinzugefügt werden, und TLS1.3-Chiffren (aufgeführt) müssen gebunden sein.TLS1.3 wird auf älteren SSL-Profilen nicht unterstützt
ECC-Zertifikatsunterstützung wurde den VPX-Appliances in12.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 Builds12.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 in13.0 Build 71hinzugefügt