Vraag Hoe schakel ik TLS 1.0 uit zonder RDP te onderbreken?


Onze creditcardverwerker heeft ons onlangs laten weten dat we dit vanaf 30 juni 2016 moeten doen schakel TLS 1.0 uit om PCI-compatibel te blijven. Ik probeerde proactief te zijn door TLS 1.0 uit te schakelen op onze Windows Server 2008 R2-machine, alleen om erachter te komen dat ik direct na het opnieuw opstarten geen verbinding kon maken via Remote Desktop Protocol (RDP). Na enig onderzoek lijkt het erop dat RDP alleen TLS 1.0 ondersteunt (zie hier of hier), of het is tenminste niet duidelijk hoe RDP over TLS 1.1 of TLS 1.2 moet worden ingeschakeld. Kent iemand een manier om TLS 1.0 op Windows Server 2008 R2 uit te schakelen zonder RDP te onderbreken? Biedt Microsoft ondersteuning voor RDP via TLS 1.1 of TLS 1.2?

Opmerking: er lijkt een manier te zijn om dit te doen configureren van de server om de RDP-beveiligingslaag te gebruiken maar dat schakelt netwerkniveauverificatie uit, dat lijkt op het ene kwaad ruilen voor het andere.

UPDATE 1: Microsoft heeft dit probleem nu aangepakt. Zie de antwoord hieronder voor de relevante serverupdate.

UPDATE 2: Microsoft heeft een tutorial uitgebracht over SQL Server-ondersteuning voor PCI DSS 3.1.


47
2018-05-11 20:15


oorsprong


Mijn excuses aan iedereen - de instructies die ik heb gepost zijn alleen geldig voor Win8 / Server2012 / 2012R2 ... ze werken niet op 2008R2 / Win7. Ik heb 2008R2 getest en het is niet hetzelfde. Mijn excuses. - Ryan Ries
En merk op dat in 2012 als opsomming, het verwijderen van TLS 1.0 RDP dwingt om te downgraden naar de RDP-beveiligingslaag. - Jim B
Ik deed hetzelfde en kan niet in mijn server (AWS) komen, was je in staat om een ​​manier te vinden om binnen te komen zonder fysieke toegang? - Thomas Paine
Volgens dit ondersteuningsartikel heeft Microsoft recentelijk SQL 2012 en 2014 gepatcht om te werken met TLS 1.1 en 1.2 support.microsoft.com/en-us/kb/3052404 - CarlR
@CarlR in dit artikel lijkt RDP'ing niet specifiek te worden vermeld op de server. In feite lijkt het specifiek te zijn voor databaseconnectiviteit zelf, aangezien het vermeldt: "Deze update voegt de ondersteuning voor Transport Layer Security (TLS) protocol versie 1.2 toe aan SQL Server 2014 en naar Microsoft ODBC-stuurprogramma voor SQL Server. " - k1DBLITZ


antwoorden:


Microsoft heeft de patch voor dit probleem vrijgegeven 15 september 2015

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


19
2017-09-15 21:12



Heel erg bedankt bedankt. Na installatie van deze updates vertoont het scherm van tsconfig.msc geen tekenen van TLS 1.1 of TLS 1.2. Heeft iemand kunnen bevestigen dat u verbinding maakt met de server via RDP via TLS 1.2? Ik weet dat we kunnen verifiëren door het vroege TLS-protocol op de server uit te schakelen. Maar als het niet werkt, dan kun je helemaal geen RDP op afstand gebruiken op de server. - Nirlep
Het is mogelijk dat wanneer u de optie "Negotiate" selecteert, deze het hoogste niveau communiceert dat mogelijk TLS 1.2 is - Nirlep
U kunt Schannel-logboekregistratie inschakelen om te zien welke versie wordt gebruikt. De link voor hoe dit te doen wordt getoond in mijn antwoord. - CarlR
Ik weet dat het een oude thread is, maar ... Ik heb een oudere Windows Server 2008 R2 die ik breng om te snuiven. Ik heb KB3080079 geïnstalleerd en schakel TLS 1.0 nu uit. Maar ik weet niet zeker of de RDP-serverinstelling moet worden ingesteld op "Onderhandelen" of op "TLS". - Chris Harrington


Ik heb dit nu een aantal dagen onderzocht, omdat we moeten voldoen aan PCI-DSS 3.1 waarvoor TLS 1.0 moet worden uitgeschakeld.

We willen ook niet terugvallen op RDP Security Layer, wat een groot veiligheidsprobleem is.

Ik ben er eindelijk in geslaagd om wat documentatie te vinden die bevestigt dat TLS 1.1 en TLS 1.2 WORDEN ondersteund door RDP. Deze documentatie is weggestopt in een SChannel-logging en een zeer gedetailleerde specificatie voor RDP.

Er is een compleet gebrek aan hoofdstroomdocumentatie op Technet of andere Microsoft-sites, het lijkt erop dat hopelijk het documenteren hiervan hier enkele mensen kan helpen.

Relevante fragmenten uit de aangeboden links:

Van de MSDN-link:

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

Uit de RDP-specificatie-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"

Daarom zou je kunnen concluderen dat je TLS 1.1 of 1.2 op Windows Server 2008 R2 volgens deze documentatie kunt gebruiken.

Onze testen hebben echter aangetoond dat dit NIET werkt vanaf de Windows 7 RDP-client (versie 6.3.9600) wanneer TLS 1.0 is uitgeschakeld en de optie RDP-beveiliging is ingesteld op TLS 1.0.

Dit is natuurlijk net zo goed als het inschakelen van TLS 1.1 en 1.2 die standaard uitgeschakeld zijn op 2008R2 - overigens doen we dit met behulp van het zeer nuttige IIS Crypto Tool van Nartac Software.

Wanneer u dit probleem bekijkt, is het handig om SChannel-logboekregistratie in te schakelen om meer informatie te bekijken over wat er gebeurt wanneer uw sessie wordt geopend.

U kunt instellen SChannel-logging door de HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging-toets naar 5 te veranderen en opnieuw op te starten.

Zodra dit is gebeurd, kunt u SChannel-gebeurtenissen observeren die laten zien welke TLS-versie wordt gebruikt wanneer een RDP-verbinding tot stand wordt gebracht. Nadat logboekregistratie is ingeschakeld, kunt u de SChannel-fout observeren wanneer de RDP-client probeert een verbinding tot stand te brengen op Windows 2008 R2 met TLS 1.0 uitgeschakeld:

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

Ik heb ook getest of het uitschakelen van TLS 1.0 op Windows Server 2012 en 2012 R2, die ik kan bevestigen, perfect werkt met de Windows 7 RDP Client. SChannel log entry toont TLS 1.2 gebruikt:

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

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

Ik hoop dat dit iemand helpt die op zoek is naar opheldering hierover.

Ik zal blijven zoeken naar manieren om RDP via TLS 1.1 en TLS 1.2 in Windows Server 2008 R2 te laten werken.

UPDATE: 2015-AUG-05

We hebben het probleem van RDP aan de orde gesteld dat het niet werkte met Server 2008 R2 met Microsoft-ondersteuning, inclusief stappen om te reproduceren.

Na enkele weken heen en weer hebben we eindelijk een telefoontje ontvangen van het ondersteuningsteam om te bevestigen dat ze het inderdaad konden reproduceren en dit is nu gecategoriseerd als een bug. Er zal een update-patch worden uitgebracht, op het moment dat dit in oktober 2015 wordt verwacht. Zodra ik een KB-artikel of andere details heb, voeg ik ze toe aan dit bericht.

Hopelijk kunnen degenen die vastzitten met Windows Server 2008 R2 dit probleem op zijn minst vóór de deadline van juni 2016 oplossen zodra de patch is uitgebracht.

UPDATE: 19 september 2015

Microsoft heeft eindelijk een kb-ondersteuningsartikel hierover vrijgegeven hier en ik kan bevestigen dat het OK werkt.


15
2018-06-16 12:59



Uw laatste update zegt: "Ik heb Windows 7 en Windows 2012 R2 geprobeerd en het werkt niet, het maakt nog steeds verbinding via TLS1." Was je ooit in staat om dit te laten werken? - Doug S
Iemand anders heeft die opmerking toegevoegd, ik heb het zojuist verwijderd omdat het nu goed werkt voor ons nu via TLS1.2. - CarlR
Hmmm. Ik kon het nooit aan het werk krijgen, zelfs met deze veranderingen / updates en al het andere dat ik kon vinden. - Doug S
SChannel-logboek is te vinden in het systeemlogboek. - Ivan Chau


Gebruik in plaats hiervan IPsec, zoals het document aanbeveelt: "Eerst een sterk gecodeerde sessie instellen (bijvoorbeeld een IPsec-tunnel) en vervolgens gegevens verzenden via SSL binnen de beveiligde tunnel"

De belangrijkste reden om dit te doen via het configureren van TLS voor RDP is dat het firewallbeleid gemakkelijk kan worden gecontroleerd op naleving (versus bewijzen dat een groot aantal registerwijzigingen compliant zijn) en IPsec is vrij eenvoudig te configureren in Windows.

Als u volledige suite B-compliance nodig hebt, is IPSEC met tls 1.0 de enige manier om de juiste certificaatlengten toe te passen


8
2018-05-11 21:41



Tunneling over SSH is ook een optie die ik zal noemen. (Vereist SSH-server-software voor Windows, natuurlijk.) - Chris W. Rea
IPsec is geen SSH - Jim B
Juist, en ik wilde niet zeggen dat ze hetzelfde zijn. Integendeel, SSH is een alternatieve methode om een ​​beveiligde tunnel naar een server te maken. - Chris W. Rea
@JimB Het spijt me, je had gelijk. - Ryan Ries
@RyanRies Np, ik ben nog steeds aan het krabben hoe 12 anderen het zouden stemmen zonder te weten dat het werkte. - Jim B


Dit is geen antwoord op de vraag, maar op de deelvraag "Hoe herstel ik externe toegang tot een virtuele machine waarop ik TLS 1.0 heb uitgeschakeld en zonder fysieke toegang?".

Ik heb TLS 1.0 uitgeschakeld met IISCrypto, wat een goede waarschuwing gaf over de bijwerking dat RDP niet meer werkt als het is ingesteld op TLS. Dus ik ben ingecheckt:

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

en mijn beveiligingsniveau was ingesteld op "Onderhandelen". Ik veronderstelde dat dit betekent dat als TLS niet beschikbaar is, het genadeloos zou verslechteren tot RDP-beveiliging.

Maar nee, Negotiate werkt niet zo. U moet het beveiligingsniveau instellen op RDP-beveiliging, niet op Negociate, voordat u TLS 1.0 uitschakelt.

Dus verloor ik mijn vermogen om op afstand verbinding te maken met mijn AWS-instantie!

Om opnieuw verbinding te maken, heb ik nog een AWS-instantie gebruikt.

  1. Ik heb de SecurityGroup bijgewerkt om een ​​firewallverbinding van die machine naar mijn "verloren" machine toe te staan.
  2. Ik heb een share van een administratief netwerk geopend in DOS, met een admin-gebruiker en wachtwoord:

net use \\lost_machine_ip\c$

  1. Daarna opende ik Regedit en in het menu Bestand kies je "Connect Network Registry" en plaats je het IP van de "verloren" server. U zou het externe serverregister moeten zien. Ga naar :

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

en stel de waarde in voor SecurityLayer tot 0 (0 is RDP-beveiliging).

U kunt dan op afstand verbinding maken en TLS 1.0 indien nodig in IISCrypto opnieuw inschakelen.


8
2018-06-11 08:38



Bedankt, dit heeft me veel werk bespaard door een server opnieuw te maken. Niet zeker hoe je je beveiligingsgroep hebt gewijzigd om de verbinding tussen machines mogelijk te maken --- Ik opende alle toegang tot de "verloren" computer tot het IP-adres van de tweede machine, en dat werkte. Is er een betere manier? - Gullbyrd
@Gullbyrd dat ook, of stel ALL TCP in op de beveiligingsgroep waartoe beide machines behoren. Doet hetzelfde. - Dave Beer


U moet RDP 8.0 op uw Windows 7-computers en Windows Server 2008 R2-servers installeren en vervolgens RDP 8.0 inschakelen volgens het lokale computerbeleid of groepsbeleid.

Hier is de Microsoft KB voor de RDP 8.0. https://support.microsoft.com/en-us/kb/2592687

Zodra dit is gebeurd, moet u TLS 1.0 op de computers en servers kunnen uitschakelen door het register te bewerken volgens de instructies in dit technische artikel. https://technet.microsoft.com/en-us/library/dn786418.aspx

Na installatie van RDP 8.0 kunt u ook RDP 8.1 installeren, maar RDP 8.0 moet zijn geïnstalleerd voordat RDP 8.1 wordt geïnstalleerd. RDP 8.0 bevat zowel de client- als de serverzijde protocolcomponenten, maar RDP 8.1 bevat alleen de client. De Microsoft KB voor RDP 8.1 is KB2830477.

Ik heb deze wijzigingen aangebracht op een van mijn Windows 7-werkstations en de RDP-verbindingen getest met de voorwaarde "Gebruik van specifieke beveiligingslaag voor externe verbindingen (RDP) verplicht stellen" Groepsbeleid ingeschakeld en ingesteld op "SSL (TLS 1.0)" om ervoor te zorgen dat het zou niet terugvallen op RDP-versleuteling.

UPDATE 19-6-2015:

Ik kreeg eindelijk de kans om dit te testen op een van onze Windows Server 2008 R2-servers en verbreekt RDP-verbindingen definitief met de server. Het lijkt erop dat de RDP 8.0-serveronderdelen alleen op Windows 7-computers worden geïnstalleerd en niet op Windows Server 2008 R2-servers worden geïnstalleerd.


3
2018-06-16 19:46



Het ondersteunde Knowledge Base-artikel waarnaar wordt verwezen, werkt momenteel niet (omleidingslus), maar u kunt de Google-cacheversie gebruiken om de inhoud te bekijken. Interessant dat er in dit artikel nog steeds absoluut geen melding wordt gemaakt van ondersteuning voor TLS 1.1 of 1.2 en toch denk ik dat dit de belangrijkste reden is dat iemand naar deze vraag zal kijken! Er zijn ook een groot aantal voorbehouden waaronder lokale beheerders die niet langer kunnen inloggen, tenzij ze specifiek worden toegevoegd aan de groep Remote Destop-gebruikers. Pas op als je dit probeert. - CarlR
Heb je UDP-poort 3389 op de server geopend toen je probeerde verbinding te maken met de server van 2008? - Elvar
Ik ging zo ver dat ik de Windows Firewall tijdelijk volledig uitschakelde op de server 2008 R2-server, maar ik kon er nog steeds geen verbinding mee maken met behulp van RDP met TLS 1.0 uitgeschakeld op de server. - Kenny R


Zoals gepost op Hoe u TLS 1.0 uitschakelt zonder RemoteApps te verbreken op server 2012 R2 maar hier herpubliceren ten behoeve van diegenen die deze link mogelijk niet volgen:

Na bijna een jaar heb ik eindelijk een werkende oplossing bedacht voor het uitschakelen van TLS 1.0 / 1.1 zonder de RDP- en Remote Desktop Services-connectiviteit te verbreken en RemoteApps te starten:

Voer IISCrypto uit en schakel TLS 1.0, TLS 1.1 en alle slechte cijfers uit.

Op de Remote Desktop Services-server waarop de gatewayrol wordt uitgevoerd, opent u het lokale beveiligingsbeleid en gaat u naar Beveiligingsopties - Systeemcryptografie: gebruik FIPS-compatibele algoritmen voor codering, hashing en ondertekening. Wijzig de beveiligingsinstelling in Ingeschakeld. Start opnieuw op voordat de wijzigingen van kracht worden.

Houd er rekening mee dat in sommige gevallen (met name bij gebruik van zelfondertekende certificaten op Server 2012 R2) de optie Beveiligingsbeleid Netwerkbeveiliging: LAN Manager-verificatie mogelijk alleen moet worden ingesteld op NTLMv2-antwoorden verzenden.


3
2018-02-24 09:35





Gewoon een update hierover als iemand anders informatie zoekt. Voor mijn Windows 7 64-bit boxes moest ik KB2574819 (eerste) en KB2592687 (tweede) installeren Windows 7 moet SP1 hebben geïnstalleerd voordat deze 2 pkg's kunnen worden geïnstalleerd. Als u problemen ondervindt bij het installeren van SP1 zoals ik deed, moest ik eerst KB958830 verwijderen en vervolgens SP1 installeren.

Voor mijn Windows Server 2008 R2-kaders moest ik KB3080079 installeren. Zodra u dit heeft gedaan en alle geschikte instellingen voor veilige communicatie hebt ingevoerd, gebruikt het TLS 1.2 U kunt bevestigen door Wireshark te gebruiken voor het vastleggen van de communicatie tussen uw twee boxen.


2
2017-11-02 14:29





Ik heb met succes rdesktop gebruikt (http://www.rdesktop.org) voor Linux om dit probleem te omzeilen.


0
2017-09-16 09:44





Eén geval dat niet wordt bestreken door de bestaande antwoorden: Windows 7-clients die verbinding maken via een RDP-gateway gebruiken TLS 1.0 nog steeds bij het verbinden met de gateway en mislukken als de gateway TLS 1.0 niet ondersteunt, zelfs niet na het toepassen van TLS 1.0 KB3080079, zoals waargenomen in deze TechNet-forumthread.

Als u TLS 1.2 wilt gebruiken om verbinding te maken via een RDP-gateway, moet u ervoor zorgen KB3140245 is geïnstalleerd en voegt de volgende registersleutels toe (opslaan in een bestand met .reg extensie om te importeren):

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

Zoals gedocumenteerd in KB3140245, dit zal overschrijven WINHTTP_OPTION_SECURE_PROTOCOLS om TLS 1.2 (en alleen TLS 1.2) standaard te gebruiken. Houd er dus rekening mee dat dit van invloed is op meer dan alleen de RDP-client.

(Opmerking: als achterwaartse compatibiliteit gewenst is, dword:00000800 kan worden gewijzigd in dword:00000A00 of dword:00000A80 om respectievelijk TLS 1.1 en 1.0 op te nemen)


0
2018-03-01 08:02