Základy VPN
VPN je soukromá komunikační síť, použitá v rámci organizace nebo mezi několika různými organizacemi, která umožňuje (nejčastěji bezpečnou) komunikaci v prostředí veřejné sítě. Proč "nejčastěji bezpečnou"? Protože právě bezpečnost nemusí být primární vlastností VPN, i když se to tak někdy nepřesně prezentuje.
VPN vznikají třeba i tam, kde nějaký subjekt potřebuje mít trvale k dispozici část veřejné komunikační sítě nebo chce mít v rámci této sítě trvale "svoji" kapacitu. Pak je zde VPN vytvořena jako "nadstavba", bez ohledu na bezpečnost. Ovšem toto je spíše výjimka potvrzující pravidlo, protože když už někdo virtuální soukromou síť vytváří, tak zpravidla využije její výhody a nasadí bezpečné prostředí.
Ať tak či onak: VPN má pochopitelně své nezastupitelné místo v oblasti informační bezpečnosti, protože umožňuje v rámci nebezpečných (veřejných) sítí přenášet bezpečně (neveřejně) data. Také by se dalo říci, že díky VPN lze vytvořit bezpečné spojení pomocí jinak nebezpečných protokolů.
Termín VPN se často používá i v širším kontextu, máme-li na mysli použití veřejného prostředí (zpravidla internetu) jako součásti WAN.
Přínosy VPN
Nasazení VPN přináší mnohé. Něco jsme už jmenovali výše nebo naznačili, nicméně nebude na škodu vše pěkně ještě jednou sumarizovat.
Především VPN dramaticky snižují náklady na spojení. Přestože využití veřejných sítí považujeme za samozřejmost, uvědomme si, že právě díky VPN a veřejným sítím nemusíme budovat vlastní nákladné sítě. A to v oblasti, kde by to bylo zhola nemožné: jen málokterá organizace si může dovolit vybudovat vlastní fyzickou globální síť. Tím se dostáváme k další výhodě, kterou je využití globálních příležitostí, jež by pro nás jinak byly nedostupné.
VPN jsou také dobře škálovatelné a má smysl je vybudovat i kvůli jedinému počítači připojenému od "protinožců". Což by pochopitelně v klasickém světě bylo něco naprosto nepředstavitelného.
Technologie VPN rozšiřují geografickou konektivitu. Nezáleží na tom, kde a jak jsou rozmístěné jednotlivé počítače či lokální sítě - všechny jsou spolehlivě (a zpravidla bezpečně) propojené.
VPN umožňují v rámci nezabezpečeného spojení předávat data bezpečně - a šifrovat data tam, kde by jinak proudila v otevřené podobě. A ještě v jedné oblasti jsou výrazným bezpečnostním přínosem: i vzdálené stanice či servery jsou díky VPN dobře přístupné, takže se administrátorům lépe spravují a lépe se na nich vynucuje bezpečnostní politika. Což by se opět v tradičním prostředí jen obtížně provádělo...
VPN dále výrazně zjednodušují topologii sítě. Pochopitelně, že existují výjimky potvrzující pravidlo, ale v drtivé většině případů je zjednodušení správy a zrychlení provozu takřka "hmatatelné". V maximální možné míře VPN také umožňují využít stávající hardware a software, tedy dosavadní investice. Při expanzi nebo nasazování nových technologií (např. přístup obchodních cestujících do on-line databáze) není nutné dosavadní investice "oplakat", nýbrž na nich lze stavět.
Rizika VPN
Pokud jste z předešlých řádků získali dojem, že VPN řeší takřka vše, považujeme za povinnost upozornit na několik úskalí těchto technologií. Přestože klady VPN převládají, několik háčků na nich přece jen najdeme.
Především si je třeba uvědomit, že musíme velmi kvalitně zajistit bezpečnost na klientské straně. VPN se totiž skládají ze dvou hlavních částí, které můžeme označit jako "vnější" a "vnitřní". V zásadě se dá říci, že proti vnějším hrozbám jsou VPN chráněné dobře (ostatně, byly tak navrhované), u vnitřní části je to horší. Jinými slovy: pokud používáme silné šifrování (což je dnes samozřejmost), pak je vlastní proud dat po veřejné síti (internetu) chráněný více než solidně. Ovšem běda, pokud se útočník dokáže dostat na některý z přístupových bodů k VPN.
Musíme tedy velmi dbát na fyzickou a administrativní bezpečnost. Je zapotřebí kvalitní "dohled" nad klienty, nad jejich chováním, je nutné bezpečnostní politiku vynucovat... jinak hrozí, že z výhod VPN nebude těžit pouze organizace, ale také nezvaný útočník. (Běžný je např. požadavek, že každý zaměstnanec připojující se z domova musí instalovat hardwarový firewall.)
Z toho plynou i další omezení: administrátor musí bedlivě sledovat (pochopitelně pomocí vyhodnocovacích nástrojů) veškeré logy z provozu na síti, aby včas odhalil pokusy o průnik nebo dokonce vlastní průnik. Ne že by něco podobného nebylo v běžném prostředí nutné dělat, ale u VPN tato činnost výrazně nabývá na důležitosti.
Každý sebemenší bezpečnostní průnik nebo incident totiž ohrožuje celou síť organizace. A zvláště u velkých sítí VPN je to nepříjemné, protože v globálním světě stačí nepozornost nebo nezkušenost jednoho zaměstnance na jiném světadíle - a v ústředí společnosti mohou nastat nemalé problémy.
Zde je potřeba si také uvědomit nutnost správného vybudování celé architektury sítě, protože data předávaná pomocí VPN jsou pro ostatní prvky "neviditelná" (nečitelná - díky šifrování).
Byť VPN v konečném důsledku bezpečnost při komunikaci pomocí internetu nebo jiné nedůvěryhodné sítě zvyšuje, při špatném navržení architektury se může stát ohrožením pro bezpečnost sítě lokální.
Ač jsou virtuální soukromé sítě docela dobře škálovatelné, přece jen se nikdy s jejich velikostí nemůžeme dostat přes kapacitu veřejné komunikační linky. Což může být v některých případech limitující faktor a některé organizace se raději uchylují k budování klasických sítí - to jsou ale opravdu velmi speciální případy.
Pozor také na základní nastavení! Řešení mnoha výrobců je postaveno tak, aby se s nimi vypořádal i méně zkušený administrátor, jsou tedy navrhována podle hesla "instaluj a zapomeň!" Jenomže základní nastavení pochopitelně obsahuje i základní přihlašovací jména a hesla, která jsou celosvětově známá. Nicméně mnozí správci to podceňují, protože si nechtějí přidělávat práci zasahováním do fungujícího systému.
Technologie VPN
Pochopitelně, že "míchání" soukromého a veřejného prostředí vyžaduje, abychom celé technologii věnovali odpovídající pozornost. Především musíme zajistit tři následující oblasti:
n Autentizace - ověření skutečnosti, že osoba nebo stroj snažící se o zapojení do systému jsou skutečně tím, za koho se vydávají. Jinak by se také dalo říci, že autentizace je odmítnutí neoprávněných uživatelů. Děje se pomocí certifikátů, hesel, přihlašovacích hardwarových karet, tajných klíčů apod.
n Utajení - tedy zajištění, že data nebudou během přenosu vystavena ke "kontrole" nepovolaným osobám.
n Integrita - zajištění neporušenosti přenášených dat. Lhostejno přitom, zda k porušení dochází na základě technických problémů nebo zásluhou útočníka se zlým úmyslem. Utajení a integrita jsou ošetřovány pomocí šifrování přenášených dat. Šifrování zajišťuje, že i když se útočník dostane k síťovému provozu, nedostane se k přenášené informaci.
Často se také uvádí ještě čtvrtá oblast, kterou je nutné zajistit (i když poněkud jinak než ty výše uvedené). Je to nepopiratelnost: tedy schopnost ověřit, že elektronická zpráva byla odeslána a přijata stanovenými stranami. To chrání obě komunikující strany před tím, kdyby partner později popřel, že k výměně dat skutečně došlo. Je to pochopitelně velmi důležitá oblast - třeba v elektronickém bankovnictví (aby banka nemohla tvrdit, že příkaz k transakci nepřijala - a aby klient nemohl tvrdit, že transakci nezadal).
Soukromá komunikace v rámci veřejné sítě přitom může probíhat pomocí dvou metod. Jednak je to šifrování datové části každého paketu, jednak je to šifrování celého paketu a jeho následné zapouzdření do paketu nového. Toto zapouzdření je často označováno jako "tunnel-
ing" (tunelování, tedy vytvoření soukromého komunikačního kanálu) a mimo jiné umožňuje přenos nesměrovatelných protokolů pomocí protokolů podporujících routing. S VPN tak můžeme spojit sítě závislé na různých protokolech jako SPX/IPX, SNA, UDP, ICMP a TCP/IP.
VPN pracují na vrstvě 3 modelu OSI (hlavním úkolem této vrstvy je směrování). Všechny vrstvy nad ní automaticky profitují z výhod VPN - to je rozdíl oproti jiným protokolům jako HTTPS, Secure IMAP, SSH nebo Socks proxy. Výhodu VPN zkrátka přijímají všechny aplikace bez nutnosti jakékoliv modifikace nebo bez vyžadování podpory protokolu.
V případě VPN pak rozlišujeme tři základní druhy:
n Bezpečné (Secure VPN, SVPN) - pomocí techniky tunelování jsou schopné garantovat bezpečnost. Jejich nasazení a údržba ovšem není zcela triviální, takže je na trhu velké množství nebezpečných nebo nezabezpečených VPN.
n Důvěrné (Trusted VPN, TVPN) - ty jsou schopné udržovat integritu dat, zajišťovat ochranu před odposlechem a zároveň garantovat kvalitu. Nepoužívají ovšem šifrované tunelování, svoji bezpečnost staví na bezpečnosti garantované poskytovatelem - to ale je přinejmenším nejistá volba.
n Hybridní - jedná se o smíšené sítě, které se snaží těžit z výhod obou výše uvedených. Zpravidla se jedná o kombinaci lokálních bezpečných sítí s důvěrnými sítěmi poskytovatelů.
"Správné" VPN
Při výběru dodavatele VPN bychom měli mít na paměti čtveřici rozhodujících faktorů. Jednak jsou to podporované protokoly, jednak podporované platformy, dále pak rychlost a v neposlední řadě cena.
Začneme u podporovaných protokolů. Nejčastěji používanými protokoly VPN jsou IPsec (jako součást IPv6), SSL a PPTP (Point-to-Point Tunneling Protocol) od Microsoftu. Před finálním výběrem bychom měli rozhodnout, zda VPN hodláme používat ke spojení na úrovni LAN-LAN (tedy k propojení dvou nebo i více lokálních sítí) nebo na úrovni vzdáleného přístupu k aplikacím (např. informační nebo databázové systémy).
VPN na úrovni LAN-LAN umožňuje spojit sítě pomocí WAN nebo klasického internetového připojení. Přenášená data jsou šifrována od jednoho zařízení VPN ke druhému, tedy nikoliv od koncového (uživatelského) bodu ke druhému podobnému bodu. Tato architektura může fungovat pouze v případě, pokud jsou oba konce VPN tunelu (tedy obě VPN zařízení) umístěny v důvěryhodném prostředí. Vyznačuje se přitom vysokou spolehlivostí, jednoduchou možností konfigurace a snadnou údržbou. Většinou se zde využívá protokol IPsec, který spoléhá na šifrování podle standardů 3DES nebo AES. Pomocí nich je šifrováno vše, od zavedení relace až k výměně klíčů.
Tato konfigurace má ale jedno malé omezení: vyžaduje statickou IP adresu na obou VPN branách. Někteří dodavatelé sice vytvořili vlastní (proprietární) protokoly pro práci s dynamickými IP adresami v prostředí LAN-LAN, ale pro tento model ještě není vytvořený obecně uznávaný a platný standard.
Oproti této relativně jednoduché konfiguraci představuje vzdálený přístup k aplikacím pomocí VPN výrazně větší výzvu. Použití standardního protokolu IPsec v tomto prostředí totiž zpravidla nebude fungovat. Protokol IPsec nepodporuje dynamické a proměnlivé IP adresy, což u vzdálených uživatelů může poměrně snadno nastat. Jednoho krásného dne se sice nejspíše dočkáme okamžiku, že IKE2 (Internet Key Exchange, část IPsec) bude standardizován, nicméně do té doby je nutné instalovat klientský program IPsec. (Potíž je v tom, že klienti mnohdy nespolupracují dobře - pokud vůbec.)
Většina VPN postavených na architektuře vzdáleného přístupu podporuje i model LAN-LAN, ale opačně to neplatí (model LAN-LAN se nedá použít ke vzdálenému přístupu).
Relativní novinkou je SSL VPN, což je alternativa k problematice klientů při vzdáleném přístupu. Tyto VPN využívají standardní prohlížeče (obvykle Internet Explorer) a ke komunikaci protokol HTTPS. Protože tyto produkty nevyžadují žádný speciální klientský program, k VPN se může přistupovat prakticky odkudkoliv. Nicméně nejedná se o vše řešící variantu, protože tyto VPN velmi často vyžadují specifické verze a nastavení prohlížeče plus další komponenty (plug-iny, Active X nebo moduly Java apod.). Navíc musí být používána jména DNS, nikoliv IP adresy. Kromě toho pro přístup k newebovým aplikacím musíte používat lokální proxy. Je tedy nutné zdůraznit, že tato metoda vyžaduje více znalostí než použití standardního IPsec.
Zajímavým řešením bezpečnosti v souvislosti s VPN je použití zařízení "vše v jednom" (all-in-one). Tedy VPN plus firewall plus antivirový program plus IDS plus případně další bezpečnostní prvky. Toto řešení přináší zpravidla jednoduchost, výhody spojené správy více aplikací, nutnost pořizování menšího množství hardwaru a ekonomické úspory. Ale pozor, VPN (a zvláště SSL VPN) vyžaduje hodně procesorového výkonu. Specializované šifrovací urychlovací karty sice mohou pomoci, ale praxe ukazuje, že i podobný systém je velmi snadné přetížit.
Obecně při rozhodování mezi řešením all-in-one a samostatným zařízením VPN platí, že čím větší bude ošetřovaný provoz, tím spíše budete potřebovat samostatné zařízení.
Závěrem ještě připomínáme, že z bezpečnostního hlediska je nutné v případě VPN klást důraz na nejslabší článek: tedy na bezpečnost na straně klienta. Centrální klientská správa, vynucené politiky či omezení přístupu se tak stávají nezbytností.
Jak ukazuje studie konzultační firmy NTA Monitor, zveřejněná v únoru 2005, devět z deseti VPN není bezpečných. To ale v žádném případě neznamená, že jde o chybu v technologii! Největší problémy vznikají jejím nesprávným používáním. Pokud bychom chtěli být konkrétní, pak se nejobvyklejší chyba objevuje v uživatelských jménech. Některé špatně nastavené VPN "předávají" při pokusech o odhadování jmen informace, které následně může hacker zpracovat a využít při útoku na danou infrastrukturu.