Frage Wie deaktiviere ich TLS 1.0 ohne RDP zu brechen?


Unser Kreditkartenverarbeiter hat uns kürzlich mitgeteilt, dass wir ab 30. Juni 2016 müssen Deaktivieren Sie TLS 1.0, um PCI-kompatibel zu bleiben. Ich versuchte, proaktiv zu sein, indem ich TLS 1.0 auf unserem Windows Server 2008 R2-Rechner deaktivierte, nur um festzustellen, dass ich unmittelbar nach dem Neustart keine Verbindung zu ihm über Remote Desktop Protocol (RDP) herstellen konnte. Nach einigen Recherchen scheint RDP nur TLS 1.0 zu unterstützen (vgl Hier oder Hier) oder zumindest ist es nicht klar, wie man RDP über TLS 1.1 oder TLS 1.2 aktiviert. Kennt jemand eine Möglichkeit, TLS 1.0 unter Windows Server 2008 R2 zu deaktivieren, ohne RDP zu unterbrechen? Plant Microsoft Unterstützung für RDP über TLS 1.1 oder TLS 1.2?

Hinweis: Es scheint einen Weg zu geben, dies zu tun Konfigurieren des Servers für die Verwendung der RDP-Sicherheitsschicht aber das deaktiviert die Authentifizierung auf Netzwerkebene, die wie ein Böses für einen anderen zu handeln scheint.

AKTUALISIEREN 1: Microsoft hat dieses Problem jetzt behoben. Siehe die antworte unten für das relevante Server-Update.

UPDATE 2: Microsoft hat ein Tutorial zum Thema veröffentlicht SQL Server-Unterstützung für PCI DSS 3.1.


47
2018-05-11 20:15


Ursprung


Ich entschuldige mich bei allen - die Anweisungen, die ich gepostet habe, sind nur für Win8 / Server2012 / 2012R2 gültig ... sie funktionieren nicht bei 2008R2 / Win7. Ich habe 2008R2 getestet und es ist nicht dasselbe. Es tut mir Leid. - Ryan Ries
Beachten Sie, dass das Entfernen von TLS 1.0 RDP zwingt, auf 2012 auf die RDP-Sicherheitsebene herabzustufen. - Jim B
Ich habe das Gleiche gemacht und kann nicht auf meinen Server (AWS) zugreifen, wenn Sie einen Weg gefunden haben, ohne physischen Zugang hineinzukommen? - Thomas Paine
Laut diesem Supportartikel hat Microsoft kürzlich SQL 2012 und 2014 mit TLS 1.1 und 1.2 gepatcht support.microsoft.com/en-us/kb/3052404 - CarlR
@CarlR dieser Artikel scheint nicht zu erwähnen, RDP'ing an den Server. Tatsächlich scheint es spezifisch für die Datenbankkonnektivität selbst zu sein, wie es erwähnt: "Dieses Update fügt die Unterstützung für das Transport Layer Security (TLS) Protokoll Version 1.2 hinzu SQL Server 2014 und an Microsoft ODBC-Treiber für SQL Server. " - k1DBLITZ


Antworten:


Microsoft hat den Patch für dieses Problem am 15. September 2015 veröffentlicht

Sehen https://support.microsoft.com/en-us/kb/3080079


19
2017-09-15 21:12



Danke sehr hilfreich. Nach der Installation dieser Updates zeigt der Bildschirm tsconfig.msc keine Anzeichen von TLS 1.1 oder TLS 1.2. Kann jemand bestätigen, dass Sie mit RDP über TLS 1.2 eine Verbindung zum Server herstellen? Ich weiß, dass wir das frühe TLS-Protokoll auf dem Server deaktivieren können. Aber wenn es nicht funktioniert, können Sie RDP nicht remote mit dem Server verbinden. - Nirlep
Es ist möglich, dass, wenn Sie die Option "Verhandeln" auswählen, die Kommunikation mit der höchsten möglichen Ebene erfolgt, die TLS 1.2 sein könnte - Nirlep
Sie können die Schannel-Protokollierung aktivieren, um zu sehen, welche Version verwendet wird. Der Link dafür ist in meiner Antwort gezeigt. - CarlR
Ich weiß, dass es ein alter Thread ist, aber ... Ich habe einen älteren Windows Server 2008 R2, den ich zum Schnupftabak mache. Ich habe KB3080079 installiert und werde jetzt TLS 1.0 deaktivieren. Aber ich bin mir nicht sicher, ob die Einstellung des RDP-Servers auf "Negotiate" oder "TLS" eingestellt sein sollte. - Chris Harrington


Ich habe das schon seit ein paar Tagen untersucht, da wir PCI-DSS 3.1 einhalten müssen, das TLS 1.0 deaktiviert.

Wir wollen auch nicht auf RDP Security Layer zurückgreifen, was ein großes Sicherheitsrisiko darstellt.

Ich habe endlich eine Dokumentation gefunden, die bestätigt, dass TLS 1.1 und TLS 1.2 von RDP unterstützt werden. Diese Dokumentation ist in einem versteckt SChannel Protokollierung und ein sehr detaillierte Spezifikation für RDP.

Es gibt einen kompletten Mangel an Hauptstream-Dokumentation auf Technet oder anderen Microsoft-Seiten, es scheint also hoffentlich, dies hier zu dokumentieren, kann einigen Leuten helfen.

Relevante Auszüge aus den angegebenen Links:

Von der MSDN-Verknüpfung:

"RDP supports four External Security Protocols: TLS 1.0 ([RFC2246]) TLS 1.1 ([RFC4346])<39>, TLS 1.2 ([RFC5246])<40>"

Aus der RDP-Spezifikation PDF:

"When Enhanced RDP Security is used, RDP traffic is no longer protected by using the techniques
described in section 5.3. Instead, all security operations (such as encryption and decryption, data
integrity checks, and Server Authentication) are implemented by one of the following External
Security Protocols:
TLS 1.0 (see [RFC2246])
TLS 1.1 (see [RFC4346])
TLS 1.2 (see [RFC5246])
CredSSP (see [MS-CSSP])"

"<39> Section 5.4.5: TLS 1.1 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista and Windows Server 2008.
<40> Section 5.4.5:  TLS 1.2 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista, and Windows Server 2008"

Daher würde man folgern, dass Sie TLS 1.1 oder 1.2 auf Windows Server 2008 R2 gemäß dieser Dokumentation verwenden können.

Unsere Tests haben jedoch gezeigt, dass dies NICHT vom Windows 7 RDP-Client (Version 6.3.9600) funktioniert, wenn TLS 1.0 deaktiviert ist und die RDP-Sicherheitsoption TLS 1.0 erfordert.

Dies ist natürlich ebenso möglich wie das Aktivieren von TLS 1.1 und 1.2, die standardmäßig auf 2008R2 deaktiviert sind - übrigens machen wir dies mit dem sehr Nützlichen IIS Crypto Tool von Nartac Software.

Wenn Sie sich dieses Problem ansehen, ist es nützlich, die SChannel-Protokollierung zu aktivieren, um mehr Details zu sehen, was beim Öffnen Ihrer Sitzung geschieht.

Sie können einstellen SChannel Protokollierung indem Sie den Schlüssel HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging auf 5 setzen und neu starten.

Sobald dies geschehen ist, können Sie SChannel-Ereignisse beobachten, die anzeigen, dass die TLS-Version verwendet wird, wenn eine RDP-Verbindung hergestellt wird. Sobald die Protokollierung aktiviert ist, können Sie den SChannel-Fehler beobachten, wenn der RDP-Client versucht, eine Verbindung unter Windows 2008 R2 mit deaktiviertem TLS 1.0 herzustellen:

A fatal error occurred while creating an SSL server credential. The internal error state is 10013.

Ich habe auch die Deaktivierung von TLS 1.0 unter Windows Server 2012 und 2012 R2 getestet, was ich mit dem Windows 7 RDP-Client einwandfrei bestätigen kann. SChannel-Protokolleintrag zeigt, dass TLS 1.2 verwendet wird:

An SSL server handshake completed successfully. The negotiated cryptographic parameters are as follows.

   Protocol: TLS 1.2
   CipherSuite: 0xC028
   Exchange strength: 256

Ich hoffe, das hilft jemandem, der nach einer Klärung sucht.

Ich werde weiterhin darauf achten, wie RDP in Windows Server 2008 R2 über TLS 1.1 und TLS 1.2 funktioniert.

UPDATE: 2015-AUG-05

Wir haben das Problem angesprochen, dass RDP nicht mit Server 2008 R2 mit Unterstützung von Microsoft funktioniert, einschließlich der zu reproduzierenden Schritte.

Nach einigen Wochen des Rückwärts- und Vorwärtslaufs erhielten wir heute einen Anruf vom Support-Team, um zu bestätigen, dass sie es tatsächlich reproduzieren konnten und dies wird nun als Fehler kategorisiert. Ein Update-Patch wird veröffentlicht, in dem Moment, in dem dies im Oktober 2015 erwartet wird. Sobald ich einen KB-Artikel oder andere Details habe, werde ich sie zu diesem Post hinzufügen.

Hoffentlich können diejenigen, die mit Windows Server 2008 R2 festgefahren sind, diese Probleme zumindest vor dem Termin des Juni 2016 lösen, sobald der Patch veröffentlicht wurde.

UPDATE: 19. September 2015

Microsoft hat endlich einen kb-Support-Artikel dazu veröffentlicht Hier und ich kann bestätigen, dass es OK funktioniert.


15
2018-06-16 12:59



Ihr letztes Update besagt "Ich habe Windows 7 und Windows 2012 R2 versucht und es funktioniert nicht; es verbindet sich immer noch mit TLS1." Konnten Sie das jemals zur Arbeit bringen? - Doug S
Jemand anders hat diesen Kommentar eingefügt, ich habe ihn gerade entfernt, da er jetzt für uns über TLS1.2 funktioniert. - CarlR
Hmmm. Ich habe es nie geschafft, es zu arbeiten, selbst mit diesen Änderungen / Updates und allem anderen, was ich finden konnte. - Doug S
SChannel-Protokoll kann im Systemprotokoll gefunden werden. - Ivan Chau


Verwenden Sie stattdessen IPsec, wie im Dokument empfohlen: "Zuerst eine stark verschlüsselte Sitzung einrichten (z. B. IPsec-Tunnel) und dann Daten über SSL im sicheren Tunnel senden"

Der Hauptgrund dafür, dass TLS für RDP konfiguriert wird, besteht darin, dass die Firewall-Richtlinie problemlos auf Einhaltung der Richtlinien überprüft werden kann (im Vergleich zu einer Reihe von Registrierungsänderungen) und IPsec in Windows recht einfach zu konfigurieren ist.

Wenn Sie die vollständige Kompatibilität mit Suite B benötigen, ist IPSEC mit tls 1.0 die einzige Möglichkeit, die entsprechenden Zertifikatslängen anzuwenden


8
2018-05-11 21:41



Tunneling über SSH ist auch eine Option, die ich erwähnen werde. (Benötigt natürlich SSH-Server-Software für Windows.) - Chris W. Rea
IPsec ist kein SSH - Jim B
Richtig, und ich wollte nicht implizieren, dass sie gleich sind. Stattdessen ist SSH eine alternative Methode zum Einrichten eines sicheren Tunnels zu einem Server. - Chris W. Rea
@ JimB Es tut mir leid, du hattest Recht. - Ryan Ries
@RyanRies Np, ich kratze immer noch am Kopf, wie 12 andere es abstimmen würden, ohne zu wissen, dass es funktioniert hat. - Jim B


Dies ist keine Antwort auf die Frage, sondern auf die Unterfrage "Wie stelle ich den Remote-Zugriff auf eine virtuelle Maschine wieder her, auf der ich TLS 1.0 deaktiviert habe und ohne physischen Zugriff?".

Ich habe TLS 1.0 mit IISCrypto deaktiviert, was eine nützliche Warnung über den Nebeneffekt gab, dass RDP nicht mehr funktioniert, wenn es auf TLS gesetzt ist. Also habe ich eingecheckt:

Admin Tools\Remote Desktop Services\Remote Desktop Session Host Configuration, RDP-Tcp, General Tab, Security Layer

und meine Sicherheitsstufe wurde auf "Verhandeln" eingestellt. Ich nahm an, dass dies bedeutet, wenn TLS nicht verfügbar ist, würde es auf RDP-Sicherheit würde degradieren.

Aber nein, Negotiate funktioniert nicht so. Bevor Sie TLS 1.0 deaktivieren, müssen Sie die Sicherheitsstufe auf RDP-Sicherheit einstellen, nicht auf Negociate.

So habe ich meine Remote-Verbindung zu meiner AWS-Instanz verloren!

Um die Verbindung wiederherzustellen, habe ich eine andere AWS-Instanz verwendet.

  1. Ich habe die SecurityGroup aktualisiert, um eine Firewall-Verbindung von diesem Computer zu meinem "verlorenen" Computer zuzulassen.
  2. Ich habe eine administrative Netzwerkfreigabe in DOS mit einem Admin-Benutzer und einem Passwort geöffnet:

net use \\lost_machine_ip\c$

  1. Dann habe ich Regedit geöffnet, und im Menü Datei, wählen Sie "Connect Network Registry" und geben Sie die IP des "verlorenen" Servers ein. Sie sollten die Remote-Server-Registrierung sehen. Gehe zu :

\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\

und setze den Wert für SecurityLayer bis 0 (0 ist RDP-Sicherheit).

Sie können dann TLS 1.0 in IISCrypto remote verbinden und bei Bedarf erneut aktivieren.


8
2018-06-11 08:38



Danke, das hat mir viel Arbeit erspart, einen Server neu zu erstellen. Ich bin mir nicht sicher, wie Sie Ihre Sicherheitsgruppe geändert haben, um die Verbindung zwischen den Computern zuzulassen --- Ich habe den gesamten Zugriff auf die "verlorene" Maschine auf die IP-Adresse der zweiten Maschine geöffnet, und das hat funktioniert. Gibt es einen besseren Weg? - Gullbyrd
@Gullbyrd entweder, oder setzen Sie ALL TCP auf die Sicherheitsgruppe, zu der beide Maschinen gehören. Tut das Gleiche. - Dave Beer


Sie müssen RDP 8.0 auf Ihren Windows 7-Computern und Windows Server 2008 R2-Servern installieren und dann RDP 8.0 in der lokalen Computerrichtlinie oder Gruppenrichtlinie aktivieren.

Hier ist die Microsoft KB für das RDP 8.0. https://support.microsoft.com/en-us/kb/2592687

Sobald dies erledigt ist, sollten Sie in der Lage sein, TLS 1.0 auf den Computern und Servern zu deaktivieren, indem Sie die Registrierung wie in diesem Technet-Artikel beschrieben bearbeiten. https://technet.microsoft.com/en-us/library/dn786418.aspx

Nach der Installation von RDP 8.0 können Sie auch RDP 8.1 installieren, aber RDP 8.0 muss vor der Installation von RDP 8.1 installiert werden. RDP 8.0 enthält sowohl die Client- als auch die serverseitigen Protokollkomponenten, RDP 8.1 enthält jedoch nur den Client. Die Microsoft KB für RDP 8.1 ist KB2830477.

Ich habe diese Änderungen auf einer meiner Windows 7-Arbeitsstationen vorgenommen und die RDP-Verbindungen mit der Einstellung "Für die Verwendung bestimmter Sicherheitsschichten für Remotedienste (RDP) Verbindungen aktivieren" aktiviert und auf "SSL (TLS 1.0)" gesetzt würde nicht auf RDP-Verschlüsselung zurückgreifen.

UPDATE 6/19/2015:

Endlich habe ich die Chance, dies auf einem unserer Windows Server 2008 R2-Server zu testen, und es bricht definitiv RDP-Verbindungen mit dem Server. Es scheint, dass die serverseitigen RDP 8.0-Komponenten nur auf Windows 7-Computern installiert sind und nicht auf Windows Server 2008 R2-Servern installiert werden.


3
2018-06-16 19:46



Der Artikel der Support-Knowledgebase, auf den verwiesen wird, funktioniert momentan nicht (Weiterleitungsschleife), Sie können jedoch die Google-Cache-Version verwenden, um den Inhalt anzuzeigen. Interessant, dass TLS 1.1 oder 1.2 Support in diesem Artikel immer noch nicht erwähnt wird und ich denke, dass dies der Hauptgrund dafür ist, dass sich jemand diese Frage anschaut! Es gibt auch eine große Anzahl von Vorbehalten, einschließlich lokaler Administratoren, die sich nicht mehr anmelden können, es sei denn, sie werden der Remote Destop-Benutzergruppe hinzugefügt. Pass auf, wenn du es versuchst. - CarlR
Haben Sie den UDP-Port 3389 auf dem Server geöffnet, als Sie versuchten, eine Verbindung zum Server 2008 herzustellen? - Elvar
Ich ging so weit, die Windows-Firewall vorübergehend auf dem Server 2008 R2-Server vollständig zu deaktivieren, aber ich konnte immer noch keine Verbindung mit RDP herstellen, wenn TLS 1.0 auf dem Server deaktiviert war. - Kenny R


Wie gepostet am So deaktivieren Sie TLS 1.0, ohne RemoteApps auf dem Server 2012 R2 zu unterbrechen aber hier für diejenigen, die diesen Link möglicherweise nicht überwachen:

Nach fast einem Jahr habe ich schließlich eine funktionierende Lösung zum Deaktivieren von TLS 1.0 / 1.1 gefunden, ohne die Verbindung zwischen RDP und Remotedesktopdiensten zu unterbrechen und RemoteApps zu starten:

Führen Sie IISCrypto aus, und deaktivieren Sie TLS 1.0, TLS 1.1 und alle ungültigen Chiffren.

Öffnen Sie auf dem Remotedesktopdienste-Server, auf dem die Gateway-Rolle ausgeführt wird, die lokale Sicherheitsrichtlinie, und navigieren Sie zu Sicherheitsoptionen - Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung. Ändern Sie die Sicherheitseinstellung in Aktiviert. Starten Sie neu, damit die Änderungen wirksam werden.

Beachten Sie, dass in einigen Fällen (insbesondere bei Verwendung selbstsignierter Zertifikate auf Server 2012 R2) die Sicherheitsrichtlinienoption Netzwerksicherheit: LAN Manager-Authentifizierungsebene möglicherweise auf Nur NTLMv2-Antworten senden festgelegt sein muss.


3
2018-02-24 09:35





Nur ein Update, wenn jemand anderes nach Informationen darüber sucht. Für meine Windows 7 64-Bit-Boxen musste ich KB2574819 (erste) und KB2592687 (zweite) installieren Windows 7 muss SP1 installiert haben, bevor diese 2 Pakete installiert werden. Wenn Sie Probleme bei der Installation von SP1 haben, musste ich zunächst KB958830 deinstallieren und anschließend SP1 installieren.

Für meine Windows Server 2008 R2-Boxen musste ich KB3080079 installieren. Sobald Sie dies getan haben und alle geeigneten Einstellungen für die sichere Kommunikation vorgenommen haben, wird TLS 1.2 verwendet Sie können dies bestätigen, indem Sie Wireshark verwenden, um die Kommunikation zwischen Ihren beiden Boxen zu erfassen.


2
2017-11-02 14:29





Ich habe erfolgreich rdesktop (http://www.rdesktop.org) für Linux, um dieses Problem zu umgehen.


0
2017-09-16 09:44





Ein Fall, der von den vorhandenen Antworten nicht abgedeckt wird: Windows 7-Clients, die sich über ein RDP-Gateway verbinden, verwenden weiterhin TLS 1.0 beim Herstellen einer Verbindung mit dem Gateway und schlagen fehl, wenn das Gateway TLS 1.0 nicht unterstützt KB3080079, wie in diesem TechNet-Forum-Thread beobachtet.

Stellen Sie sicher, dass TLS 1.2 für die Verbindung über ein RDP-Gateway verwendet wird KB3140245 ist installiert und fügt die folgenden Registrierungsschlüssel hinzu (in einer Datei speichern mit .reg Erweiterung zum Import):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

Wie in. Dokumentiert KB3140245, dies wird überschrieben WINHTTP_OPTION_SECURE_PROTOCOLS TLS 1.2 (und nur TLS 1.2) standardmäßig zu verwenden. Beachten Sie, dass dies mehr als nur den RDP-Client betrifft.

(Hinweis: Wenn Abwärtskompatibilität erwünscht ist, dword:00000800 kann geändert werden in dword:00000A00 oder dword:00000A80 um TLS 1.1 und 1.0 einzuschließen)


0
2018-03-01 08:02