<<

Masarykovauniverzita Fakultainformatiky

SrovnáníVPNrealizací

Diplomovápráce

Bc.PřemyslŠteidl

Brno2007 Prohlášení Prohlašuji,žetatoprácejemýmpůvodnímautorskýmdílem,kteréjsemvypracovalsamostatně. Všechnyzdrojepramenyaliteraturu,kteréjsempřivypracovánípoužívalneboznichčerpal, vpráciřádněcitujisuvedenímúplnéhoodkazunapříslušnýzdroj.

2 Poděkování RádbychpoděkovalvedoucímumédiplomovépráceRNDr.RadkuOšlejškovi,Ph.D.zapomoc arady,kterémipřitvorbětétopráceposkytnul.

3 Shrnutí Tatodiplomováprácesezabývávirtuálnímiprivátnímisítěmi(VPN).Vysvětlujejejichprincip, popisuje technologie využívané při tvorbě VPN. Představuje vybraná softwarová VPN řešení asrovnávájedlezvolenýchparametrů.

4 Klíčováslova VPN,Virtuálníprivátnísítě,srovnání,bezpečnost,PPTP,L2TP,IPSec,Openswan,OpenVPN, Poptop,,

5 Obsah 1 Úvod ...... 8 2 TeoretickýúvoddoVPN ...... 9 2.1 CojetoVPN?...... 9 2.2 Motivace ...... 9 3 PožadavkynaVPN ...... 12 3.1 Bezpečnost...... 12 3.2 Dalšípožadavky...... 13 4 TechnologieVPN...... 14 4.1 TechnologiepoužívanépřitvorběVPN ...... 14 4.2 SíťovýmodelTCP/IP ...... 14 4.2.1 Spojovávrstva(Linkovávrstva–LinkLayer)...... 15 4.2.2 Síťovávrstva(NetworkLayer) ...... 15 4.2.3 Transportnívrstva(TransportLayer) ...... 15 4.2.4 Aplikačnívrstva(ApplicationLayer)...... 15 4.3 VPNnaspojovévrstvě ...... 16 4.3.1 VirtuálnísítěpomocíLANemulace...... 16 4.3.2 MPOA(MultiprotocoloverATM)...... 17 4.3.3 MPLS(MultiprotocolLabelSwitching) ...... 17 4.4 VPNnasíťovévrstvě...... 18 4.4.1 Filtrovánísměrovacíchinformací...... 18 4.4.2 VPNsvyužitímtunelů ...... 19 4.4.3 VPNsvyužitímšifrovánínasíťovévrstvě ...... 26 4.5 VPNnaaplikačníatransportnívrstvě ...... 30 4.5.1 ProtokolSSL(SecureSocketLayer)...... 30 5 VPNřešení...... 32 5.1 Testovacísestava ...... 32 5.2 VPNřešení...... 33 5.2.1 OpenVPN ...... 33 5.2.2 Openswan ...... 36 5.2.3 Poptop(PPTPserver)+PPTPKlient...... 38 5.2.4 Stunnel...... 40 5.2.5 tinc...... 42 6 PorovnáníVPN ...... 45 6.1 Srovnání...... 45 6.2 Srovnávacíparametry ...... 45 6.2.1 Bezpečnost...... 45 6.2.2 Škálovatelnost ...... 46 6.2.3 Výkon...... 47 6.2.4 Spolehlivost...... 47 6.2.5 Přizpůsobivost ...... 47

6 6.3 Hodnocení...... 48 7 Závěr ...... 50 Literatura...... 51

7 Kapitola1 Úvod

RozvojinformačníchtechnologiíazejménazvyšovánídostupnostiInternetuvposledníchletech umožňujepřistupovatkespoustěinformacítéměřkaždémujednotlivciivelikéorganizaci. S přístupem k informacím ale souvisí také problematika zajištění dostupnosti jen určitých informacíurčenýmcílovýmskupinám.VsoučasnédobějsoutechnologieVPN(VirtualPrivate Networks)jednímzhlavníchzpůsobů,jakvyužítdostupnéinternetovépřipojeníkekomunikaci mezisubjekty(firmami,jednotlivci)smožnostíkomunikacizabezpečitaochránit. Existujících VPN řešení je celá řada a vybrat si to pravé konkrétní řešení není jednoduché. Vybudovat fungující VPN lze několika způsoby, já proto ve své práci proto nabízím čtenáři základnípřehledVPNtechnologiíapopisujijejichprincipy,abysečtenářmohlvoblastiVPN zorientovat.KonkrétnímožnostirealizaceVPNuvádímpomocívybranýchsoftwarovýchřešení dostupnýchprooperačnísystémy(některéjsoudostupnéiprojinéOS).Natěchtořešeních porovnávámvybranéparametryapomocísrovnánímohupomocičtenářirozhodnout,zdaněkteré uvedenéřešenívyužije. V kapitole následující po úvodu se zabývám virtuálními privátními sítěmi obecně a uvádím důvody,pročakčemulzeVPNvyužít. Třetíkapitolanastiňujezákladní,zejménabezpečnostní,požadavkynaVPNsítě. V další kapitole jsou popsány jednotlivé technologie VPN, rozdělené podle příslušnosti do různýchvrstevTCP/IPmodelu,atakézákladnípoužívanéprotokoly. NásledujícíkapitolyjsoujižzaměřenynapředstavenívybranýchVPNimplementacídostupných podoperačnísystémLinux.Jednotlivásoftwarovářešeníjsouohodnocenaaporovnávánapodle zvolenýchkritérií.

8 Kapitola2 TeoretickýúvoddoVPN

2.1 CojetoVPN?

ProVirtualPrivateNetworks(dálejenVPN),neboličesky„virtuálníprivátní(soukromé)sítě“ lzenaléztněkolikdefinicí.Jakjižsamotnýnázevnapovídá,jednáseosítě,jejichžsoukromíje umožněnočizajištěnopomocíurčitéformyvirtualizace. DefiniceVPNdlekonsorciaVPNC[2]: „VirtualPrivateNetwork (VPN)jeprivátnídatovásíť, která využívá veřejné telekomunikační infrastrukturyazajišťujesoukromípomocítunelovacíchprotokolůabezpečnostníchprocedur.“ Dalšímožnádefinicejenapříkladtato[3]: „VPNjezpůsobsimulacesoukromésítěveveřejnésíti,jakoujenapříkladInternet.Nazýváse „virtuální“protožezávisínapoužitívirtuálníhopropojení–tojedočasnéspojení,nepropojené fyzickypřímo,aleskládajícísezpaketůsměrovanýchrůznýmistrojinaInternetu,propojených adhoc.Virtuálníspojeníjsouvytvářenamezidvěmastroji,strojemasítinebodvěmasítěmi.“ VPNsítětedyumožňujívytvořitsoukromé,zabezpečenéspojenínaveřejnýchlinkách.SítěVPN mohoubýtvytvořenyzapoužitípříslušnéhosoftwaru,hardwaru,nebokombinacíobojího.Více ozpůsobuatechnologiíchvytvářeníVPNbudeobsahemdalšíchkapitol.

2.2 Motivace

Hlavní motivací pro vytváření VPN sítí je požadavek na zajištění soukromé komunikace při využitíexterníjižexistujícísíťovéinfrastruktury. Představme si soukromou síť, například uvnitř nějaké organizace, která umožňuje bezpečnou komunikacimezizaměstnanci.Ponějakédoběsefirmarozrostearozhodnesevybudovatdalší pobočkuvjinéčástirepubliky.Zároveňale chce, aby mezi sebou mohli všichni zaměstnanci nadálebezpečněkomunikovatapředávatsiinformace.Jevcelkuzřejmé,žerozšířenístávající sítěapřímépropojeníoboupobočekbymohlobýtvelice nákladné. Nastává tedy otázka, jak využítjinou,jižexistujícíinfrastrukturuapobočkytakspojitsezachovánímbezpečnosti. K zajištění takové zabezpečené služby pak slouží některé technologie uvedené v dalších kapitoláchmépráce,spadajícípodjednotnýpojemVirtualPrivateNetwork.

9 Vdobě,kdysezlepšilymožnostipřipojeníkInternetu,jaktechnologickétakicenové,zlepšilase takémožnostvytvářetVPNpomocíInternetu.Můžemetedyříct,žerozvojVPNjderukuvruce srozvojemInternetu. Nutno uvést, že vedle pravděpodobně nejrozšířenějšího způsobu propojení VPN pomocí Internetu, existují ještě plně privátní sítě. Využití Internetu pro VPN může mít pro určité organizacenevhodnéparametry(např.nedostatečnádostupnost,spolehlivost,kvalita)avtomto případěexistujemožnostvyužitíplněprivátníchsítí.NarozdílodVPNvyužívajícíchinternetové připojení je privátní síť uzavřenou síťovou strukturou s vlastním adresovacím schématem a směrovacíhierarchiídostupnoujenurčitéskupiněuživatelů.Pokudjenutnépropojitvzdálenější oblasti, využije se připojení přes pronajaté dedikované komunikační linky poskytovatelů spojovýchslužeb(nejčastějiATMaFrameRelay). PřeszjevnévýhodyvoblastibezpečnostijsouvšakplněprivátnísítěoprotiVPNpřesInternet zejménaekonomickynáročnější. VPNsítěmohoumít3základnípodobyatěmijsou[1]: 1) spojenítypu uzel–uzel(nebotakébod–bod ).Tojednesasinejrozšířenějšípřípad využití VPN. Jako příklad můžeme uvést i „obyčejné“ připojení klienta banky přes Internet k zabezpečené webové bankovní aplikaci, umožňující vzdáleně ovládat jeho účet.

Obrázek2.1:spojenítypuuzeluzel 2) spojenítypu uzel–síť(bod–síť).Příklademmůžebýtvzdálenépřipojenízaměstnanců do podnikové sítě, například na služební cestě. VPN jim umožní přístup ke všem dokumentům, ke kterým mají běžný přístup, jakoby seděli ve své kanceláři u svých podnikovýchpočítačů.Tomutotypupřipojenísetakéčastoříká„RoadWarrior“(česky „cestujícíválečník“)podlespojitosti,kdyjeklient(zaměstnanec)nucenpřistupovatdo vzdálené(podnikové)sítězneznámého(„nebezpečného–válečného“)prostředí.

10 Obrázek2.2:spojenítypuuzelsíť 3) spojení typu síť síť .Příklademmůžebýtvýšejižzmíněnépropojenílokálních sítí jednotlivých poboček firmy přes Internet nebo nějakého veřejného poskytovatele spojení.Všechnypočítačesepaktváří,žejsouvjednélokálnísíti.

Obrázek2.3:spojenítypusíť–síť

11

Kapitola3 PožadavkynaVPN

3.1 Bezpečnost

Virtuální privátní sítě jsou vytvářeny zejména z důvodu zajištění zabezpečené a snadné komunikace všech účastníků spojení. Na prvním místě v požadavcích na VPN je tedy bezpečnost. Bezpečnost je ale poměrně široký pojem a nemá jedinou a jednoznačnou definici. MezinárodnínormaISO[4]definujebezpečnosttakto: „Bezpečnost je zajištěnost proti nebezpečí a souhrn administrativních, logických, fyzických a technickýchopatřeníkdetekciaopravěnesprávnéhopoužitídanéhosystému“ Vnašempřípadějedanýmsystémemcelávirtuálníprivátnísíť. Tatouvedenádefinicenenínaprvnípohledpříliškonkrétníaprotojelepšídetailnějiuvést,jaké konkrétníbezpečnostnípožadavkybudemenaVPNklást.Základníbezpečnostípožadavkyjsou tyto:

• Autentizace – proces ověření, zda daná entita (uživatel) je skutečně ta, za kterou se vydává.Proověřenítotožnosti(identity)sevyužívá řada autentizačních metod. Mezi nejběžnějšímetodypatříprokázáníznalostinějakéhohesla,vlastnictvítajnéhoklíčeči bezpečnostníhocertifikátu.

• Autorizace – proces zjištění, zda daná entita (uživatel) má oprávnění k provedení požadované operace (např. k přístupu do soukromé sítě). Autorizace nastupuje po úspěšně uskutečněné autentizaci. Pro zajištění autentizace a autorizace lze využít například bezpečnostní protokoly RADIUS (Remote Authentication Dial In User Service)neboTACACS(TerminalAccessControllerAccessControlSystem)[5].

• Důvěrnost – cílem zajištění důvěrnosti je zabránit nepovolaným účastníkům komunikace přečíst soukromá data. K zajištění důvěrnosti dat se využívá šifrování. Šifrováníjeproces,kdysedatazapomocišifrovacího algoritmu a šifrovacího klíče zpracujído„těžkočitelné“podoby.Možnostdešifrovat zašifrovaná data bez znalosti dešifrovacíhoklíčejepakdánakvalitoušifrovacíhoalgoritmuatakédélkoupoužitého klíče.Čímvětšíúsilímusímenaprolomeníšifryvynaložit,tímmluvímeosilnějšíšifře. Mezišifrovacíalgoritmypatřínapř.DES,3DES,IDEA,Blowfishadalší.

• Integrita–přenesenádatamusíbýtmožnézískatpřesněvtakovépodobě,vjakébyla

12 odeslána.Jedůležitéudržetdataneporušenáamítmožnostzjistitchybuanesprávnost získanýchdat.Porušeníintegritydatmůžebýtnásledkem chybnéhospojení,aletaké například snahou útočníka podvrhnout přenášená data. Integrita dat se zajišťuje nejčastějipomocíšifrovacíchalgoritmů,hashovacíchfunkcíarůznýchopravnýchkódů.

3.2 Dalšípožadavky

DalšípožadavkynavlastnostiVPNsítípakmohoubýtněkteréznásledujících.Vždyzáležína konkrétníchpožadavcíchuživatelůneboorganizace,jejichseznamtedyneníúplný.

• Spolehlivostarobustnost–požadavek,abybylakomunikacespolehliváaodolnáproti výpadkům.

• Výkon – požadavek, aby síť měla dostatečnou přenosovou rychlost, malé zpoždění apod.VýkonuVPNsítíbýváčastonižšínežklasickákomunikace,napříkladzdůvodu náročnějšíhozpracováníašifrovánídat.

• Škálovatelnost–prořadusubjektůjedůležité,aby bylo možné VPN snadno a levně rozšířit.

• další

13 Kapitola4 TechnologieVPN

4.1 TechnologiepoužívanépřitvorběVPN

ProvytvořeníVPNexistujeřadatechnologiíavyužíváseřadaprotokolů.Vtétočástijednotlivé technologie představím, uvedu možnosti jejich využití, případně sdělím výhody a nevýhody, kterédanétechnologiemají.. RozdělitjednotlivétechnologieVPNlzeněkolikazpůsoby,například:

● dlezpůsobuzajištěníbezpečnosti 1. VPNsešifrováníminformací(např.využitíIPSec,SSL) 2. VPNnadůvěryhodnýchlinkách(např.ATM 1,FrameRelay 2)

● dlezpůsobusměrováníveVPN 1. „peer“model(např.BGP/MPLS)–směrovacívýpočetseprovádínakaždémuzlu nadrázedocíle 2. „overlay“ model (např. ATM, Frame Relay, GRE tunely) – vytvoření přímého spojenímezidvěma(koncovými)prvkysítě. Já podrobněji představím jednotlivé technologie z pohledu rozdělení dle funkčnosti sítě ve spojitostisvrstvamimodeluTCP/IP,kteréjemyslímpoměrněpřehledné[1].

4.2 SíťovýmodelTCP/IP

SíťovýmodelTCP/IP(podobnějakorozšířenějšímodelOSI)popisujezpůsobyjakbudevypadat síťovápropojeníakomunikace.Obasíťovémodelyjsourozdělenynavrstvy,kdekaždávrstva má definované služby a může komunikovat svrstvami sousedními. Model ISO/OSI je sedmivrstvý,modelTCP/IPječtyřvrstvý[6]. 1ATM–AsynchronousTransferModejestandardprovysokorychlostnísíťovouarchitekturupoužívající přepínáníbuněkpevnédélky. 2FrameRelayPřenosovásíťovátechnologie,pracujícíspřepínánímrámcůproměnnédélky.Používá sestavenívirtuálníchobvodůmezipropojenýmizařízeními[16].

14 Obrázek3.1:vrstvyTCP/IPmodelu 4.2.1 Spojovávrstva(Linkovávrstva–LinkLayer)

Spojovávrstvamánastarostiovládáníkonkrétnípřenosovécesty,respektivesítě.Starásetaké opřímévysíláníapříjemdatovýchpaketů.VrámcimodeluTCP/IPaleneníblížespecifikována, protožejezávislánapoužitépřenosovétechnologii. 4.2.2 Síťovávrstva(NetworkLayer)

Úkolem této vrstvyjepostarat se o to, aby sejednotlivé pakety dostaly od odesilatele až ke svému skutečnému příjemci. Součástí této vrstvy jsou prvky zajišťující adresaci a směrování. HlavnímprotokolemtétovrstvyjeIP(InternetProtocol). 4.2.3 Transportnívrstva(TransportLayer)

Tatovrstvamázaúkolzejménalogickéspojeníkoncovýchúčastníkůazajištěnípřenosudatmezi nimi.PřenosdatvtransportnívrstvězajišťujíprotokolyTCP(TrasmissionControlProtocol)a UDP (User Datagram Protocol). Protokol TCP zajišťuje garantovaný přenos paketů dle správnéhopořadí.ProtokolUDPzajišťujenegarantovanýpřenospaketů. 4.2.4 Aplikačnívrstva(ApplicationLayer)

Jejími entitami jsou jednotlivé aplikace (programy), které ke komunikaci využívají vlastní protokoly. Součástí této vrstvy jsou například protokoly FTP (File Transfer Protocol), HTTP (HyperTextTransferProtocol)neboSSH(SecureShell)[6].

15 VPNdleTCP/IPmodelutakmůžemerozlišitna:

● VPNnaspojovévrstvě

● VPNnasíťovévrstvě

● VPNnatransportnívrstvě

● VPNnaaplikačnívrstvě

4.3 VPNnaspojovévrstvě

Technologie vytváření VPN na spojové vrstvě pracují na principu podobném vytváření plně privátníchsítínavlastníchnebopronajatýchoddělenýchpřenosovýchlinkách.VytvořenéVPN na spojové vrstvě jsou pak nezávislé na vyšší přenosový vrstvě. Infrastrukturu těchto sítí s virtuálními obvody ve spojové vrstvě tvoří sítě ATM a Frame Relay. Za zvláštní typ VPN tvořenýchnaspojovévrstvěmůžemepovažovatvirtuálnísítě(VLAN).Technologievirtuálních sítí vznikla původně pro prostředí ethernetových přepínačů, ale používá se i v sítích ATM aFrameRelay. 4.3.1 VirtuálnísítěpomocíLANemulace

VirtuálnísítěVLANlzevytvářettechnologiíemulaceLANatodvěmazpůsoby,vzávislostina způsobupřipojenísdílenýchserverůkATM[1]:

1) SdílenéserveryjsoupřipojenykpáteřnísítipřímýmATMpřipojením. KvytvořenívirtuálnísítěVLANmeziuzly,musímepoužít technologii emulovaných lokálníchsítíchLANE(LANEmulation).ZákladnífunkcíLANEjeemulaceLANnad ATMsítí.LANEprotokoldefinujerozhraníproprotokolyvyšší(síťové)vrstvy.Pakety těchto síťových protokolů jsou pak posílány přes ATM síť a zapouzdřeny vLANE MAC rámcích. LANE protokol tedy umožňuje, aby ATM síť vypadala jako síť typu EthernetneboTokenRing. Základ LANE tvoří prvky LES (LAN emulation server), mapující MAC adresy na ATMadresy,aLEC(LANemulationclient)rozhraní,kterémusíobsahovatkaždýčlen emulovanéLAN(ELAN).PodlepožadavkůjednotlivýchLEC,překládáLESMACa ATMadresy.PotéspolumohoujednotlivíklientiLECkomunikovat. Protože klient LEC může být členem více sítí ELAN, standard LANE umožňuje vytvoření více překrývajících se virtuálních sítí. Tak mohou uzly z různých ELAN přistupovatkespolečnýmsíťovýmzdrojůmbeznutnostiprůchodupřessměrovač. Členy ELAN mohou být jen uzly ATM, zatímco členy VLAN mohou být jak uzly ATM, tak i uzly na standardních segmentech. Na členy ELAN tak můžeme pohlížet jakonapodmnožinuVLAN. Protože vjedné ATM síti se může vyskytovat více ELAN, je nutné zajistit jejich

16 propojení.Tojezajištěnopomocísměrovačů.Směrovánídatovýchpaketůpakprobíhá stejným způsobem jako u standardních sítí. Jednotlivým ELAN jsou přiřazena různá čísla a podle adresy cíle LEC pak pozná, že paket není lokální (cíl není na stejné ELAN)pošlejejnahlavnísměrovačdanéELANsítě,kterýpaketnasměrujedocíle. 2) TechnologieATMjepoužitapouzenapáteřníchpřepínačíchalevevlastnísítinejsou žádnékoncovéuzlyATM.VtomtopřípadějeprostředípáteřeATMprovirtuálnísítě zcelatransparentní.PřipojenéLANpřepínačekomunikujímeziseboubeztoho,žebysi „uvědomovaly“existenciATMsítěmezisebou 4.3.2 MPOA(MultiprotocoloverATM)

ProtokolMPOA(MultiprotocoloverATM)bylvyvinutzcílemintegrovatsměrovánísítíATMa umožnitjejichspoluprácisesítěmijinéhotypu.MPOAjenadstavboutechnologieLANE. V MPOA (Multiprotocol over ATM) sítích se ke směrování paketů používají tzv. „virtuální směrovače“. Virtuální směrovače emulují funkci tradičních směrovačů a používají směrovací techniku „cutthrough“. Touto technikou se datový tok mapuje přímo do přímého virtuálního spojenípřesATMsíťapaketysenemusízpracovávatpřiprůchoduvkaždémsměrovači,jakoje toutechniky„hopbyhop“.Můžetakdojítknárůstuvýkonudíkymenšímupočtuzpracování paketůnakaždémsměrovači. PrincipMPOA PrincipMPOAstandarduvycházízrozdělenífunkcítradičního víceprotokolového směrovače, tedy oddělení výpočetního zpracování směrování od vlastního fyzického směrování (přenosu) paketů mezi jednotlivými podsítěmi. Výpočetní zpracování (správa adres apod.) je prováděno MPOA serverem (MPS) a vlastní fyzické směrování paketů provádí koncová zařízení MPOA Clients(MPC)podlepokynůMPS. FunkceMPSjeintegrovánapřímodoATMpřepínačůnebofungujejakosamostatnýsměrovací server s ATM připojením. Funkce MPC je zabudována do okrajových ATM přepínačů a do připojenýchATMstanic.Zařízeníprovádějícísměrovacívýpočtyjsoutímfyzickyoddělenaod zařízeníchprovádějícívlastnífyzicképřenosy. VýhodaMPOAtechnologiejevdynamickyvytvářenýchvirtuálníchobvodechmezikoncovými uzly,kterévyžadujíméněnákladnoukonfiguraci.Nedostatkem MPOA sítě z pohledu VPN je omezení,danénutnostípoužitjednotnéhoATMprostředíjakopřenosovétechnologienaspojové vrstvě. 4.3.3 MPLS(MultiprotocolLabelSwitching)

MPLS (Multiprotocol Label Switching) je hybridní technologie, která integruje dva základní přístupyktvorběVPN: • směrovánínasíťovévrstvěapřepínánípaketpopaketu • vytvořenívirtuálníchobvodůnaspojovévrstvěapřepínánípodledatovýchtoků.

17 Integruje se tak směrování na síťové vrstvě s tzv. přepínáním podle značek (label switching).Vlastnípřepínánípodleznačekfungujenatomtoprincipu: Přenášená data jsou nejprve označena pomocí speciálních značek. Značky jsou přiděleny na základěrůznýchkritérii(např.cílováadresanebopříslušnostkurčitéVPN).Vrámcipřenosuv MPLS síti se pak data směrují podle těchto značek (ne podle adresy). Podle těchto značek a směrovací tabulky se směrovače rozhodují, kam data přenášet. Po přenosu na koncový prvek MPLSjsoujiždatadálesměrovánaklasickypodlecílovéadresy MPLS není svázána s žádnou specifickou technologií spojové vrstvy a může pracovat s libovolnýmmédiem,pokterémsedajípřenášetsíťovépakety. VPNvytvořenápomocíMPLSmajítřizákladnísložky: 1) řízenou distribuci směrovacích informací jako způsob vytvoření VPN a řízení vzájemnéhopropojenímezinimi 2) použitíidentifikátorů(VPNID)projednotlivévirtuálnísítěajejichprovázanostsIP adresamikjejich(potenciální)změněnaunikátníadresy; 3) využití přepínání podle značek (MPLS) na směrování paketů cestami, vytvořenými pomocíbodů(1)a(2). Shrnutí ArchitekturaMPLSjezaloženanaaplikaciznačeknapaket,vstupujícídosítěMPLS.Tímsepro daný paket určí sekvence přepínačů, kterými musí projít na své cestě mezi koncovými uzly a výstupními směrovači. Rozšířením této architektury z hlediska VPN je zavedení globálního identifikátoruCUG(ClosedUserGroupidentifier).Tentoidentifikátormůžebýtpřiřazenpaketu při vstupu do MPLS sítě a pak použit jako index ve směrovací tabulce pro VPN k určení počátečníznačky.NavýstupuzesítěMPLSjepakCUG znovu použit jako index v globální tabulceVPNkurčenívýstupníhosměrovače.

4.4 VPNnasíťovévrstvě

4.4.1 Filtrovánísměrovacíchinformací

VPN s filtrováním směrovacích informací je založené na principu omezení zveřejnění směrovacíchinformacíodosažitelnostijinýchsítí. V tomto případě směrovač, zastupující skupinu uzlů VPN, navazuje spojení s předáním směrovacíchinformacípouzesevstupnímsměrovačemsítěposkytovatelespojeníanesevšemi okolními sítěmi. Informace o dostupnosti, či přímo existence, sítě VPN tak nejsou vůbec zveřejňoványostatnímsítím,kterédoVPNnespadají. Představuozpůsobupoužitífiltrovánísměrovacíchinformacípřiblížínásledujícíobrázek.

18 Obrázek3.2:VPNsvyužitímfiltrovánísměrovacíchinformací HlavnímproblémempřivytvářeníVPNsvyužitímfiltrování směrovacích informací je zajistit bezpečnostfiltrujícíhozařízení,kteréumožňujesměrovánídoexterníchoblastímimoVPN.Toto zařízenípřipojujícíVPNkexternímsítím(např.k Internetu) jepak jakási „strážená brána do externího světa“ a většinou se jedná o nějaký typ firewallu umožňující potřebné bezpečností funkceapravidla(např.překladadresNAT,protožeceláVPNmusívyužívatpřidělenýjedinečný adresovýprostor).Jetakénutnézabezpečit,abyvšechny stroje uvnitř sítě VPN neměly jinou možnost propojit se s externími sítěmi jinak, než přes takto zabezpečená zařízení. Vpřípadě napadnutíjednohostrojepřipojenéhopřesnezabezpečenézařízeníbybylaohroženacelásíť. 4.4.2 VPNsvyužitímtunelů

Další metody budování VPN jsou založeny na takzvaných tunelech. Jak název napovídá, při vytvářeníspojenímezistrojiveVPNse(vnezabezpečené)částisítěvytvořítunel,vekterémpak komunikaceprobíháajeodexterníkomunikaceoddělena. 4.4.2.1 GREtunely

Nejčastějším používaným způsobem klasického tunelování pro spojení mezi zdrojovým a cílovým směrovačem je využití protokolu GRE (Generic Routing Encapsulation) vyvinutého firmouCisco.

19 TunelyGREjsoubudoványsměrovači,kterésloužíjakovstupníavýstupníbodydopáteřnísítě projednotlivéčástiVPN.SpeciálnězabalenépaketypřenášenétunelemobsahujípřídavnouGRE hlavičku(GREHeader)acílovouadresu,odpovídajícísměrovačinakoncitunelu.Vkoncovém bodětuneludojdekrozbalenípaketuanáslednésměrovánípaketudocílejižpokračujepodle informacívesvépůvodníIPhlavičce.

Cílováhlavička

Původnípaket GREhlavička

Původnípaket

Obrázek3.3:vytvořeníGREpaketu GREtunelyjsouobecnětypubodbod,tzn.,žeprotunelexistujejenjednazdrojováajedna cílováadresa.Některéfiremníimplementacevšakumožňujíkonfiguracibod–vícebodů,tedy existencivícecílovýchadres.

Obrázek3.4:tunelováníGRE[1] Výhodoutétoimplementacejejednoduchámožnostodděleníadresace.Všechnypřístupovébody do páteřní sítě a zároveň koncové body vytvořených tunelů, používají adresaci a směrování společnépáteřnísítě.Technikatunelovánípoužíváadresacikoncovýchbodůtunelůzadresového prostorupáteřnísítěapaketypřenášenétunelem,používajíadresyzadresovéhoprostoruVPN.

20 Tím dojde k odstínění obou adresových prostorů a směrování v obou sítích jsou od sebe izolována.DíkytomumůžemepoužítvrámciVPN(vícenásobně)privátníadresovýprostorpro víceVPNnaspolečnésdílenésíti. Díky využití tunelů můžeme také přenášet v podstatě libovolný síťový protokol beze změny, docházítakksimulaciprivátnídedikovanésítě. Nevýhodou využití tunelů k vytváření VPN je administrativní náročnost a škálovatelnost, předevšímpřivytvářenívětšíhopočtutunelů,zejménatypuuzel–síť.VšechnyGREtunelymusí býtpředem(manuálně)zkonfigurovány.Vzávislostinavelikostisítěapočtuvytvářenýchtunelů takvzrůstánáročnostnakonfiguraciaúdržbutunelovanýchspojení.Problémemmůžebýttaké nedostatečný výkon koncových bodů tunelů zajišťujících zpracování velkého počtu paketů. A další nevýhoda také spočívá v absenci přímé implementace bezpečnostních mechanismů (šifrování). 4.4.2.2 VPNskomutovanýmpřístupem

DalšítypVPNsvyužitímtunelů,jsousítěskomutovaným přístupem VPDN (Virtual Private DialNetworks).TytosítěsevyužívajíuspojeníVPNtypuklient–server. Usítískomutovanýmpřístupemsevyužívajípřevážnědvastandardy[1],[5]. 1) PPTP(PointtoPointTunnelingProtocol) Protokol PPTP byl vytvořen společnostmi US Robotics, Microsoft, 3COM, Ascend CommunicationsaECITelematics.SpecifikovánjevRFC 32637,alestandardizován dleIETF(InternetEngineeringTaskForce[10])není. PPTPprosvoučinnostvyužíváprotokolPPP(PointtoPointprotocol),kterýzajišťuje vzdálený přístup mezi dvěma body. PPTP nad tímto protokolem vytváří klientem inicializovanétunely. PůvodnípaketjenejprveobalendoPPP,dálepakdoupravenéverzeGREprotokolua nakonecpředánprotokoluIP,kterýokoloněhovytvoříještějednuhlavičku,abymohl býtsprávněpřenesen. 3RFC(RequestForComments)–soubordokumentůdefinujícíchinternetovéstandardy,spravovaný sdruženímIETF[17]

21 PůvodníIP

PPP PůvodníIP hlavička zašifrovaný

IP GRE PPP PůvodníIP hlavička hlavička hlavička zašifrovaný Obrázek3.5:vytvořenípaketuvPPTP VytvořeníPPTPtuneluprobíhávedvoukrocích: 1. UživatelsespomocíPPPspojenípřipojíkpřístupovémuserveru,zdejealedané PPPspojeníukončeno. 2. NásledněsespustíPPTPklientanadTCPportem1723 se vytvoří PPTP řídící spojení s požadovaným PPTP serverem dosažitelným v rámci standardních směrovacích informací a ke kterému má klient přístupová práva. PPTP tunel je tedyvytvořenPPTPserverembeznáslednéúčastipřístupovéhoserveru. Pro autentizaci se využívají funkce protokolu PPP, který podporuje protokoly PAP (Password Authentication Protocol), CHAP (Challenge Handshake Authentication Protocol),neboMSCHAP(MicrosoftChallengeHandshakeAuthenticationProtocol), případně novější verze MSCHAPv2. Pro šifrování se využívá protokol MPPE (MicrosoftPointtoPointEncryption)pracujícísalgoritmemRSARC4asklíčiodélce 40128bit. Pro kompresi lze využít protokol MPPC (Microsoft PointtoPoint Compression).

Obrázek3.6:VPNpomocíPPTP[1]

22 OmezeníprotokoluPPTP ProtokolPPTPjevelicerozšířenatozejménadíkyspolečnostiMicrosoft,kteráhoplně propagujevesvýchproduktech.PPTPklientjejižsoučástíjejichoperačníchsystémů. Proto jsou VPN sítě realizované na protokolu PPTP často k vidění u firem s požadavkemnasnadnýpřístupřadovýchzaměstnancůdopodnikovésítě„odkudkoliv“ abezsložitéinstalacepřístupovýchklientů. Tatovlastnost(snadnározšiřitelnostajednoducháimplementace na straně klienta) je častonejvětšímdůvodemprovyužitíPPTP,bohuželaletentoprotokolmájednuvelkou nevýhodu.VlastnístandardprotokoluPPTPtotižpřesněnedefinuje,jakýmzpůsobem má probíhat autentizace a šifrování dat. Může se tedy stát, že dvě zařízení různých výrobců s podporou PPTP spolu nebudou moci komunikovat, protože zajišťují autentizacičišifrováníjinýmzpůsobem. ZranitelnostPPTP FirmaCounterpaneInternetSecurity,založenáBrucemSchneierem(mj.spoluautorem šifrovacích technologií Blowfish a Twofish), zveřejnila informace o zranitelnosti protokolu PPTP. Dle Schneiera a Mudge, kteří se podrobně zabývali implementací PPTP od společnosti Microsoft, je autentizační protokol slabý a je napadnutelný slovníkovýmútokem.Většinuhesellzebezproblémověodhalitběhemněkolikahodin aproblém se týká obou typů šifrování (40bitového i 128bitového). Mimo to lze v návrhunaléztiřadudalšíchchyb,díkykterýmlzeprotimožnémušifrovánívéstdalší útoky.NeníproblémzneužítmechanismusdohodyspojenívPPTPaotevřítsitakjeho spojení.ProtiuživatelůmPPTPodMicrosoftusetaksnadnodávéstněkolikvážných útokůsodepřenímslužeb[5]. Nazávěrnutnopřipomenout,žeuvedenázranitelnostsenetýkáprotokoluPPTPjako takového,alejehokonkrétníimplementace(autentizačníhoprotokoluMicrosoftCHAP, MSCHAPv2)voperačníchsystémechWindows,kteráješpatněnavržená.Vzhledemk možnostempoužítijinéšifrovacíaautentizačnímechanizmy,nelzeprotokolemPPTP zcelaopovrhovat. BližšíinformacekuvedenéanalýzelzenaléztnastránkáchB.Schneiera[7],[8] 2. L2TP(Layer2TunelingProtocol) Novější model L2TP vychází ze staršího standardu L2F (Layer 2 Forwarding) od společnosti Cisco Systems a ze specifikace PPTP od Microsoftu. Protokol L2TP je popsán v RFC 2661. Varianta využívající navíc protokolu IPSEC pro zajištění důvěrnostisenazýváL2TP/IPSECajepopsánavRFC3193[1],[5].

23 PůvodníIP

PPP hlavička PůvodníIP

UDP L2TP PPP hlavička hlavička hlavička PůvodníIP

IPSec UDP L2TP PPP PůvodníIP IPSec ESP hlavička hlavička hlavička zašifrovaný ESP hlavička trailer Obrázek3.7:vytvořeníL2TP/IPSECpaketu ZákladnímidvěmaprvkyprotokoluL2TPjsoupřístupový koncentrátor L2TP Access Concentrator(LAC),vekterémjefyzickyzakončenvytáčenýhovor,asíťovýserver L2TPNetworkServer(LNS),kterýzakončujeapřípadněautentizujedatovýproud. Vytvořenítunelupropřipojeníuživateletopodnikovésítěprobíhátakto. 1. UživatelzahájíPPPspojeníkposkytovatelispojení(ISP). 2. Přístupovákoncentrátor(LAC)totospojenípřijme. 3. Uživatelsisesíťovýmserverem(LNS)dohodneparametryprotokoluLCP(Line ControlProtocol)aopětpřístupovýkoncentrátorLACprovedečástečnou autentizaciuživatele.KautentizacimůžeLACvyužívatzvlášťpřipojeného autentizačníhoserveru(např.RADIUS). 4. PokuduživatelneníprávoplatnýmklientemsítěVPN,klientnenípřipuštěnke koncovémubodu(LNS).Pokudjeautentizaceúspěšná,klientjenasměrovánna koncovýbod(LNS). 5. NynídojdekvytvořeníoboukoncůtunelumeziLACaLNS. 6. PovytvořenídanéhoVPNtunelusevytvoříkomunikačnírelaceL2TP,přeskterou koncovýuživatelvstoupídopodnikovésítě.

24 Obrázek3.8:VPNpomocíL2TP[1] VýhodyprotokoluL2TP:

• L2TP je postaven na standardech, a je tak zajištěna lepší spolupráci různých zařízeníL2TPodrůznýchvýrobců.

• podporavíceprotokolovýchprostředí.(L2TPumožňujepřenášetrůznésměrovací protokolyjakoIP,IPXčiAppleTalk).DáleL2TPpodporuje veškeré přenosové technologievsítíchWANsítíchjakojeFrameRelay,ATM,X.25aSONET

• za šifrování je odpovědný standardizovaný protokol IPSec. Je tedy zajištěna autentizace,integritadat,důvěrnostdat,případněochranaprotiopakovánírelace (ochranuprotiopětovnémuzasíláníprouduzachycených,tzv.ReplayAttacs). SrovnáníPPTPaL2TP Protože protokol L2TP vychází z protokolu PPTP, mají řadu společných vlastností, zejména to, že oba jsou postaveny na protokolu PPP. Dále oba protokoly zajišťují funkcetunelováníazapouzdření,takžeposítiIPjesnimimožnézasílatzátěžPPPnad libovolným protokolem. Proces spojení PPP využívají také k autentizaci uživatelů a vlastníkonfiguraci. Vtomtosenaopakliší:

• ProtokolPPTPumožňujeautentizaci,kompresiašifrování,alesamotnýprotokol L2TP šifrování dat neobsahuje, to umožňuje až zkombinovaný protokol L2TP/IPSec.

• Protokolu PPTP zahajuje šifrování až po dokončení procesu spojení PPP (po autentizaci PPP). Protokol L2TP/IPSec využívá šifrování dat již před procesem spojeníPPP.

• Protokol PPTP vyžaduje pouze autentizaci na úrovni uživatele, zatímco L2TP kroměnípožadujenavíctakéautentizacipočítače,definovanoucertifikátem.

• Protokol PPTP nemá problémy se sítěmi sNAT (překlad síťových adres). VpřípaděprotokoluL2TPjekpoužitísítísNATnutné, aby strany podporovali

25 NATT(IPSecNATTraversal) PPTP L2TP/IPSec klady • Jednoduchost • PodporaNAT • • ZabudovanápodporavOSMicrosofta Bezpečnost(dvojíautentizace) tudížvelkározšířenost zápory • Nenímožnézjistitskutečnéhopůvodce paketu • Složitost • Nezcelastandardizovanáspecifikace • ProblémysezabezpečenímuOS • ProblémysNAT Microsoft Tabulka3.1:srovnáníPPTPaL2TP/IPSec 4.4.3 VPNsvyužitímšifrovánínasíťovévrstvě

VytvářetVPNlzetakéspomocíšifrovánínasíťovévrstvě. 4.4.3.1 ProtokolIPSec

ArchitekturaIPSec(IPSecurity)představujevsoučasnostijednoznejlepšíchřešeníprobudování VPN[5],[9]. IPSecvyužívárůznékryptografickétechnologieazajišťuje:

● důvěrnost(např.pomocíšifrováníDES,3DES,AES)

● integritu(např.pomocíhashovacíchfunkcíMD5,SHA)

● autentizaci ArchitekturaIPSectak,jakexistujevsoučasnédobě, je vlastně souhrnem několika protokolů definovanýchsdruženímIETF(InternetEngineeringTaskForce[10]).IPSecjeimplementován jakvIPv4,takpovinněivIPv6.IPSecjedefinovánvřaděRFCjižodroku1995amezizákladní dokumentypatříRFC2401a2411. Základ tvoří protokoly AH (Autentification Header) a ESP (Encapsulating Security Payload). TytoprotokolypozměňujípůvodníIPhlavičkypaketůacelkověpaketzabezpečují.

• ProtokolAH zajišťujeintegritudataautenticituodesílatele,nezajišťujevšakšifrování dat. Pomocí jednosměrného hashe vytváří z paketu pouze otisk dat. Ke generování otisku se používají algoritmy SHA1 nebo MD5. AH také umožňuje ochranu před opakováním relace (tzv. Replay Attack), tedy zachytávání paketů útočníky s cílem zmatení příjemce či vyřazení příjemce z provozu. AH v sobě nese pořadové číslo paketu(tzv.Sequencenumberfield).

26 PůvodníIPpaket

IPhlavička IPdata

AHvtransportnímmódu

IPhlavička AHhlavička IPdata

Autentizováno

AHvtunelovacímmódu

NováIPhlavička AHhlavička IPhlavička IPdata

Autentizováno Obrázek3.9:IPSecAH • Protokol ESP zajišťuje autenticitu odesílatele, integritu dat a také šifrování. StandardněsedatašifrujípomocíDES,aleprotožesetentoalgoritmusjižnepovažuje za zcela bezpečný, využívá se častěji jeho vylepšená varianta 3DES. Není ale vyloučenopoužítijinéalgoritmy(např.Blowfish).

PůvodníIPpaket

IP IPdata hlavička

ESPvtransportnímmódu

IP ESP ESP ESP IPdata hlavička hlavička trailer auth

Šifrován o Autentizováno

ESPvtunelovacímmódu

NováIP ESP IP ESP ESP IPdata hlavička hlavička hlavička trailer auth

Šifrováno Autentizováno Obrázek3.10:IPSecESP

27 Požadované zabezpečené spojení je uskutečněno vytvořením šifrovaného tunelu mezi dvěma koncovýmizařízeními(router,firewallapod.).VIPSecexistujídvarežimyšifrování.Obaseliší svýmuplatněnímatakéobjememrežie,doplněnýmkpřenášenémupaketu.

• Transportní mód –původníIPhlavičkajezachovánaaupravujese(šifruje) pouze datová část paketu. Výhodou transportního módu jsou nižší nároky na přenosové pásmo. Tím, že jsou k dispozici informace o cílovém zařízení, lze rovněž během přenosupaketusítíaplikovatněkterénadstandardnímechanismy(např.kvalitaslužeb– QoS).TransportnímódsenejčastějipoužívápřiautentizacivzdálenýchklientůVPN.

• Tunelovacímód –původnídataspolusIPhlavičkoujsouzabalenaachráněnavnově vytvořeném IP paketu. Nový paket obsahuje IP adresu odesílatele a příjemce z transportníIPsítě.Tunelovacímódmůžespolupracovatsoběmaprotokoly(ESPiAH). Vsoučasnostisetentomódpoužíváčastěji. Bezpečnostníasociace (SecurityAssociation,dálejenSA) AbybylomožnézapouzdřeníavybalenípaketusAHneboESPjepotřebatajnýklíč,algoritmus adalšíúdaje.TytoinformacejsouuloženyprávěvSecurityAssociation. SA zavádějí vztah důvěry mezi dvěma partnerskými zařízeními a koncové body sítě VPN se pomocí nich dohodnou na přenosových pravidlech. SA si vzájemně potvrzují zásady (tzv. politics)spotenciálnímpartnerem,jaképarametrybudenavazovanéspojenímít. SAobsahují:

• zdrojovouacílovouIPadresuneborozsahadres

• IPSECprotokol(AHneboESP),případněIPCompprokomprimaci

• algoritmusatajnýklíč

• securityparameterindex(SPI)–jednoznačnáidentifikaceSAzapsanájako32bitové číslovhlavičcepaketu dleimplementacemohouněkteráSAnavícobsahovat:

• IPSECmód(tunelnebotransport)

• životnostSA,klíče

• velikostposuvnéhookna(uobranyprotiReplayAttacs) JednotlivémnožinySAjsoupakuloženyvcentrální databázi Security Assocciation Database (SAD) . SApouzespecifikujejakIPsecchránídatovýprovoz.Dalšíinformacejepotřebnáprodefinování toho, který datový provoz chránit. Tato informace je uložena v Security Policy (SP) , které je uloženovdatabázi SecurityPolicyDatabase(SPD) . SecurityPolicyobvykleurčujetytoparametry:

28 • Zdrojová a cílová adresa paketů, které se mají chránit.Vtransportním módujsouto stejnéadresyjakovSA.Vtunelovémmódusemohoulišit.

• Protokol a port, jež se mají chránit. V některých případech, kdy nelze tyto údaje definovatsechráníveškerýdatovýprovozmeziuvedenýmiadresami.

• SA,kterésemápoužítproochranupaketů. Rozlišujemedvatypybezpečnostníchasociací:

• Proprvotnídohoduklíčů,autentizacipartnerůavytvořeníbezpečnéhokomunikačního kanálu,tzv. InternetKeyExchangeSA .

• ProvlastníkomunikacivIPSec(IPSecSA ).AsociaceIPSecSAjsoujednosměrnéaje protonutnézavéstsamostatnéSAprokaždýsměr. Vevirtuálnísoukromésítimusíbýttajnéklíčeašifrovacíalgoritmysdílenémezivšemiúčastníky komunikace. Bezpečně nastavit SA a vyměnit tajné symetrické klíče můžeme opět dvěma způsoby:

• ručníkonfigurací.Totořešeníalenenípřílišpohodlnéajepoměrněnáchylnénachyby. Dohodnutí a nastavení SA tak musí VPN partneři provést před spuštěním síťového provozu. Předem dohodnuté klíče se také špatně mění a často zůstávají původní po dlouhoudobu,cožsnižujebezpečnost.

• svyužitímprotokolu IKE(InternetKeyExchange) .PomocíprotokoluIKEpopsaného dále lze autentizovat (ověřit) partnery komunikace a zároveň spravovat bezpečnostní klíčeajejíchvýměnu. ProtokolIKEzajišťujedohoduklíčů,autentizacipartnerů,správuklíčůajejichvýměnu.Jeto obousměrný protokol a vytváří bezpečný komunikační kanál mezi oběma zařízeními, která se dohodnou na šifrovacím algoritmu, hashovacím algoritmu, autentizační metodě a případných informacíchoskupině.VýměnaklíčůvycházízalgoritmuDiffieHellman,případněvylepšená verze STS (StationToStation) sobranou proti útokům typu „Man in the middle“ (útočník odposlouchávápaketyvsítiaupravenéjevkládázpětdokomunikačníhoproudu). IKEprotokolfungujevedvoufázích.Vprvnífázisevytvářítzv.ISKAMPSA,jejímžcílemje dohodnutí parametrů přenosu pro vzájemnou komunikaci. Po dohodnutí a zavedení bezpečnostníhokanálusepřejdenafázidruhou,vekterésezapomocidohodnutéISKAMPSA ustanovídalšíbezpečnostníparametryazavedoujednotlivéIPSecSAsnutnéprovlastnípřenos uživatelskýchdat. Internet Security Association and Key Management Protocol (ISAKMP) je systém, který definujemechanismusimplementaceprotokoluvýměnyklíčůadohodyozásadáchzabezpečení. ISAKMPsloužíprobezpečnouvýměnuparametrůSAatvorbuasprávubezpečnostníchklíčů vIPSec.VsoučasnédoběpodporujeISAKMPjedinýprotokolatoIKE[5].

29 Shrnutí VPNzaloženánaprotokoluIPsecjsoudíkyimplementacinasíťovévrstvělehceškálovatelná. Protožekšifrovánídocházíprávěnasíťovévrstvě, není tak zabezpečení vázáno na konkrétní aplikace (např. na rozdíl od SSL) a budovaná VPN může být platformě nezávislá. Navíc lze IPSecpoužítivkombinacisjinýmiVPNřešeními(GRE,L2TP[1]).

4.5 VPNnaaplikačníatransportnívrstvě

ProvytvářeníVPNnavyššíchvrstváchTCP/IPmodelu,tedyaplikačníatransportnívrstvěse nejčastěji využívá bezpečnostní protokol SSL původně vyvinutých společností Netscape Communications. 4.5.1 ProtokolSSL(SecureSocketLayer)

Bezpečnostní protokol SSL definuje způsob šifrování a autentizaci komunikujících stran. ProtokolTLS(TransportLayerSecurity)jenásledovníkemprotokoluSSLavesvéverzi1.0je, ažnamalérozdíly,sSSLveverzi3.0totožný.ČastoseprotouvádísloženýzápisSSL/TLS. ProzajištěníbezpečnostivyužíváprotokolSSLasymetrickouasymetrickoukryptografii.Před vlastnímpřenosemsioběstrany(aplikace)ověřítotožnostpomocíasymetrickékryptografie(za pomoci veřejných a soukromých klíčů). Po úspěšné autentizaci dále pokračují v komunikují pomocí symetricky šifrovaných zpráv (např. s využitím algoritmů 3DES, RC4). Integrita přenášenýchdatpakbývázajištěnapomocíhashovacíchfunkcí(např.SHA,MD5). ŘešeníVPNpomocíSSLmářaduvýhod.Jednouznichjsounízkénákladynaprovoz.Šifrovaná data přenáší samotná aplikace, která SSL implementuje a bývá jí často webový prohlížeč. VpodstatěvšechnydnešníwebovéprohlížečeSSLpodporujíavpřípaděvyužitíprohlížečejako VPN klienta, odpadá problém s instalacemi samostatných softwarových klientů. To ulehčuje práci správcům takovýchto VPN. Klienti mohou přistupovat do VPN sítí zrůzných počítačů, které mají vdanou chvíli kdispozici bez starostí se sháněním a instalací VPN klientů. Vtakových případech je ale nutné uživatele poučit o nebezpečí využití neznámých a zejména nedůvěryhodných počítačů. Neznámé počítače mohou obsahovat špiónské programy, či jiný nebezpečný software, který by mohl odhalit přístupové heslo do sítě VPN a mohla by být bezpečnost sítě ohrožena. Existují však také SSL VPN řešení umožňující vzdálenou kontrolu parametrůpřistupujícíchpočítačů(např.kontroluverzeoperačníhosystému,běžícíhofirewallua antiviru) a podle získaných informací umí nastavit přístupová práva a služby pro vzdálené uživatele. Přesto je lepší používat pouze důvěryhodné a zabezpečené počítače a vurčitých případechomezitpřístupjennaméněcitlivádataaslužby. Nevýhoda využití SSL VPN pomocí webových prohlížečů může být také skutečnost, že tato řešenímůžoupodporovatpouzeomezenékomunikačníslužby(přenossouborů,emailapod.). ProzajištěnívíceslužebjenutnévyužítspeciálníchinstalovanýchVPNklientů.Takovésítějsou srovnatelnés„tradičními“VPNřešeními,alezacenuztrátysnadnérozšiřitelnostiVPN.

30 Shrnutí SSLVPNnaleznouvyužitípřevážněprospojenítypubod–bod,propropojenímenšíchsítía zejménapropřipojenícestujícíchuživatelůkfiremnímsítím(bod–uzel).Prospojenírozsáhlých sítívzdálenýchpobočeksepřílišnepoužívají.

31 Kapitola5 VPNřešení

ProtutoprácijsemvybralpětsoftwarovýchVPNřešení,kteréjsemotestovalavtétokapitoleje představím.

5.1 Testovacísestava

Vybraná řešení byla instalována a testována na jednoduché, isolované 100Mbit lokální síti tvořené dvěma počítači spojené UTP kabelem přes switch. Na obou strojích byl instalován operační systém UBUBTU Linux vnejnovější verzi 7.04 Feisty Fawn, se kterým mám dobré zkušenosti.TatolinuxovádistribucevycházízeznámedistribuceDebianapřesto,žejepoměrně mladá(odroku2004),stalaseoblíbenouprosvojiuživatelskoupřívětivostadobroukomunitní podporu,kterájeschopnáaochotnápomoci. Počítačč.1(server):StolníPC • procesor:AMDAthlon2500+,jádroBarton • operačnípaměť:512MBRAM • síťovýadaptér:Intel211143BasedPCIFastEthernetAdapter100Mbit • používanáIPadresa:192.168.0.1 • používanáIPadresavevirtuálnísíti:10.0.0.1 • operačnísystém:UBUBTULinux7.04FeistyFawn,verzejádra2.6.2015 Počítačč.2(klient):Notebook • procesor:IntelCeleron2,4GHz • operačnípaměť:494MBRAM • síťovýadaptér:RealtekTRL8139/810x100Mbit • používanáIPadresa:192.168.0.5 • používanáIPadresavevirtuálnísíti:10.0.0.2 • operačnísystém:UBUBTULinux7.04FeistyFawn,verzejádra2.6.2015 Dalšípoužitéprvky: • switch:OvislinkLiveFSH5R

32 5.2 VPNřešení

VPN řešení jsem vybíral s hlavním požadavkem na funkčnost v operačním systému Linux. Některétestovanéaplikacejsoudostupnéiprojinéoperačnísystémy,vnichsemůžeinstalace akonfigurace lišit. Případným zájemcům o zmíněné aplikace proto doporučuji navštívit domovské webové stránky, kde se dozví více informací a naleznou podrobnější návody, rady nebo řešení možných problému, které se mohou při provozování VPN vyskytnout. Nutno poznamenat,žeuváděnéinformacejsoudostupnévětšinoupouzevanglickémjazyce. 5.2.1 OpenVPN

Domovskástránka:http://openvpn.net/ OpenVPN je široce konfigurovatelné VPN řešení, umožňující propojení dvou a více sítí. OpenVPN je open source řešením a je licencován dle GPL (General Public Licence), je tedy dostupnézdarma. hlavnícharakteristika[11]: • prozabezpečenísevyužívátechnologieprotokolůSSL/TLS. • prokomunikacisevyužívávirtuálnízařízeníTUN/TAP • dostupnostprořaduOS(Linux,Windows2000/XP,OpenBSD,FreeBSD,NetBSD, MacOSXaSolaris) • podporarežimů1:1(tunel)neboN:1(režimklient/server) • autentizacezapoužitísdílenéhoklíčepřípadněX.509certifikátů • odolnostpřipoužitínanekvalitníchlinkách • volitelnákomprese • snadnákonfigurace • standardněpoužívápropřenosUDPprotokol,alelzepoužítiTCP • komunikaceprobíhánajedinémportu(snadnosenastavujefirewall) OpenVPN je řešení pracující na technologii zabezpečení komunikace pomocí protokolů SSL/TTL. K šifrování lze použít jakýkoliv algoritmus dostupný v použité SSL knihovně. Zabezpečeníjetaknavysokéúrovni.Jedokoncemožnénastavitvelikostreplaywindowjako obranuprotiútokůmReplayAttacs. OpenVPN démon běží v uživatelském režimu a komunikuje prostřednictvím rozhraní TAP (univerzální síťový ovladač poskytující ethernetové rozhraní) nebo TUN (univerzální síťový ovladač poskytující dvoubodové rozhraní), která jsou nyní standardní součástí linuxových distribucí. Vytvořená TUN či TAP rozhraní všechna přijatá data předávají uživatelskému procesu,kterývystupujevrolisíťovékarty. ProkomunikaciseimplicitněpoužíváprotokolUDP(jemožnévyužítiTCP)avšeprobíhána jedinémportu,snadnosetedykonfigurujefirewall.

33 Instalace Instalace je poměrně jednoduchá. Nejjednodušší je instalace pomocí stáhnutého balíčků pro danoudistribuci.Jájsemprogramstáhnulzdomovskýchstránekveformězdrojovéhokódua nainstalovalpomocítrojicestandardníchpříkazů: ./configure make make install

PředinstalacíjenutnémítnainstalovanouknihovnuOpensslapokudchcemepoužívatkompresi, taktakéknihovnuLZO. 1. Modelpropojeníbod–bodsvyužitímsdílenéhoklíče . Vytvořenítunelumezidvěmastranamispoužitímsdílenéhoklíčejejednoduché.[11]Níže uvedený příklad je pro nejjednodušší přímé propojení pouze dvou počítačů. Mezi těmito strojinynípopíšivytvořeníšifrovanéhoakomprimovanéhotunelusesdílenýmklíčem. Nejprvevygenerujemetajnýklíč,napočítačič.1,pomocí: --genkey --secret /etc/openvpn/secret.key

Pobezpečnécestěhodopravímenadruhýpočítač. Na počítači č. 2 vytvoříme konfigurační soubor s příponou .conf , např. /etc/openvpn/vpn.conf ,kterýbudemíttentoobsah(řádkys#jsoukomentáře, nemusí být součástísouboru): #adresa vzdálené strana remote 192.168.0.1 #nastavení IP adresy ve VPN a sí ťové masky ifconfig 10.0.0.2 255.255.255.0 #číslo portu port 5001 #protokol proto udp #typ a číslo virtuálního za řízení tun/tap dev tun #soubor se sdíleným klí čem secret /etc/openvpn/secret.klic ping 10 #použití lzo comp-lzo #upovídanost OpenVPN verb 6 mute 10 user openvpn

34 group openvpn Stejnýkonfiguračnísouborvytvoříme(zkopírujeme)napočítačč.1,alenížeuvedenéřádky změníme: remote 192.168.0.5 ifconfig 10.0.0.1 255.255.255.0

AnakonecVPNspustímepříkazem: openvpn --config /etc/openvpn/vpn.conf

V systémech se nám objeví zařízení tap0 se zvolenými IP adresami. Od této chvíle je komunikacemezistrojišifrovánaavtomtopřípadětakékomprimována 2 Modelpropojeníklient–serversvyužitímcertifikátů. OpenVPN od verze 2.0 umožňuje pracovat také v režimu klient/server. Lze tedy tento software využít například pro vytvoření podnikového VPN serveru, který umožní přistupovatvícezaměstnancůmdolokálnísítě. Vrežimuklient/serverjevhodnépoužítautentizacipomocícertifikátů.Vtomtopřípaděby použití jenom sdílených klíčů bylo omezující. Je tedy nutné mít k dispozici nějakou certifikačníautoritunebonějaképlatnécertifikáty[14].Sdílenéklíčelzepoužítjakodalší bezpečnostníprostředek,kterýsepoužijenapř.propodepisovánířídícíchdat. Nastavení 1) Naserveru(počítačč.1)vytvořímekonfiguračnísoubor/etc/openvpn/vpn_server.conf #režim klient/server mode server #ozna čení serveru tls-server dev tun proto udp port 5000 #adresa serveru ifconfig 10.0.0.1 255.255.255.0 #rozsah adres klient ů ifconfig-pool 10.0.0.2 10.0.0.100 255.255.255.0

#nastavení SSL #certifikát certifika ční autority ca /etc/openvpn/cacert.pem #certifikát serveru cert /etc/openvpn/server.crt #klí č serveru key /etc/openvpn/server.key

35 #soubor s parametry protokolu Diffie-Hellman dh /etc/openvpn/dh1024.pem #parametry logování log-append /var/log/openvpn #jméno logovacího souboru status /var/run/openvpn/vpn.status 10 comp-lzo verb 5 VPNspustímepříkazem: openvpn --config /etc/openvpn/vpn_server.conf . 2) Naklientovi(počítačč.2)vytvořímesoubor /etc/openvpn/vpn_klient.conf #vzdálená strana serveru remote 192.168.0.1 5000 tls-client dev tun proto udp # stažení konfigurace ze serveru pro vzdálenou správu pull #certifikát CA ca cacert.pem #certifikát klienta cert klient.cert #klí č klienta key klient.key comp-lzo verb 3 OpenVPNspustímepříkazem: openvpn --config /etc/openvpn/vpn_klient.conf 5.2.2 Openswan

Domovskástránka:http://www.openswan.org Openswan(OpenSecureWideAreaNetwork)jesadanástrojůproimplementaciprotokoluIPsec voperačnímsystémuLinuxaumožňujevytvořittunel mezi dvěma sítěmi. Je pokračovatelem aplikaceFreeS/WAN.,známéstaršíimplementaceprotokoluIPSecvLinuxu.Jedostupnázdarma podlicencíGNU/GPL. Openswanmádvěhlavníkomponenty:

• KLIPS–zajišťujícífunkceIPSec(šifrování,autentizaci,kompresi) • PLUTO–nástrojprosprávuklíčůavýměnuklíčů(IKE)

36 Instalace Openswan,spoluspodpůrnýmimoduly,lzestáhnoutveforměbalíčku.ProLinuxysestaršími jádry(nižšínež2.6)jenutnékompilovatjádroapřidatdonějpodporuproprotokolIPSec. Konfigurace KonfiguraceOpenswanumájednupříjemnouvlastnost.Konfiguračnísouboryproobapočítače nakoncíchtunelůmohoubýtstejné.Stačívytvořit jeden konfigurační soubor a přenést ho na druhýpočítač.Jetodánotím,žepřikonfiguracisi „označíme“počítačnajednéstranětunelu jako left a druhý jako right. Openswan automaticky pozná na které straně tunelu se počítač nachází. Nejprveseuoboupočítačůpřesvědčíme,žemajísoubor etc/.secrets vekterémsenachází šifrovacíklíč.Udělámetopříkazem: ipsec showhostkey --left (případně right, v závislosti na kterém PC příkaz spustíme) Pokudseklíčnevytvořilpřiinstalaci,nebohochcemezměnit,vytvořímeklíčnovýpříkazem: ipsec newhostkey --output etc/ipsec.secrets HlavníkonfiguraceOpenswanusenacházívsouboru/etc/ipsec.conf : config setup #nastavení sí ťového za řízení interfaces ipsec0=eth0 #vypnutí debugovacích nástroj ů klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqueids=yes #nastavení tunelu se jmenem testovacivpn conn testovacivpn #nastavení levého konce tunelu (po číta č č. 2) left=192.168.0.5 #vygenerovaný klí č v PC2 leftrsasigkey=0sAE9jdDFJ390FJjf3m... nastavení pravého konce tunelu (po číta č č.1) right=192.168.0.1 rightrsasigkey=0sAof6dfj2/fwedf... #automatická zm ěnu klí čů , vložené budou jen pro navázaní spojení authby=rsasig #automatické spušt ění tunelu po startu auto=start

Potomtonastavenípřenesemekonfiguračnísouborinadruhýpočítač.

37 Naoboupočítačíchnahrajemetuneldopamětipomocí: ipsec auto --add testovacivpn

Potéstačítunelspustitjennajednomstrojipomocí: ipsec auto --up testovacivpn

Funkčnostastavtunelůlzezískatpříkazem: ipsec auto --status 5.2.3 Poptop(PPTPserver)+PPTPKlient

Domovskástránka:http://www.poptop.org/ Poptop je implementace PPTP serveru pro Linux, existují ale také ve verzi pro Solaris 2.6, OpenBSD, FreeBSD. Díky Poptopu je možné vytvořit VPN server, na který se lze snadno přihlásit pomocí vestavěných PPTP klientů na strojích Microsoft Windows 95/98/Me/NT/2000/XP.ProLinuxjenutnéklientadoinstalovat. hlavnírysy:

• PoptopješířenzdarmapodlicencíGNU/GPL. • autentizace a šifrování kompatibilní s Microsoftem (MSCHAPv2, MPPE 40128bit RC4šifrováním) • podporapřipojenívíceklientůnajednou • snadnáintegracedoMicrosoftsítí Protože je protokol PPTP postaven na protokolu PPP, je pro Poptop server nutné, aby byla nainstalovanápodporaPPP.VnovýchdistribucíchLinuxuvšakneníspodporouproblém,jejiž jejichsoučástí.VlastníPoptopserverlzenainstalovatpomocíbalíčkupptpd,nebopřeložitručně. ProchodjetakénutnénainstalovatpodporušifrovacíchMicrosoftprotokolůMPPE(Microsoft Point to Point Encryption). Pravděpodobně už bude ale také instalovaná. Můžeme to ověřit pomocí: modprobe ppp-compress-18 && echo success Konfigurace 1) Konfiguraceserveru(počítačč.1) dosouboru /etc/pptpd.conf uložíme: #virtuální adresa localip 10.0.0.1 #adresy virtuálních vzdálených stroj ů (mohou být ve form ě rozsahu) remoteip 10.0.0.2-10 #cesta k souboru s nastavením ppp démona option /etc/ppp/options.pptpd

38 nastavímeparametrypppdémonavsouboru: /etc/ppp/options.pptpd #jméno serveru pro autentizaci (stejné jako v /etc/ppp/chap- secrets) name pptpd #odmítneme autentizaci pomoci pap, chap a mschap refuse-pap refuse-chap refuse-mschap # budeme požadovat autentizaci pomoci MS-CHAPv2 require-mschap-v2 #budeme požadovat šifrování pomocí 128bit MPPE require-mppe-128 nobsdcomp nodeflate

nastavímejménaaheslauživatelův: /etc/ppp/chapsecrets # klient server klí č IP adresy klient1 pptpd heslo *

anakonecserverspustímepříkazem /usr/bin/pptpd 2) Konfiguraceklienta VoperačníchsystémechWindowsjeklientproPPTPjižpředinstalován,proLinuxmusíme klientanainstalovat.PPTPklientproLinuxlzenaléztzde[12]: Pokudchcemeklientastáhnoutveforměbalíčku,musímehohledatpodnázvempptplinux. Klienta lze nastavovat ručně, ale lze také využít některé grafické rozhraní, které doinstalujeme,apřeskteréseklientnastavujesnáze. NastaveníPPTPklientaukážizapomocígrafickéutilitypptpconfig,kteroulzenaléztzde [13].

39 Obrázek.5.1grafickáutilitapptpconfig nazáložceServernastavíme: Server: 192.168.0.1 Name: pptpd Username: klient1 Password: heslo

nazáložceRouting,nasměrujemeveškerýprovozdotunelu,nastavíme ALL to Tunnel

nazáložceEncryption,zapneme: Require Microsoft Point-to-Point Encryption (MPPE)

kliknemenatlačítko Add atímuložímenastavenítuneludoseznamu. kliknutímna Start sepřipojíme. 5.2.4 Stunnel

Domovskástránka:http://www.stunnel.mirt.net/ StunneljeprogramumožňujícívytvářetšifrovanétunelyzapomocíprotokoluSSL.Jedostupný provelkouřaduoperačníchsystémů(Linux,MicrosoftWindows,BSD,Solária).Dásenazvat „univerzálním obalovačem“ a najde využití nejenom pro tvorbu VPN. Umožňuje vytvořit zabezpečenéspojenínadnezabezpečenýmiprotokoly(např.POP,IMAP).Možnostizabezpečení pomocíStunnelujsoudánypoužitouSSLknihovou(nejčastějiOpenSSL)

40 Instalace Pro vytvoření VPN pomocí Stunnelu je zapotřebí knihovna SSL (nejčastěji OpenSSL) a také podporaPPP,protosemusímeujistit,žejsouvsystémunainstalovány,případnějedoinstalovat. Stunnelexistujeiveforměbalíčků,instalacejetedysnadná. Konfigurace Nastavení Stunnelu je snadné, konfigurace se nachází vjediném souboru. Pro vytvoření bezpečnéhotunelulzevStunneluvyužítcertifikátyX509. Nnávodjakvytvořitcertifikátylzenaléztzde[14]. Tatoukázkovákonfiguracepředpokládávlastnictvítěchtoklíčů:

• server:veřejnýklíč(server.cert),privátníklíč(server.pem),certifikátCA(cacert.cer) • klient:veřejnýklíč(klient.cert),privátníklíč(klient.pem),certifikátCA(cacert.cer) 1) Nastaveníserveru: Vytvořímekonfiguračnísoubor stunnel.conf : #ve řejný klí č podepsaný CA cert = /home/stunnel/certificates/server.cert #privátní klí č key = /home/stunnel/certificates/server.pem #stupeň ov ěř ování certifikátu verify = 2 #složka s certifikáty CApath = /home/stunnel/certificates #certifikát CA. CAfile = /home/stunnel/certificates/cacert.cer #mód server Client = no [vpn] #číslo portu accept = 2020 exec = /usr/sbin/pppd execargs = pppd local pty = yes Stunnelspustímepříkazem stunnel stunnel.conf 2) Nastaveníklienta: Vytvořímekonfiguračnísoubor stunnel.conf : cert = /home/stunnel/certificates/klient.cert

41 key = /home/stunnel/certificates/klient.pem verify = 3 CApath = /home/stunnel/certificates CAfile = /home/stunnel/certificates/cacert.cer debug = 7 #output = /home/stunnel/stunnel.log client = yes foreground = yes connect = 192.168.0.1:2020

Stunnelspustímepříkazem stunnel stunnel.conf 5.2.5 tinc

Domovskástránka:http://www.tincvpn.org/ Tinc je VPN démon, který využívá metodu tunelování a šifrování k vytvoření zabezpečené privátnísítě. hlavnírysy:

• tincjezdarmašířenpodlicencíGNU/GPL • podpora mnoha OS (Linux, FreeBSD, OpenBSD, NetBSD, MacOS/X, Solaris, Windows2000/XP) • podporašifrování,autentizace(pomocíOpenSSL) • volitelnákompresepomocízlibneboLZO • podporasměrovánífullmesh(spojeníkaždýskaždým,tincdémonsesnažízasílatdata meziúčastníkypřímo,pokudmožnobezprostředníků) • snadná rozšiřitelnost (Pro přidání hostitele do sítě stačí přidat nový konfigurační soubor,beznutnostistartunovéhodémonačivytvořenínovéhosíťovéhozařízení) • podporaIPv6 TincvyužíváprovytvářenítunelůuniverzálnísíťovéovladačeTUN/TAP,vnovýchdistribucích Linuxujsoujižsoučástíjádra.ProtožeseprobezpečnostnífunkcepoužíváknohovaOpenSSLje nutnétentobalíknainstalovatještěpředvlastníinstalacítincu.Provyužitíkompresejsoutaké nutné knihovny zlib či LZO. Pro instalaci tincu lze využít dostupné balíky (v závislosti na distribuci).. Konfigurace Nejdřívesepřesvědčíme,žejevsystémůvytvořenéuniverzálnísíťovézařízení /dev/net/tunc10200 pokudnení,vytvořímeho mknod -m 600 /dev/net/tun c 10 200

42 Pro vytvoření nové VPN sítě, je vhodné přiřadit ji nějaké jméno. Toho dosáhneme, pokud budemespouštěttincsparametrem–n[jméno],např.: tincd -n vpnka

V tomto případě bude kořenový adresář souborů VPN sítě /etc/tinc/vpkna , pokud jméno neuvedeme,jestandardnícesta /etc/tinc/. Hlavníkonfiguračnísouborsenacházívsouboru /etc/tinc/vpnka/tinc.conf Konfiguračnísouboryklientůjsouve složce/etc/tinc/vpnka/hosts / 1) Nastaveníserveru Vsouboru /etc/tinc/vpnka/tincup nastavíme, #virtuální adresa, eth0 je jméno sí ťového rozhraní ifconfig eth0 10.0.0.1 netmask 255.255.255.0

vsouboru /etc/tinc/vpnka/tinc.conf : #jméno Name = PC1 #používané virtuální za řízení Device = /dev/net/tun

asoubor /etc/tinc/vpnka/hosts/PC1 budeobsahovat: #lokální adresa Address = 192.168.0.1 -----BEGIN RSA PUBLIC KEY----- [zde bude ve řejný klí č] -----END RSA PUBLIC KEY-----

Nakonecvytvořímesoukromé/veřejnéklíče,pomocípříkazu tincd -n vpnka -K

Soukromýklíčseuložído /etc/tinc/vpnka/rsa_key.priv , veřejnýklíčjeumístěndokonfiguračníhosouboruvesložce /etc/tinc/vpnka/hosts/ 2) Nastaveníklienta,počítačč.2 Soubor /etc/tinc/vpnka/tincup budeobsahovat: ifconfig eth0 10.0.0.5 255.255.255.0

Dosouboru/etc/tinc/company/tinc.confumístíme, Name = PC2 ConnectTo = PC1 Device = dev/net/tun

dosouboru/ etc/tinc/vpnka/hosts/PC2 : Address = 192.168.0.5

43 -----BEGIN RSA PUBLIC KEY----- [ve řejný klí č] -----END RSA PUBLIC KEY----- vytvořímesoukromé/veřejnéklíče,pomocípříkazu tincd -n vpnka -K

Nakonec musíme ještě zajistíme distribuci všech host souborů i s klíči do /etc/tinc/vpnka/hosts /složekujednotlivýchpočítačů.Vtomtopřípadě,obsahujísložkyhosts uoboupočítačůdvakonfiguračnísouboryato PC1 a PC2 . Tunelovacíhodémonaspustímepříkazem: tincd –n vpnka

44 Kapitola6 PorovnáníVPN

6.1 Srovnání

Vtéto kapitole uvedu hlavní parametry uvedených VPN řešení a dojde na jejich srovnání. Srovnání bude prezentováno slovně a pomocí tabulek. Uvedené parametry jsou získány zoficiálních materiálů jednotlivých řešení a zprovedených nebo převzatých testů/analýz. Některévlastnostinelzesnadnopřímootestovat,uvádímprotopouzejejichslovnírozbor.

6.2 Srovnávacíparametry

6.2.1 Bezpečnost

Zahlavníkritériaprohodnoceníbezpečnostilzepovažovatzpůsob,jakVPNzajišťujíautentizaci uživatelů, vlastní šifrování přenášených dat a zda nabízejí prostředky pro ověření integrity přenášených dat. Kvalita zabezpečení je dána zejména použitými šifrovacími algoritmy sdostatečně dlouhými klíči, ale závisí samozřejmě také na konkrétním způsobuimplementace aodstraněnízranitelnýchmístvaplikaci.Hodnoceníkvalityjednotlivýchalgoritmůneníúkolem tétopráce,topřenechávámspecializovanýmstudiím.Kvalitutakhodnotímspíšepodletoho,zda jsou využívány standardizované a prověřené algoritmy, nebo zda jsou použita vlastní řešení (MS_CHAP). Tabulka 6.1 nabízí přehled používaných bezpečnostní prvků. Z něj lze vidět, že nejširšímožnostizabezpečenínabízíOpenswanaOpenVPN. Metodyautentizace Metodyšifrování Integritadat sdílenýklíč, 3DES, MD5, Openswan RSA, AES SHA certifikátyX.509 Blowfish, sdílenýklíč, SHA, OpenVPN 3DES, certifikátyX.509 MD5 AES PAP,CHAP, Poptop MSCHAP, MPPE – MSCHAPv2 Stunnel RSA,certifikátyX.509 3DES,AES SHA tinc RSA Blowfish SHA Tabulka6.1:bezpečnostníprvky

45 Openswan nabízí několikmetod autentizace a přenosje chráněn různým stupněm zabezpečení (vzávislostinanastavenémrežimu,víceviz.protokolIpsecvkapitole4).Navícprotokolprotokol IPSecumožňujechránitveškerýprovoz,kterýběžínasíťovévrstvě. OpenVPNnabízíkvalitníabezpečnéřešenítaké.ZabezpečnýlzepovažovattakéStunnel.Tato dvě řešení zajišťují bezpečnostní funkce za pomoci externí knihovny (OpenSSL). Jejich bezpečnost je tedy zvelké části závislá na kvalitách a funkcích této knihovny, která je vsoučasnostinadobréúrovni. TincvyužíváknihovnuSSLtaké,alevlastníimplementacetincunenínejlepší.Jehozabezpečení mátrhlinyanenínatakovéúrovnijakoIPSec,cožnaoficiálníchwebovýchstránkáchpřiznávají samiautořiaplikace.OproblémechvzabezpečenísprotokolemPPTPjsemsezmínilvkapitole 4. Přestože je řada problémů odstraněna, Poptop stále obsahuje nebezpečná místa zdůvodů kompatibilitysklientyvOSMicrosoftWindows. 6.2.2 Škálovatelnost

HodnoceníškálovatelnostimůžebýtprořaduVPNvelmi významným faktorem. Pokud se dá očekávat budoucí rozšiřování privátní sítě, je nutné, aby bylo co možná nejsnadnější přidávat nové účastníky sítě. Pro srovnání parametru škálovatelnosti jsem použil informace zprojektu Volans [15], který hodnotil škálovatelnost podle třech parametrů. Výsledné hodnocení je tak dánojakosoučetpočtunutných: 1. úpravkonfiguračníchsouborů(a) 2. aktualizacísměrovacíchinformací(b) 3. distribucítajnýchklíčů(c) ve fullmesh síti (spojení každého uzlu skaždým) naN uzlech sítě. Výsledky jsou shrnuté vnásledujícítabulce. Úprava Aktualizace Celková Distribuce Konfiguračních Směrovacích náročnost klíčů(c) souborů(a) informací(b) (a+b+c) OpenVPN 2(N1) 1 N(2N1) Openswan N N N(2N) PopTop N 2(N1) 2(N1) N(5N2) Stunnel 2(N1) 2(N1) 1 N(4N3) tinc 1 1 2 N(4) Tabulka6.2:škálovatelnost Zuvedené tabulky je vidět, že nejlépe škálovatelnéřešeníjetinc,kterýobsahujesměrovacího démona, který usnadňuje rozšíření sítě (v případě fullmesh sítě se konfiguruje pouze nově přidanýuzelsítě).

46 6.2.3 Výkon

VýkonjedalšímzdůležitýchparametrůVPN.Hlavnímidvěmaatributyvýkonujsoupřenosová kapacita a odezva. Tyto výkonnostní parametry jsem otestoval na uvedené lokální síti. Přenosovourychlostjsemměřilprogramemiperf[18].KomunikaceprobíhalapřesprotokolTCP, velikostíTCPokénkajsemponechalnaprogramemimplicitněnastavenouna85,3Kb.Měření byloprováděno10krátvobousměrechavýsledekbylzprůměrován.Zdůvodůobjektivitybyla veškerákompresevypnuta. OdezvabylaměřenastandardnímprogramempingajeuvedenajakohodnotaRTT(RoundTrip Time,tedyčaspřenosuinformaceodzdrojedocíleazpět).Měřeníjsemprovedlopět10krát vobousměrechavýsledekudáváprůměrtěchtoměření.

SíťbezVPN Openswan OpenVPN Poptop Stunnel Tinc Přenosová kapacita 47,6 27,5 25,6 27,1 28,2 16,1 (Mbit/s) RTT 0,23 0,51 0,93 0,53 1,11 0,89 (ms) Tabulka6.3:výkonnostníparametry Dletabulkyjevidět,žepřenospřesVPNjepomalejšínežpřímépropojení.Ažnařešenítincbyly výsledkypřenosovékapacitypoměrněvyrovnané.VodezvějenejlepšíOpenswanaPoptop.Ve výkonnostníchparametrechVPNjetakjistěcozlepšovat. 6.2.4 Spolehlivost

Jako další srovnávací parametr se nabízí spolehlivost jednotlivých řešení. Otestování spolehlivostineníjednoduchéavětšinoujenutnéprovéstdlouhodobějšíanáročnějšítestování. Vmých(jednoduchýchaizolovaných)testovacíchpodmínkáchbylVPNpřenosstabilní. PřitestováníVPNjsemnezjistilžádnéočividnépřenosovéproblémyavšechnařešenísejevila spolehlivě.Spolehlivostbylapravděpodobnědánapřímýmspojenímoboustrojůanemohlabýt ovlivněnavýpadkyčipřetíženímsítě.Mohusedomnívat,žedanáVPNřešenísevrozsáhlejších sítích skolísavým zatížením a větším počtem uživatelů nebudou chovat takto spolehlivě. Předpokládám,žedojdekpoklesuvýkonnosti,případněkvýpadkům. Pro získání údajů o spolehlivosti v „plném nasazení“ bude nutné provést rozsáhlejší akomplexnějšítesty.Otázkuspolehlivostitakponechávámotevřenoudalšímtestům. PřestovoblastispolehlivostinesmímopomenoutzmínitdobrouvlastnostOpenVPNaStunnelu, kteřísedokážíautomatickypokoušetonavázánípřerušenéhospojení. 6.2.5 Přizpůsobivost

PřizpůsobivostVPNřešení,vesmyslumožnostiupravitarozšířitfunkce,jedalšíparametr,dle kteréholzeporovnávat.MožnostsnadnéúpravyfunkcíjednotlivýchVPNjejistědobrávlastnost.

47 Bohuželžádnéztestovanýchřešenínenabízímožnostpříméúpravyaplikacepomocízásuvných modulů (pluginů). Vylepšit tak jednotlivé aplikace není úplně snadné. Přesto jsou mezi zvolenýmiřešenímirozdíly.OpenVPN,Stunnelatincpoužívajíkzajištěníbezpečnostiexterní knihovny.Pokudbudoutytoknihovnyvylepšenyonovéfunkceaalgoritmy,jevelicesnadnéje do těchto aplikací přidat, bez nutnosti aplikaci upravovat. UPoptopu takováto možnost není, stejnějakouOpenswanujezměnafunkcionalityproblematická.

6.3 Hodnocení

Každé zuvedených řešení má co nabídnout. Pokud bych měl vybrat nejkomplexnější řešení, vybralbychsiOpenswan.ProtokolIPSecjevsoučasnédoběasinejlepšízhlediskabezpečnosti, navíc je definován jako standard a nabízí mnoho funkcí. Bohužel je poměrně složitý anekonfiguruje se snadno. Jako dobré řešení se mi jeví stále populárnější OpenVPN, nabízí dobrou bezpečnost, v celku snadnou konfiguraci a podporu řady operačních systémů. Tinc hodnotím kladně vzhledem kjeho dobré škálovatelnosti, avšak výkonnostně a bezpečnostně zaostává.Poptopnabízíslušnývýkon,alemábezpečnostníproblémy.Jehovýhodoujesnadné připojeníklientůzMSWindows.

48 N(4) N(2N) N(2N1) N(5N2) N(4N3) Škálovatelnost – LZO zlib,rle IPComp zlib,LZO Komprese – dat SHA SHA Integrita SHA,MD5 SHA,MD5 MPPE Metody Blowfish šifrování (Twofish, Blowfish, Blowfish) 3DES,AES 3DES,AES 3DES,AES, klíč, RSA PAP, RSA, X.509 X.509 X.509 Sdílený Sdílený Metody CHAPv2 certifikáty certifikáty certifikáty klíč,RSA, autentizace CHAP,MS CHAP,MS OS OSX Linux Linux, (podpora NetBSD, 2000/XP, 2000/XP, Windows Windows FreeBSD, Windows, Windows) Linux,MS Linux,MS Linux,MS xBSD,Mac xBSD,Mac xBSD,Mac OS/2adalší OSX,Solaris OSX,Solaris Podporované klientůizMS OSX,Solaris, OpenBSD,Mac www.poptop.org www.openvpn.net www.tincvpn.org www.openswan.org Domovskástránka www.stunnel.mirt.net 4.18 2.4.6 2.0.9 1.3.0 1.0.7 Verze tinc VPN Poptop Stunnel OpenVPN Openswan

Tabulka6.4:souhrnnýpřehled

49 Kapitola7 Závěr

Tatoprácemělazacílpředstavitzákladníprincipyvirtuálníprivátníchsítíaporovnatvybraná VPNřešenídlerůznýchparametrů.Řešeníjsemvybíralzohledemnamožnostifungovánípod operačním systémem Linux a dostupnosti zdarma. Těchto řešení je celá řada a přesto, že tato práce obsahuje jen reprezentativní vzorek, udává hlavní možnosti, které vsoučasné době otevřenářešeníproLinuxnabízí.Řadaztestovanýchřešeníjealedostupnáiprojinéoperační systémy,možnostivyužitíjsoutakširší. VPN jsou jistě stále žádanější a podle této práce si zájemci mohou udělat přehled, jakým způsobemvirtuálníprivátnísítěfungují.Majíkdispozicizákladnípřehledparametrůvybraných řešení,mohoujeporovnatanaleznouzdetakéukázkovépřípadykonfiguracíVPN.Tatopráce nemůžeaneposkytujedetailnípřehledyčinávodynavšechnadostupnáVPNřešení(manuálové stránkyněkterýchVPNřešenímajíidesítkystran),alemůžebýtstartovacímtextemprozájemce ozdarmadostupné,nenáročnéapřestokvalitníVPNřešení.Prodetailnějšíinformacemusívážní zájemciokonkrétníVPNřešenínahlédnoutdojednotlivýchoficiálníchmateriálů. Myslím,želzebezvětšíchobavvyužítněkterézuvedenýchřešení,výběrzávisínakonkrétních požadavcích.MýmdoporučenímjeřešeníOpenswanaOpenVPN.

50 Literatura

[1] LuhovýKarel,seriáloVPN,2003,souborinternetovýchčlánkůdostupných(březen2007) nahttp://www.svetsiti.cz/view.asp?rubrika=Tutorialy&temaID=219&clanekID=220 [2] VirtualPrivateNetworkConsorcium,http://www.vpnc.org [3] ScottC.,WolfeP.,ErwinM:VirtualPrivateNetworks, druhé vydání, O'Reilly, 1999, ISBN1565925297 [4] InternationalOrganizationforStandardization,http://www.iso.org [5] ThomasM.T.:Zabezpečenípočítačovýchsítíbezpředchozíchznalostí,CPBooks,2005, ISBN8025104176 [6] Peterka Jiří, Principy počítačových sítí, dostupné (duben 2007) na http://www.spsest.sk/spse/jpeterka_siet/f_pri.htm [7] Schneier B. a Mudge, Cryptanalysis of Microsoft's PointtoPoint Tunneling Protocol (PPTP),1998,dostupné(duben2004)nahttp://www.schneier.com/paperpptp.html [8] SchneierB.aMudge,CryptanalysisofMicrosoft'sPPTPAuthenticationExtensions(MS CHAPv2),1999,dostupné(duben2007)nahttp://www.schneier.com/paperpptpv2.html [9] Daler Ivan, IPSec Howto, 2006, dostupné (duben 2007) na http://www.ipsec howto.org/ipsechowto_cz.html [10] TheInternetEngineeringTaskForce,http://www.ietf.org [11] Hladík Radek, OpenVPN jednoduše, 2004, dostupné (duben 2007) na http://www.root.cz/clanky/openvpnvpnjednoduse/ [12] LinuxPPTPklient,http://pptpclient.sourceforge.net/ [13] pptpconfig,http://quozl.netrek.org/pptp/pptpconfig/pptpconfig.phtml [14] Kára Michal, Jak na OpenSSL, 2003, dostupné (květen 2007) na http://www.root.cz/clanky/jaknaopenssl/ [15] Khanvilkar Shashank, Project VOLANS Virtual Private Network research 2004, dostupné(duben2007)nahttp://mia.ece.uic.edu/~papers/volans [16] Svět sítí, Slovníček pojmů a zkratek, dostupné (květen 2007) na http://www.svetsiti.cz/slovnik.asp [17] RequestForComments,http://www.ietf.org/rfc.html [18] Iperf,http://dast.nlanr.net/Projects/Iperf/ [19] LewisMark:Comparing,Designing,andDeployingVPNs,CiscoPress,2006

51