Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS
září 25
Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

RDP protokol na stanicích s Windows Vista, Windows 7 a novějšími, umožňuje šifrovat dvěma transportními šifrovacími protokoly. Jedním je prehistorický RDP Security Layer. Druhým standardní TLS - všude se říká SSL, ale SSL je prehistorický název, nestandardní, to co se ve skutečnnosti ustavuje je ovykle automaticky prefereované TLS.

V případě RDP Security Layer se jedná sice o šifrování, ale bez ověření identity serveru. Znamená to, že na komunikace je možné podnikat aktivní MITM (man in the middle) útoky a v klidu celou komunikaci odposlouchávat. K tomu, aby to šlo, by útočník musel stát uprostřed vašeho TCP spojení s cílovým RDP serverem (nebo stanicí samozřejmě). Na LAN i WiFi to ale není prakticky žádný problém a po cestě přes internet procházíte množstvím naprosto anonymních uzlů.

Je proto samozřejmě lepší používat rovnou TLS. To je vy výchozím nastavení také samo od sebe zapnuto. Jenže nastavení umožňuje domluvu (negotiate). Prostě umožňuje, aby se klient se serverem domluvili na šifrovací metodě. Kvůli starším klientům, kteří by TLS ještě neovládali. No a to je kámen úrazu. Když dělám MITM, tak se přece můžu na stranu klienta tvářit, že jsem starý server, který TLS neumí a stejně tak se zase můžu tvářit na stranu serveru, že jsem prehistorický klient, který TLS neumí. A domluvíme se s útočníkem na RDP Security Layer a je to (tzv. downgrade attack).

Co tedy musíme udělat, abychom si TLS vynutili? Musíme přepnout RDP natvrdo na TLS a ten starý RDP Security Layer vůbec nepovolovat.

Na serverech je to jednoduché - stačí v konzoli Remote Desktop Session Host Configuration na Windows 2008 R2 přepnout protokoly. Jenže někdo to nastavení na Windows 2012 totálně zprznil. A na stanicích tohle GUI není vůbec.

Jak vynutím TLS pro RDP přes zásady skupin (group policy)

Buď si udělejte na doméně nový Group Policy Object (GPO), nebo daném RDP serveru stačí spustit lokální gpedit.msc. Uvnitř GPO je potom:

Computer Configuration - Administrative Templates - Windows Components - Remote Desktop Services - Remote Desktop Session Host - Security
Require use of specifi security layer for remote (RDP) connections = ENABLED = SSL (TLS 1.0)

A je to.

Comments

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

Takže pokud je v síti pouze Vista+ a W2008+, tak to v GPO zapnu na všech strojích a mám hotovo ok?

Pokud se mi ale připojujou lidi z domácích XPček, tak přestože lezou přes TS Gateway, kdy předpokládám nemá předchozí nastavení smysl, tak ho na serverech a počítačích prostě nemůžu zapnout. Teda pokud správně předpokládám, že v případě využití gatewaye je komunikace pomocí TLS zašifrovaná dvakrát, jinýma slovama, že se gateway chová transparentně. Ale možná kecám, tak se radši ptám :)
Borek on 5.10.2013 21:18

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

tý jo, dobrá otázka. no já jsem to vždycky bral tak, že RD Gateway vytváří úplně znovu sama to transportní šifrování, takže by to nemělo vůbec záviset na klientech, ale když o tom tak přemýšlím, tak to nemůžu nijak dokázat. Jdu to omrknout, jestli to nějak prověřím.
ondass on 6.10.2013 8:53

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

no a vlastně finální poznámečka, když o tom přemýšlím definitivně, RD Gateway stejně umí jenom novější klient 6.0, který stejně umí i TLS. Takže není vlastně nakonec ani co řešit. Jestli mám novějšího klienta kvůli gateway, tak ten stejně sám od sebe umí TLS.

To co XP neumí, je takové to "Network Level Authentication" což s TLS nesouvisí.
ondass on 6.10.2013 8:56

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

Takže ta úvodní věta "RDP protokol na stanicích s Windows Vista, Windows 7 a novějšími, umožňuje šifrovat dvěma transportními šifrovacími protokoly." není správná a funguje to i na XP jo?

Úplně konkrétní dotaz měl znít. Budu mít LAN s Vista/W2008+. Lidi z domova se připojují z XP přes Gateway. Na terminálovým serveru zapnu TLS. Připojí se XP klient? Chápu z komentářů, že teda ano.
Borek on 7.10.2013 15:06

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

Je to tak, Ondro?
Borek on 10.10.2013 19:41

Re: Jak vynutím pro Windows 7 a novější stanice šifrování RDP komunikací pomocí TLS

ano, tak jsem to myslel. musím to ještě vyzkoušet, jak se k tomu dostanu, pořád to mám v seznamu :-) ale předpokládám, že ano. jedná se funkci 5.2 RDP, takže pokud má člověk novějšího klienta, než 5.1 tak to určitě pojede. Na Gateway stejně potřeješ 6.0, takže pokud se lidi z domu připojují přes Gateway, tak klient je 6.0 a novější, tím je zaručena verze klienta a neměl by to být problém.
ondass on 11.10.2013 9:14

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments