Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Přehled VPN technologií a poznámky k PPTP
srpen 20
Přehled VPN technologií a poznámky k PPTP

V poslední době se mi donesly dva zajímavé odkazy týkající se bezpečnosti VPN řešení na platformě Microsoft - tedy konkrétně PPTP - jeden je v češtině a druhý je prakticky to stejné v angličtině, jen to obsahuje nějaké další zajímavé odkazy. Oba se tváří, jakou objevili novinku a jak je najednou PPTP a MS-CHAPv2 nebezpečné řešení. Ono bylo nebezpečné od jakživa, jenom se to všichni báli přiznat :-) A navíc ty články mixují pojmy PPTP a MS-CHAP, což opět není úplně správné ani přesné.

Tak se podívejme na jakési srovnání různých VPN řešení, jejich možností a bezpečnosti. Píšu tu VPN, ale já do toho počítám i vzdálenou plochu (remote desktop, terminal services), takže i tohle bude porovnáno - takže spíše vzdálený přístup (remote access) obecně, než přímo VPN.

Protokoly vzdáleného přístupu

Nejprve protokoly pro VPN a vzdálený přístup obecně. Rozdělil bych to nejprve obecně na tyto dva typy připojení:

  • IP tunnel - připojení počítače, nebo celé sítě přes veřejnou IP síť. Váš počítač, nebo rovnou celá síť (pobočka) má vcelku plný přístup do firemní sítě. To se dá samozřejmě omezit různými firewally, ale je to složitější. Prostě se dá říci, že tunel povoluje kompletní přístup do firemní sítě. A to je mnohdy celkem zbytečné. Co ti lidi vlastně uvnitř potřebují dělat? Musí si stahovat soubory na stanici? Nestačí jim jenom Outlook připojený přes HTTPS? Nebo třeba vzdálená plocha na nějaký terminal server?
    Když je ten počítač zavirován, viry mohou proudit bez omezení do vnitřní sítě a nemáte ochranu. Není vždycky optimální pouštět lidem VPN. Má to také někdy problémy s kvalitou linky, viz. můj dřívější článek.
  • Remote Desktop - vzdálené terminálové připojení na terminal server, remote desktop server, nebo rovnou na stolní stanici uživatele. Mnoho lidí se bojí lidem dávat terminálové připojení, protože mají pocit, že tím hrozně otevřou síť různým útokům. Naopak! Komunikace může být komplet šifrovaná a ověřená stejně jako VPN. Navíc do vzdálené plochy zasíláte jen klikání a přijímáte zpět jen obrázky. Nemůžete si stáhnout soubor, nemohou tam proudit viry - leda by se tam nějak "naklikali". Soubory nikdy neopustí firemní síť. Nikdy se nebudou povalovat na domácích počítačích pochybné bezpečnostní kvality. Když se připojíte z nějakého počítače z kavárny (vřele nedoporučuju), jediné, co si může kavárník nahrát, je video vaší sešny.

Další rozdělení bude podle ověření identity uživatelů a/nebo počítačů - tedy klientů:

  • Připojení s uživatelským ověřením - tedy IP tunel, jehož vytvoření vyžaduje ověření identity uživatele. Pokud ověřím identitu uživatele, mohu pak řídit, kteří uživatelé se do sítě dostat mohou a kteří naopak nesmí. Ověření uživatele může být buď loginem a heslem, nebo certifikátem (alternativně uloženým buď v počítači, nebo v čipové kartě).
  • Připojení s ověřením počítače - tedy IP tunel, před jehož vytvořením se ověřuje pouze identita počítače. To znamená, že nevím, jestli se připojila Jitka, nebo Kamil, ale vím, že se připojil PC40. Ono je to mnohdy jedno, protože počítače (notebooky) patří jen jednomu uživateli a jmenují se podobně, něco jako Kamil-PC, ale principiálně to není stejné. Ověření jen certifikátem uloženým v počítači (no dobrá, někdy můžeme mít třeba pre-shared key, nebo účet PC v doméně, ale to není pro naše vzdálené přístupy zajímavé).
  • Připojení s kombinací ověření uživatele i počítače - máte jistotu, že se připojí jen ta a ta skupina uživatelů a to navíc jen z počítačů, které vy sami autorizujete. Super. Žádné zavirované domácí stroje, žádné podivné tablety z Číny co vypadají jako ajfoun a odesílají všechno rovnou na generální sekretariát PRC.

Ještě je dobré si uvědomit, že i server by měl nějak prokázat svou identitu klientům. Tzn. že uživatelů mohou mít jistotu s kým hovoří. Tím se zabrání MITM (man in the middle) útoku. Tohle mají všechny přístupy (včetně RDP) kromě PPTP.

Takže máme IP tunel, ověření uživatele, ale ještě nám chybí třetí charakteristika. A to je následné šifrování tunelu. Šifrovací protokoly se vyskytují tři:

  • IPSec - šifruje náhodnými šifrovacími klíči, které jsou odvozeny D-H (Diffie-Hellman) klíčovou výměnou. Podstatné je, že šifrování nezávisí na příhlašovacím hesle uživatele - není tedy závislé na kvalitě jeho hesla.
  • SSL, nebo TLS - šifruje náhodnými šifrovacími klíči, které jsou odvozeny buď D-H, nebo jsou přeneseny pomocí RSA. Opět nezávisíme na kvalitě přihlašovacího hesla uživatele.
  • MPPE - šifrování, jehož symetrické klíče vznikají na základě přihlašovacího údaje uživatele a jsou z něho přímo odvozeny - tzn. jeho kvalita je závislá na kvalitě hesla uživatele. Jediný, kdo tohle peklo používá je PPTP.

Jaké tedy máme možnosti vzdáleného přístupu

  • PPTP - tunel, historicky nejstarší VPN protokol. K dispozici i klient pro MS-DOS. Používá TCP 1723 spojení a GRE IP protokol. Požaduje pouze ověření uživatele. Ověření uživatele buď heslem, nebo certifikátem. Šifrování MPPE.
  • IPSec - tunel, k dispozici od Windows 2000. Ověření jen počítače, tedy jen certifikátem.
  • L2TP - tunel, k dispozici od Windows NT 4.0 SP5 a Windows 2000. Založeno nad IPSec, ale přidává k tomu uživatelské ověření. Takže se ověřuje nejprve počítač pomocí svého certifikátu a teprve potom uživatel pomocí hesla, nebo dalšího uživatelského certifikátu.
  • SSTP - tunel, k dispozici od Windows Vista a Windows 2008. Používá TCP 443 a normální SSL, nebo TLS tunel. Ověřuje uživatele opět pomocí hesla, nebo jeho certifikátu.
  • DirectAccess - tunel, k dispozici od Windows 7 a Windows 2008 R2. Používá IPSec over IPv6, případně v kombinaci s dalším tunelem přes IPv4. Protože se jedná o IPSec, ověřuje vlastně jen identitu klientského počítače, pomocí jeho vlastního certifikátu. Avšak díky IPv4 tunelu, který tam v dnešní době mít budete, a díky možnosti ověřovat uživatelskou identitu i v případě IPSec od Windows 7 a Windows 2008 R2 se dá udělat (relativně složitě) i uživatelské ověření, ale to není cílem této VPNky. V podstatě bych to bral obecně jako lepší IPSec.
  • RDP - obyčejná vzdálená plocha (remote desktop, terminal server). Používá TCP 3389 a SSL, nebo TLS šifrování. Uživatele ověřuje pomocí hesla, nebo certifikátu v čipové kartě (zde je podmínka karty, ostatním VPN stačí certifikát v počítači).
  • RD Gateway (TS Gateway) - vzdálená plocha přes HTTPS gateway. Používá TCP 443 a normální SSL, nebo TLS šifrování. Uživatele ověřuje pomocí hesla, nebo certifikátu v čipové kartě, nebo certifikátu v počítači (to je trošku složitější kombinace, kterou tu nebudu do podrobna rozebírat).

Co je MS-CHAP?

MS-CHAP a jeho novější verze MS-CHAPv2 jsou protokoly pro ověření uživatele pomocí jeho hesla. Je to obdoba protokolu NTLM, respektive NTLMv2

Protokoly PPTP, L2TP, SSTP, RDP i RD Gateway mohou používat MS-CHAP, MS-CHAPv2, NTLM, nebo NTLMv2 k ověření uživatele.

Co si tedy vybrat?

Nejprve bych si vybral cokoliv jiného než PPTP. Tenhle protokol neověřuje identitu serveru (jen uživatele) a ještě navíc šifruje pomocí MPPE, které je přímo odvozeno z přihlašovacího údaje uživatele. Je úplně jedno, že se uživatele obvykle ověřuje pomocí MS-CHAP. Můžete si ho přece nastavit na ověření pomocí certifikátu. Takže i PPTP nemusí být citlivé kvůli MS-CHAP. PPTP je citlivé, protože je to celé špatně :-)

A za druhé bych si vybral vzdálenou plochu (RDP) přes RD Gateway (po staru TS Gateway). Protože VPNky moc otevírají přístup do sítě a mě se to prostě nelíbí.

 

 

Comments

RADIUS

Zdravim. Jak tuto situaci resit napr. v pripade pouziti RADIUS (pripadne NPS) pro overeni uzivatele. Napr. scenar korporatni WiFi (WPA2 Enterpise - RADIUS), pripadne 802.1x apod....

Diky
Jakub H. on 20.8.2012 13:20

Re: Přehled VPN technologií a poznámky k PPTP

no bud je tu zminka:
https://www.sevecek.com/Lists/Posts/Post.aspx?ID=41

proste pro 802.1x (WiFi i Ethernet) bych pouzil certifikaty pocitacu - overeni EAP-TLS, nebo jen TLS, protoze nektere switche neumi EAP. Pripadne bych to doplnil o certifikaty uzivatelu, ale ja mam radeji jen certifikaty pocitacu, protoze to uplne staci a neni to tak slozite.
ondas on 20.8.2012 13:26

Remote Desktop

Kolega podotkol, ze v Remote Desktop si moze kavarnik ulozit tvoje heslo cez key-logger :)
Ondrej Zilinec on 20.8.2012 13:39

Re: Přehled VPN technologií a poznámky k PPTP

kolega dobre podotknul :-) proto bych to provozoval s cipovou kartou a proto je tam taky napsano, ze "vrele nedoporucuji" :-). Pouziti cipove karty na RDP by mimochodem ty lidi taky odradilo od pouziti z kavarny, protoze tam stejne nejsou drivery :-)
ondas on 20.8.2012 14:57

perf test IPSec a OpenVPN

zrovna minuly tyden jsem k problemu IPSec neco hledal a narazil na pekny test vykonu IPSec http://www.iceta.sk/proceedings/iceta2011_truchly.pdf
VasekB on 20.8.2012 18:23

Re: Přehled VPN technologií a poznámky k PPTP

pěkný článeček. musím to pořádně prozkoumat. Teď jsem se snažil vygooglovat jedno .PDFko od intelu, které krásně porovnávalo výkon IPSec při zpanutém offload na síťové kartě (S Server adapter), ale nemůžu to najít.

K těm rychlostem a výkonům šifrování - obecně se dá říct, že každé šifrování vezme o 20-25% výkonu více na všech možných čítačích - tzn. všechno bude trvat o čtvrtinu déle, bude to žrát o čtvrtinu víc paměti a o čtvrtinu víc procesoru. Na svém starém blogu jsem měl porovnání výkonu BitLockeru a taky to tak bylo, stejně jako ten IPSec co jsem měřil už hodně dávno. Tuhle míru beru za obvyklou "cenu za šifrování".
ondas on 20.8.2012 18:30

Remote Desktop a soubory

Dík za článek, na SSTP jsem už úplně zapomněl.

"Navíc do vzdálené plochy zasíláte jen klikání a přijímáte zpět jen obrázky. Nemůžete si stáhnout soubor, nemohou tam proudit viry - leda by se tam nějak "naklikali". Soubory nikdy neopustí firemní síť."

To ve výchozím stavu není pravda, soubory jdou kopírovat Copy & Paste, protože je přesměrovaná schránka. Něco za něco, vypnutí je dost nepraktický. A samozřejmě nezapínat přesměrování lokálních disků.

Kontrolní otázka - kde a jak se ve Windows nastaví připojování PPTP pomocí NTLM? To je pro mě novinka a nikde jsem to neviděl.
Borek on 20.8.2012 21:00

Re: Přehled VPN technologií a poznámky k PPTP

schválně jsem tam nenapsal "ve výchozím stavu", jenom se mě to nechtělo do detailu rozepisovat :-)

Vypnutí je samozřejmě nepraktické, stejně jako libovolné jiné bezpečnostní záležitosti - obvykle je bezpečnost za cenu nepohodlnosti (snad krom přihlašování čipovými kartami, což mi připadne, že to spíš zjednodušuje uživatelům). Jenže jinak, než vypnutím schránky a sdílení disků ta data ochránit nelze.

Pokud potřebuju chráněný datový terminál na práci s citlivými dokumenty i z venku, tak to jinak lépe zařídit nejde. Libovolné jiné řešení těm lidem umožňuje, aby ty soubory buď stahovali, nebo se ty soubory prostě jen šířily do tempů apod. S terminálem dokážes udělat totálně izolovaný terminál, ze kterého ty dokumenty, krom screenshotu neodneseš.

NTLM pro PPTP :-) další moje lenost - je tam napsáno schválně "mohou používat" jako soubor možností pro všechny protokoly dohromady. Ale samozřejmě pro PPTP ověření je jenom MS-CHAP a MS-CHAPv2, nechtělo se mi to rozepisovat. Už předtím jsem to popsal precizně :-)
ondass on 21.8.2012 8:36

Re: Přehled VPN technologií a poznámky k PPTP

Souhlas, pro nejdůležitější data ten terminálový server s vypnutým mapováním schránky opravdu používáme. Psal jsem to hlavně pro ostatní, aby na to nezapomněli, protože zdaleka každýho nenapadne (zkušenost), že by šlo z terminálový sešny přes schránku vykopírovat i celý soubory.

Aha, to "mohou používat" jsem pochopil jako že fakt mohou.
Borek on 21.8.2012 10:40

Re: Přehled VPN technologií a poznámky k PPTP

ještě jedna spekulativní filosofická záležitost: podle mě ty přenosy souborů musí iniciovat ten terminálový server. Podle mě ten přenos nemůže iniciovat klient. Takže pokud by byl klient napaden virem (kavárna), tak klient sám nemůže do toho terminálu nic pušnout, ani z něho stáhnout.

Musel by ten zavirovaný klient prostě ten požadavek na přenos "naklikat" do toho terminálu.
ondass on 21.8.2012 10:44

3 party

No mne by zaujimalo  vas nazor na pouzivanie 3 party aplikace na pristup  do firemni site ako  Logmein.com . Je to bezpecni nebo ne ?
Dano on 21.8.2012 11:22

Re: Přehled VPN technologií a poznámky k PPTP

no já o těchhle věcech nic nevím, krom toho, že to občas používám jako uživatel pro přístup k různým zákazníkům, když mi nic jiného nezbude, protože nic jiného oni nemají. Takže bezpečnosti těch řešení absoultně nerozumím.

Osobně obecně věřím jenom MS. Windows 2008 R2 i Windows 7 jsou certifikovány na Common Criteria EAL 4, používá to masivně státní správa celého světa, MS si velice hledí záplátování bezpečnostních děr a dbá maximálně na bezpečnost (dříve to bývalo horší, ale od 2008 je to paráda). Takže já věřím MS. A mimochodem tomu taky rozumím, takže vím přesně, co a jak, zatímco u cizích řešeních prostě nevím.

S těmi bezpečnostními záplatami - celý svět hekuje Windows. Takže pokud jsou nějaké díry, tak jsou velmi rychle odhaleny. Nikdo nehekuje logmein, takže jeho bezpečnostní díry nikdo neodhalí, kromě těch několika skutečných hackerů, kteří to chtějí potom použít.
ondass on 21.8.2012 11:38

Re: Přehled VPN technologií a poznámky k PPTP

Ale ještě věříš aspoň Ciscu ne :) No stejně má nejspíš NSA nebo FBI backdoory ve všech důležitých systémech, jak se to před lety proláklo u OpenBSD...

A co PEAP http://support.microsoft.com/kb/2744850/en-us to by mohlo být pro někoho rychlý řešení, jak bezpečnosti VPN zlepšit, když už se mu nebude chtít přecházet na něco jinýho.
Borek on 30.8.2012 10:50

Re: Přehled VPN technologií a poznámky k PPTP

jo, to máš pravdu, PEAP je dobré řešení, jak obalit alespoň to ověřování do TLSka. Ale já stejně nevím, při PPTP se potom stejně šifruje MPPE - a nevím, z čeho je ten klíč odvozen, zřejmě bude také odvozen z toho PEAPu, takže by to mohlo vylepšit i to šifrování provozu.
ondass on 30.8.2012 10:54

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