VPN nebo-li Virtualni Privatni Sit (Virtual Private Network) slouzi k vytvoreni vnitrni bezpecne site s vyuzitim verejnych nebezpecnych siti. Pocitace v teto verejne siti (VPN) se v pripade spravneho nastaveni mohou chovat, jako by byly v jedne mistonosti vsechny pripojeny do jednoho switche.
Vyuziti muze byt treba pro firemni notebooky. Zamestnanec pak i v Internetove kavarne na verejne WiFi komunikuje s firemni siti sifrovane. Dale je mozne pomoci VPN obchazet cenzuru Internetu (jedete na dovolenou do Ciny, nebo vam skola cenzuruje Internet).
Predstaveni VPN reseni
Protokolu a programu na vytvoreni VPN existuje cela rada. Rozdlelit je muzeme hlavne podle nasledujicich kriterii:
- svobodne – nesvobodne,
- placene – bezplatne,
- podporovane operacni systemy,
- urovne zabezpeceni,
- vrstva ISO/OSI modelu, na ktere pracuji,
- snadnost pruchodu NATem,
- a urcite mnoho dalsich…
Asi nejznamejsim typem VPN je Microsofti PPTP. Nejvetsi vyhodou je integrovany klient ve Windows, neni potreba nic instalovat. Uz v roce 2012 byl prolomen MS-CHAPv2 protokol, ktery prave PPTP pouziva. Na hrani her po siti se sousedem PPTP porad staci. Pokud to myslite s bezpecnosti vazne, nebo jste paranoidni – poohlednete se po jinem reseni.
Dalsim znamym a hodne pouzivanym typem VPN je IPsec. Jde o rozsireni IPv4 protokolu, v IPv6 je uz v zakladu. IPsec definuje nekolik desitek RFC. Jeho konfigurace je pomerne slozita a casto miva problemy pri pruchodu NATem. Proto se mu dale (zatim, mozne nekdy priste?) nebudu venovat.
A pak je tu spousta proprietarnich VPN, napriklad Cisco, Kerio, FortiGate a mnoho dalsich.
Vlastnosti OpenVPN
OpenVPN nepouziva IPsec, ale SSL/TLS. Funguje na vetsine myslitelnych OS: Linux, Windows, *BSD, Android,…
Bezi v user mode, takze neni potreba uprava jadra. Jadro musi mit pouze zapnutou podporu TUN/TAP virtualni sitove karty. Tu casto nemivaji levne VPS hostingy a proto na nich neni mozne pouzivat OpenVPN.
Je mozne vytvorit PtP spoj, tedy 1:1 (napr. na propojeni 2 serveru), nebo N:1 – jeden server a hodne klientu. Zabezpeeni lze resit nekolika zpusoby. Prvni je nijak – rovnou zavrhuji a dal nebudu resit, nesifrovana VPN je imho nesmysl. Dale je mozne pouzit spolecny klic. Vsechna zarizeni pak pouzivaji stejny soubor se stejnym klicem. Vyhodou je jednoduche nastaveni, ale pokud jednomu unikne klic, musi ho vymenit vsichni. Mnohem lepsi je pouzit SSL X.509 certifikaty. Vytvorime si certifikacni autoritu a kazdemu klientovi vydame certifikat. Pokud ho nekdo ztrati, nebo vyhodime zamestnance, zneplatnime jeden konkretni certifikat a ostatnich se to nijak nedotkne.
Nastaveni OpenVPN je pomerne jendnoduche. Spojeni je vysoce bezpecne a nema problemy ani na mene kvalitnich linkach. Pri spravnem nastaveni proleze temer jakymkoliv NATem a je temer nemozne VPN cenzurovat/blokovat.
Vychozi pro OpenVPN je protokol UDP na portu 1194. Jedna se o oficialne prideleny port od IANA. Je mozne pouzit jak UDP, i TCP. Kazde reseni ma sve vyhody i nevyhody. Vsechna komunikace probiha na jedinem portu. Cislo portu muzeme pouzit libovolne.
Po spojeni vytvori OpenVPN virtualni sitovou kartu typu TUN, nebo TAP. Opet ma kazdy typ sve plusy i minusy.
TCP
Spolehlive spojeni, projde temer vsude a nebyva zahazovano firewally. Je mozne pouzit HTTP a SOCKS proxy. Tunelovani TCP v TCP (TCP over TCP) rozhodne neni dobry napad! Clanku je o tom sepsano dost. Pokud neni dobry duvod, je lepsi provozovat VPN nad UDP.
Pomerne caste byva provozovani OpenVPN na TCP portu 443, ktery je urceny pro HTTPS. Mame tak jistotu blizici se 100%, ze se vsude pripojime. Pro bezne firewally se spojeni jevi jako bezny sifrovany webovy provoz. A zkoumat kazdy jeden paket by pro ne bylo vykonove narocne. TCP443 je vhodne pro verejne site, typu hotelu a Internetovych kavaren, kde byva vetsina portu blokovana. Casto jsou oteverene pouze 53, 80 a 443. Sam jsem za nekolik let pouzivani nikdy nemel v zadne siti problem se pripojit.
UDP
Nespolehlivost UPD si resi OpenVPN, takze se neni potreba bat. Tunelovani TCP pres UDP necini problem. Dostaneme mnohem lepsi vykon.
Casto ale byva problem s firewally. Hlavne levne domaci krabicky rady zahazuji dlouho neaktivni UDP spojeni. Dlouho znamena v extremnich pripadech i jednu minutu. Proto je temer nezbytne udrzovat spojeni zive. OpenVPN se da nastavit k automatickemu posilani pingu po zvolene dobe.
Pokud tomu nic nebrani, UDP rezim je lepsi.
TAP
OpenVPN vytvori prepinany Ethernetovy tunel (2. vrstva ISO/OSI modelu). To znamena, ze se zkrz VPN siri i MAC broadcasty. Pokud nepotrebujeme pouzivat protokol, ktery nepotrebuje posilat „Ethernetova data“, napriklad NetBIOS, je lepsi pouzit TUN.
TUN
OpenVPN vytvori smerovany IP tunel (3. vrstva ISO/OSI modelu). Idealni pro bezne pouziti a pripojovani klientskych pocitacu. Pokud neni jiny duvod, je lepsi pouzit TUN.
Zaver
Pro bezne pripojeni klientu je vhodne pouzit UDP a TUN. Pro maximalni moznou dostupnost VPN ve verejenych sitich TCP. Pokud potrebujeme tunel na urovni Ethernetu, pouzijeme TAP.
OpenVPN umi na jednom serveru vytvorit vice VPN tunelu na ruznych protokolech a sitovych vrstvach. Muzeme tak mit TCP443 i UDP verze, pripadne libovolnou kombinaci soucasne.
Priste si ukazeme zakladni PtP spojeni dvou PC/serveru pomoci sdileneho klice.
Dalsi clanky o VPN.