Worum es geht
Skype for Business – oder allgemeiner ein Windows Server – exponiert eine Reihe von (Web-) Schnittstellen, die mit teilweise längst veralteten Protokollen und Verschlüsselungsmethoden (Cipher Suites) ausgerüstet sind. Als Best Practice sind – soweit möglich – nur die Protokolle der letzten Generation aktiv zu belassen, um sich gegen POODLE Attacken und andere abzusichern.
Die Windows Server Defaults
Der Artikel https://support.microsoft.com/en-us/kb/245030 dokumentiert die grundlegenden Einstellungen für den TLS/SSL Security Provider (SCHANNEL): You can use the Windows registry to control the use of specific SSL 3.0 or TLS 1.0 cipher suites with respect to the cryptographic algorithms that are supported by the Base Cryptographic Provider or the Enhanced Cryptographic Provider. Windows Server 2008 supports the following protocols:
- SSL 2.0
- SSL 3.0
- TLS 1.0
Windows Server 2008 R2 and Windows 7 support the following protocols:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2
These protocols can be disabled for the server or client architecture. This means the protocol can be omitted or disabled as follows:
- The protocol can be omitted from the list of supported protocols that are included in the Client Hello when an SSL connection is started.
- The protocol can be disabled on the server so that the server will not respond by using that protocol even if a client requests SSL 2.0.
Noch weitergehende Details enthält https://technet.microsoft.com/en-us/library/dn786418.aspx (Updated: November 5, 2015).
Lync und Skype for Business
- SSL/TLS/MTLS: Skype for Business Server 2015: Encryption
Für die Webservices kann eine Konfiguration auf dem Reverse Proxy erfolgen; für die Edge Server, die in der Regel ihre Schnittstellen hinter einer Port-based Firewall anbieten (keine Proxy Funktion) ist in jedem Fall die Registry anzupassen. Die Protokolle SSL 2.0 und SSL 3.0 sollten gegen aussen komplett abgeschaltet werden. In der Regel kann man dies auch firmen-intern tun. Aufmerksamkeit sollte man auch den Cipher Suites schenken. Bei denen kann man bedenkenlos auf jeden Fall RC4 entfernen.
Eine standard Einstellung auf dem Edge Server ist wie folgt:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL] "EventLogging"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\CipherSuites] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms] HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] "Enabled"=dword:00000000
Optional kann explizit noch TLS1.2 aktiviert werden, default ist TLS 1.0 und 1.1 aktiv (analoge Einstellugen gibt es für TLS 1.1 und 1.0).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server "Enabled"=dword:0xfffffffff (4294967295) "DisabledByDefault"=dword:00000000
Für die Bedeutung der Keys kommt der eingangs erwähnte KB Artikel zu Hilfe:
- Using the Enabled = 0x0 registry setting disables the protocol. This setting cannot be overwritten…
- Using the DisabledByDefault registry setting only prevents that protocol from issuing the Hello command over that protocol when an SSL connection with a server is initiated. This setting can be overwritten …..
Deshalb ist die richtige Einstellung: To prevent a protocol from being used, use the Enabled = 0x0 setting.
Praxis
Nun: Die Erfahrungen aus der Praxis zeigen, dass 3DES nicht ohne weiteres entfernt werden kann, z.B. sind Polycom und Audiocodes IP Phones auf 3DES angewiesen, da diese Geräte erstaunlicherweise modernere Schlüsselverfahren wie AES noch gar nicht implementiert haben. Der Hersteller ist informiert.
Testen kann man die Konfiguration mit dem Web Service von Digicert http://www.digicert.com/help (URL eingeben und Check for common vulnerabilities anwählen).
Sehr nützlich ist auch das Schweizer Taschenmesser IIS Crypto von Nartac, denn
… is a free tool that gives administrators the ability to enable or disable protocols, ciphers, hashes and key exchange algorithms on Windows Server 2008, 2012 and 2016. It also lets you reorder SSL/TLS cipher suites offered by IIS, implement best practices with a single click, create custom templates and test your website.