VPN sítě Autor: Tomáš PARÍŠEK
Obsah Úvod Co je VPN Druhy VPN OpenVPN Konfigurace OpenVPN
Úvod předchůdci VPN jsou přepínače, které umožňovaly virtualizaci několika vzdálených sítí. Používala se k tomu jediná infrastruktura (kabeláž). Dnes je nahrazena poskytovatelem datových služeb Nepoužívalo se ani zabezpečení dat. To se začalo řešit až s příchodem levných připojení k Internetu
Co je VPN Definice VPN je zkratka anglického Virtual Private Network (Virtuální privátní síť). Privátnost je tvořena nějakou metodou virtualizace, ať už mezi dvěma koncovými body, mezi dvěma organizacemi, mezi několika koncovými body v rámci jedné organizace, či mezi více body prostřednictvím Internetu.
Co je VPN Důvody vytváření VPN Vytvořením VPN sítě chceme dosáhnout virtualizace v jisté části komunikace – tzn. skrýt ji před „ostatním světem“ a využít společnou komunikační infrastrukturu Hlavním důvodem vytváření VPN sítí bývá ekonomie (vybudovat vlastní propojení nebo pomocí Internetu?)
VPN a Internet Internet díky celosvětovému rozšíření umožňuje propojení libovolných uzlů na celém světě Velkou nevýhodou jsou požadavky na bezpečnost dat. Další může být problém se zajištěním QoS, dostupnost a spolehlivost a integrita dat
VPN a Internet Př. VPN sítí: jsou tvořeny propojením geograficky odlehlých subsítí A a B přes jednoho poskytovatele. Tyto sítě o sobě navzájem nevědí (Viz obr.1 na další straně) VPN může být tvořena i základním principem bod-bod (např. dial-up spojení se zabezpečenou aplikací – bankovní služby apod.) nebo kódované připojení (např. uživatel – banka)
VPN a Internet
Typologie VPN Podle požadavků (např. míry bezpečnosti, správu, údržbu..) volíme při budování sítě z několika způsobů.
Typologie VPN Podle funkčnosti sítě v relaci s jednotlivými vrstvami protokolového zásobníku: VPN na síťové vrstvě – síťová vrstva se zabývá směrováním IP protokolu. Toto směrování je základem pro tvorbu VPN. VPN na spojové vrstvě
VPN na spojové vrstvě VPN v LANE sítích (emulované LAN – jedná se o emulaci LAN nad ATM sítí – ATM se pak chová jako Ethernet/Token Ring), VPN v MPOA (Multiprotocol over ATM – virtuální směrování) VPN v MPLS (Multiprotocol Label Switching – směrování na síťové vrstvě v kombinaci s přepínáním značek)
Typologie VPN VPN se šifrováním na spojové vrstvě VPN na transportní a aplikační vrstvě (e-mailové systémy s kódovaným přenosem zpráv)
VPN na síťové vrstvě Základem pro vytvoření je práce se směrovacími informacemi Vyskytují se zde 2 základní modely VPN: peer a overlay peer pracuje s informacemi na síťové vrstvě (směrování je prováděno v každém uzlu) overlay využívá spojovou vrstvu k vytvoření cesty paketu (ATM, Frame Relay, tunelování).
Filtrování směrovacích informací Jedná se o omezení propagace směrovacích informací na ostatní sítě takový model je typu peer (jeden router zastupuje skupinu uzlů VPN navazuje spojení se vstupním routerem poskytovatele)
Filtrování směrovacích informací
Filtrování směrovacích informací Směrovače zde pracují tak, že informace ze sítě A (A1..A4) jsou poskytovány opět sítím A1..A4. Tzn. ostatní sítě netuší nic o existenci sítě A Problém je přístup mimo VPN. Řeší se pomocí tzv. implicitního routeru – je přístupný ze všech částí dané VPN.
Model tunelování Vytváří se tunel, kterým je přenášena specifická část komunikace Nejběžnějším typem tunelování je GRE (Generic Routing Encapsulation). Tunely jsou tvořeny routery, které slouží jako vstupní a výstupní body dané VPN sítě K přenášeným paketům se přidává GRE hlavička s cílovou adresou routeru na druhém konci tunelu. Cílový router hlavičku odstraní a pokračuje k cíli podle cílové IP adresy (viz obr. 3 na další straně)
Model tunelování
Model tunelování GRE tunely jsou typu bod-bod, některé implementace dovolují konfiguraci bod-více bodů Výhodou je odlišná adresace – přístupové body do páteřní sítě mají adresy této sítě a tunelování používá adresy cílových bodů z prostoru adres této sítě, zatímco VPN mají vlastní adresní rozsah. Tím vzniká odstínění těchto sítí, což je jeden z principů tzv. overlay modelu (překryvný). Rozdíl oproti síti filtrování směrovacích informací je, možnost používat privátní adresy. Výhodou je také přenos libovolného síťového protokolu. Protokol je přenášen přes páteřní síť nezměněn. GRE umí pracovat s NAT Nevýhoda je náročnost konfigurace, protože všechny tunely musí být konfigurovány zvlášť.
Kumutovaný přístup VPDN (Virtual Private Dial Networks) Základní metody jsou použití tunelů L2TP a PPTP L2TP vychází mimo jiné z PPTP, rozšířenější je díky podpoře v OS mnoha počítačů
L2TP Tento typ tunelování probíhá tak, že je iniciován přístupovým serverem (zde musí být autentizační informace uživatel), tzn. klient je nemůže ovlivnit Využívá se, když velcí poskytovatelé obsahu přenechávají přístupové sítě jiným firmám Viz obr. 4 na další straně
L2TP
PPTP Protokol byl vyvinut firmou Microsoft Tunel je inicializován klientem. Je vytvořeno spojení bod-bod, na umístění serveru nezáleží Server se ani nemusí účastnit vytvoření tohoto tunelu. Klient vytváří PPTP spojení na známý PPTP server (dosažitelný v rámci směrovacích informací). Model umožňuje výběr cílového uzlu tunelu až po vytvoření PPP spojení. Výhodou je transparentnost – PPTP je přenášeno stejně jako ostatní IP pakety.
PPTP
Šifrování na síťové vrstvě Nejpoužívanější architekturou je IPsec (IP Security) Přidává se za IP hlavičku před hlavičku 4.vstvy (TCP nebo UDP). Zakládá se tunel mezi dvěma body. Jsou definovány dva přenosové módy Transportní Tunelovací
Šifrování na síťové vrstvě Transportní má menší nároky na šířku pásma Mezi IP hlavičku a data se přidává AH (Authentification Header)
Šifrování na síťové vrstvě Je-li požadováno šifrování, přidává se hlavička ESP (Encaspulating Security Paylod)
Šifrování na síťové vrstvě V tunelovacím módu je IP datagram zašifrován a je vytvořena nová hlavička. Také umožňuje, aby se některá zařízení chovala jako IP proxi Po aplikaci AH
Šifrování na síťové vrstvě Opět v případě zabezpečování dat se vkládá ESP
Šifrování na síťové vrstvě Před vytvářením tunelu se dohadují parametry spojení: šifrovací algoritmus (DES, 3DES) hashovaní funkce (MD5, SHA) metoda autentikace doba životnosti. Konfiguruje se buď tak, že se v obou koncových bodech použije předem definovaný klíč (jednoduchost) nebo lze využít pro sdílení klíčů certifikační autority. Výhodou je podpora IPv6 protokolu
Sítě na spojové vrstvě využívání časového nebo frekvenčního multiplexu, synchronizace vysílání a příjmu dat (synchronní přenosy). Ekonomičnost spočívá ve využití přepínané infrastruktury. Frame Relay – CIR (Committed Information Rate) referenční hodnota velikosti rychlosti přenosu ve vstupním bodě. Je-li překročena rychlost, jsou rámce označovány jako DE (Discard Eligible) a mohou být v případě přetížení sítě zahazovány. ATM (Asynchronous Transfer Mode) – obdoba Frame Relay, rámce nad rychlostní limit jsou označeny CLP (Cell Loss Priority)
LAN Emulace LANE emulována nad ATM sítí Definuje rozhraní pro stávající protokoly síťové vrstvy. Pakety jsou posílány ATM sítí zapouzdřeny v LANE MAC rámcích. Síť se pak chová jako Ethernet. LANE se skládá z LES (LANE emulation server) – poskytuje mapování mezi MAC a ATM adresami LEC (LANE emulation client) – obsahuje každý člen ELAN (emulované LAN) – okrajové přepínače ATM a koncové uzly ATM. LEC může být členem několika ELAN – virtuální sítě se překrývají. ELAN (jen množina uzlů ATM) je podmnožina VLAN (uzly ATM i uzly na standardních segmentech) – viz obr. 9 na další straně
LANE
LANE Propojování ELAN se děje pomocí směrovače. Často se používá one-armed router – směrovač s jedním ATM rozhraním, na něm je implementován vícenásobný LEC (pro každou VLAN jeden). Směrování pak probíhá tak, že jednotlivým sítím jsou přiřazena IP Subnet Number. Problémy mohou být s propustností v takovýchto bodech. Nevýhodou je také nebezpečnost takového bodu z hlediska poruchovosti.
MPOA Základem je virtuální směrovač, který emuluje funkci tradiční sítě s routery, přitom principem směrování eliminuje výkonnostní omezení. Pakety na své cestě nejsou zpracovávány routery, ale virtuální směrovač je pošle přímo přes ATM síť. Výpočetní zpracování provádí MPS (MPOA server), zatímco MPC (MPOA client) provádí směrování paketů. MPOA pracuje s protokolovým zásobníkem běžných směrovacích protokolů. Okrajové ATM přepínače směrují komunikaci na 2. a 3. vrstvě, spolu s ATM přepínači tvoří sítě se směrováním „bez přeskoků“. Velkou nevýhodou je omezení na ATM sítě. Výhodou je dynamické vytváření virtuálních obvodů na rozdíl od statických
Sítě s protokolem MPOA
Virtuální sítě MPLS Hybridní technologie využívá dvou základních přístupů: směrování na síťové vrstvě (přepínání podle návěští, značek) a přepínání paket po paketu na straně jedné a virtuální obvody na spojové vrstvě a přepínání datových toků na straně druhé. Návěští se používají pro identifikaci přenášených dat. Architektura založena na aplikaci návěští na paket, který vstupuje do sítě MPLS. Tím je určena cesta, kterou paket projde mezi koncovými body sítě a výstupní router. Rozšířením z hlediska VPN je globální identifikátor (CUG - Closed User Group identifier), který může být přiřazen paketu a poté se podle indexu provádí směrování. CUG se použije k určení výstupního routeru.
OpenVPN Používá SSL/TLS, který zajišťuje šifrování a autentizaci (platformy Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X a Windows 2000/XP) Program běží v user módu (nemusí se patchovat jádro) Podporuje tunel (1:1) nebo klient/server (N:1). Bezpečný a odolný na nekvalitních linkách, podpora HTTP a SOCKS proxy – klient se může připojit odkudkoliv Pro každý směr komunikace je možno použít jiný klíč OpenVPN umí automaticky navázat spadlé spojení
OpenVPN Standardně protokol UDP, ale použít lze i TCP (HTTP nebo SOCKS proxy). Komunikace probíhá na jediném portu (snadná konfigurace firewallu) OpenVPN komunikuje prostřednictvím TUN a TAP rozhraní. Pro kompresi se používá knihovna LZO. Konfigurace: spouštěcí skript "sample-scripts/openvpn.init" nakopírujeme do "/etc/init.d" a přidáme příkazem "chkconfig --add openvpn". Instalace ve Windows: stahnout balíček OpenVPN a nainstalovat. Ten přidá "Virtual TAP" síťové zařízení a službu OpenVPN. Popř. lze nainstalovat (místo Windows služby) "OpenVPN GUI".
OpenVPN - konfigurace Tunel mezi dvěma linuxovými stroji (s IP např. 1.2.3.4 a 5.6.7.8) s použitím sdíleného klíče mezi stroji funguje normálně IP komunikace. Chceme vytvořit šifrovaný a komprimovaný tunel. Vygenerování klíče se provede příkazem openvpn "--genkey --secret /etc/openvpn/secret.key" a ten distribujeme na oba počítače. Dalším krokem je vytvoření souboru na PC 5.6.7.8 "/etc/openvpn/vpn.conf„ s následujícím obsahem…
OpenVPN - konfigurace remote 1.2.3.4 ;určuje druhou stranu ifconfig 10.0.0.2 255.255.255.0 ;netmaska virtuálního síťového rozhraní port 5001 proto udp dev tap0 ;typ a číslo virtuálního rozhraní secret /etc/openvpn/secret.key ;jméno souboru s klíčem ping 10 ;intervaly keep-alive pingů comp-lzo ;komprese verb 5 ;upřesnění logování mute 10 user openvpn ;pod jakými efektivními právy má démon běžet group openvpn na druhém PC pak upravíme řádky remote a ifconfig takto: remote 5.6.7.8 ifconfig 10.0.0.1 255.255.255.0 Nakonec se příkazem "/etc/rc.d/init.d/openvpn start" provede vytvoření zařízení tap0 a je hotovo.
Konfigurace OpenVPN OpenVPN funguje jako klient/server. Propojení linuxovského serveru a MS Windows klientů: použije se SSL a X.509 autorizaci, sdílený klíč se zde může použít jako doplněk. je třeba mít k dispozici platný certifikát. Použití certifikační autority má nevýhodu, že OpenVPN dovolí přístup každému, kdo má platný certifikát. Je dobré mít nakonfigurovaný filtr, který rozhodne podle jména certifikátu, zda povolit přihlášení či nikoliv.
Konfigurace OpenVPN OpenVPN poslouchá na jednom portu. Když přijde paket UDP (TCP), pokusí se UDP spojením navázat SSL/TLS komunikaci a ověřit certifikát druhé strany oproti certifikační autoritě. Obě strany se pomocí SSL/TLS dohodnou na klíčích a šifrách pro zabezpečení dat. Nakonec pošle server klientovi konfigurační volby (IP, nastavení směrování,..). Při použití sdíleného klíče jako doplňku k SSL/TLS se budou všechna data podepisovat pomocí tohoto klíče. Nepodepsané nebo špatně podepsané pakety se hned zahazují.
Konfigurace serveru OpenVPN Server má např. adresu eryx.zcu.cz mode server ;OpenVPN bude fungovat jako klient/server tls-server ;počítač vystupuje v rámci TSL spojení jako server dev tap0 ;upřesnění typu vytvářeného zařízení ifconfig 10.0.1.100 255.255.255.0 ;adresa serveru ifconfig-pool 10.0.1.1 10.0.1.90 255.255.255.0 ;rozsah adres, ze kterého je přidělováno klientům duplicate-cn ;současné přihlášení více klientů se stejným certifikátem ca /etc/openvpn/cacert.pem ;certifikát certifikační autority cert /etc/openvpn/vpn.crt ;certifikát serveru key /etc/openvpn/vpn.key ;klíč serveru dh /etc/openvpn/dh1024.pem ;parametry pro Diffie-Hellman protokol
Konfigurace serveru OpenVPN log-append /var/log/openvpn ;parametry logování status /var/run/openvpn/vpn.status 10 ;jméno souboru pro uložení stavu OpenVPN user openvpn group openvpn comp-lzo ;povolení komprese verb 3 Soubor s parametry pro Diffie-Hellman je možno vytvořit příkazem openssl dhparam -out dh1024.pem 1024.
Konfigurace klienta OpenVPN Nainstaluje se klient OpenVPN, použije se konfigurační soubor standardně z umístění: C:\Program Files\OpenVPN\config\vpn_klient.ovpn . Soubory s touto příponou (*.ovpn) v adresáři config se spouští automaticky.
Konfigurace klienta OpenVPN remote eryx.zcu.cz ;adresa serveru tls-client dev tap ;typ zařízení, při použití více VPN, je potřeba vytvořit více virtuálních zařízení a pomocí dev- node určit, které se bude používat. pull ;stažení konfigurace ze serveru pomocí volby push mute 10 ca cacert.pem ;certifikáty cert klient.cert key klient.key ;soubor s klíčem comp-lzo verb 3 Všechny dostupné adaptéry lze vypsat příkazem openvpn --show-adapters.
Závěr Použité zdroje: www.svetsiti.cz www.root.cz Archiv semestrálních prací z PD z předešlých let (www.kiv.zcu.cz/~simekm/vyuka/pd)