Armin Odorfer
2 Jul 2017 | Aktualisiert am: 16 Dez 2022
Expertenbeiträge | 4 Min. Lesezeit

In den letzten zwei Jahren gab es viele Bedrohungen im Bereich SSL/TLS-Verschlüsselungen, jedoch auch neue Standards und Sicherheitsgrundsätze. Im Gegensatz zu Linux wird unter Windows anstatt der OpenSSL-Bibliothek für die SSL/TLS-Verschlüsselung die Secure Channel Bibliothek Schannel eingesetzt. Dadurch blieb man zwar von dem sogenannten Heartbleed-Bug verschont, allerdings wurden etwas später weitere Bugs (u. a. Poodle) im veralteten Verschlüsselungsstandard SSL (dem Vorgänger des aktuellen TLS-Standards) gefunden, die Administratoren von Windows Server-Systemen beachten sollten.

Die Standardeinstellung von Schannel in den Windows-Server-Versionen 2008 R2 bis 2012 R2 ist leider nicht optimal und mittlerweile technisch überholt. So ist beispielsweise unter Server 2008 R2 im Standard noch SSL 2.0/3.0 aus den Jahren 1995/96 aktiv. Beide Verschlüsselungsstandards gelten inzwischen als Sicherheitsrisiko und sollten baldmöglichst durch TLS 1.0 – 1.2 ersetzt werden. Das gleiche gilt auch für die Stromverschlüsselung RC4 (BEAST).

Der aktuelle Status über SSL/TLS veröffentlichter HTTPS-Websites kann über den SSLTest der IT-Sicherheitsfirma Qualys überprüft werden. Wenn der Test Ergebnisse wie die folgenden auswirft, sollte die Schannel-Bibliothek wie anschließend beschrieben konfiguriert werden, um ein A-Rating zu erhalten.

Das Ergebnis für den Windows Server 2008 R2 ohne Updates mit den Standardeinstellungen sieht wie folgt aus:

test-result-for-the-Windows-server-2008-R2

Unter der derzeit aktuellen Version 2012 R2 sieht es schon besser aus:

the-current-version-2012-R2

Selbst mit Server 2008 R2 lässt sich ein A-Rating erreichen, wenn man die nachfolgende Anleitung befolgt. Die Konfiguration von Schannel läuft dabei ausschließlich über die Registrierungsschlüssel unterhalb von HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL und SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL in der Windows-Registry. Änderungen sind immer erst nach einem Neustart aktiv.

  1. Installation aller verfügbarer Windows-Sicherheits-Patches
  2. Backup Registry Key SCHANNEL (Speicherort für Schannel-Konfiguration)

    backup-registry-key-SCHANNEL

  3. Backup Registry Key SSL (Speicherort für die Anordnung der Cipher-Suites)
  4. Die genaue Dokumentation der Registry-Einstellungen für Schannel sind im Microsoft KB-Artikel KB187498 und im Technet-Blog zu finden. Alternativ können die Einstellungen wie folgt auch über das Tool IIS Crypto erfolgen:

    manage-settings

    Anschließend muss noch die bevorzugte Anordnung der Cipher Suites angepasst werden, damit das Sicherheitsfeature Perfect Forward Secrecy aktiv ist.

  5. Die Anordnung kann per passender Gruppenrichtlinie unter Computer Configuration > Administrative Templates > Network > SSL Configuration Settings > SSL Cipher Suite Order erfolgen:

    administrative-templates

    Alternativ kann hierfür auch wieder das Tool IIS Crypto verwendet werden.Derzeit empfiehlt sich hierfür folgende Anordnung:
    ‚TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384‘,

    ‚TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256‘,

    ‚TLS_RSA_WITH_AES_256_GCM_SHA384‘,

    ‚TLS_RSA_WITH_AES_128_GCM_SHA256‘,

    ‚TLS_RSA_WITH_AES_256_CBC_SHA256‘,

    ‚TLS_RSA_WITH_AES_256_CBC_SHA‘,

    ‚TLS_RSA_WITH_AES_128_CBC_SHA256‘,

    ‚TLS_RSA_WITH_AES_128_CBC_SHA‘

    “TLS_RSA_WITH_AES_256_GCM_SHA384” und “TLS_RSA_WITH_AES_128_GCM_SHA256”

    sollten nur unter Server 2012 R2 und höher aktiv sein, da das entsprechende Update KB2992611 für die älteren Serverversionen Fehler enthält, die zum Verbindungsabbruch führen können (siehe KB-Artikel).

    Windows Server 2016 bringt neue Cipher Suites auf Basis von GCM mit. Des Weiteren ist die Schlüssellänge für die DH-Cipher auf 2048 Bit (Logjam-Lücke) gestiegen. Daher können bei Server 2016 zusätzlich zur vorherigen Anordnung folgende Cipher ganz nach vorne gestellt werden:

    ‚TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P521‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P384‘,

    ‚TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P256‘,

    ‚TLS_DHE_RSA_WITH_AES_256_GCM_SHA384‘,

    ‚TLS_DHE_RSA_WITH_AES_128_GCM_SHA256‘,

    Zu beachten ist, dass die Cipher TLS_ECDHE_ECDSA_* nur bei ECC-Zertifikaten (Eliptic Curve Cryptography) und nicht bei normalen Zertifikaten auf Basis eines RSA-Private-Keys aktiv sind.

    Google Chrome zeigt derzeit bei allen Cipher Suites, die nicht auf GCM und Perfect Forward Secrecy basieren, den Hinweis „obsolete cipher suite“ in den Verbindungseigenschaften an:

    warning-with-Schannel

    Diese Warnung lässt sich derzeit unter Schannel nur mit einem ECC-Zertifikat (dann wird der ECDSA Cipher mit GCM verwendet) oder dem zukünftigen Einsatz von Windows Server 2016 verhindern.

  6. Die geänderte Konfiguration ist erst nach einem Serverneustart aktiv und sollte ein A-Rating im SSL-Test zufolge haben:

    active-after-server-restart-min

Answering