VPN siete s OpenVPN (1)

VPN siete s OpenVPN (1)
14.10.2008 10:35 | Články | Jaroslav Imrich
Prvý diel tejto mini-série je zameraný skôr teoreticky a jeho úlohou je nenáročne objasniť základné princípy virtuálnych privátnych sietí.

Prvý diel tejto mini-série je zameraný skôr teoreticky a jeho úlohou je nenáročne objasniť základné princípy virtuálnych privátnych sietí.

1. Načo je VPN

Ak pracujete v IT oblasti, je celkom bežné, že počas práce nevyužívate len váš osobný počítač, ale pristupujete aj na viacero iných systémov vo firemnej sieti. Pokiaľ sedíte v kancelárii nie je to najmenší problém. Situácia sa však mierne komplikuje ak nestíhate a potrebujete si prácu vziať so sebou domov alebo na služobnú cestu. Firemný notebook máte síce so sebou, ale k plnohodnotnej práci vám chýbajú systémy, ktoré sa nachádzajú v lokálnej sieti vašej firmy.

Tento problém sa dá riešiť viacerými spôsobmi v závislosti od toho, aké prostriedky na firemných systémoch využívate. Ak sa jedná iba o zdieľané súbory, môžete si ich napríklad prekopírovať na lokálny disk. Ak sa jedná o prácu na inom operačnom systéme než je nainštalovaný na vašom počítači, môžete ho virtualizovať pomocou nástrojov ako VMware alebo Xen. Po čase používania týchto riešení však pravdepodobne zistíte, že sú v porovnaní s priamym prístupom vo firme časovo oveľa náročnejšie a menej pohodlné. Navyše vzniká množstvo rôznych kópií a verzií rovnakých súborov a budete musieť stráviť ďalší čas riešením problémov s ich synchronizáciou.

Ideálne riešenie by v tomto prípade malo zamestnancom umožniť služby poskytované firemnými systémami využívať zo sietí vonkajších. Ak by sme ale jednotlivé služby publikovali napr. forwardovaním portov na firewalle, bezpečnosť celého riešenia (a zároveň celej firemnej siete) by klesla na mieru bezpečnosti najmenej bezpečnej publikovanej služby. Preto je lepšie sprístupniť všetky služby jednotným spôsobom využívajúcim šifrovanie prenosov prípadne i viac-faktorovú formu autentifikácie používateľov. Takýmto riešením môže byť napríklad umožnenie vzdialeného prístupu do firemnej siete pomocou VPN - virtuálnej privátnej siete (z angl. virtual private network).

2. Ako VPN funguje

VPN siete sú často prevádzkované ako klient-server aplikácie, čoho príkladom môže byť OpenVPN alebo implementácia PPTP v MS Windows. VPN server (ďalej len server) vtedy beží priamo na firewallovom systéme a pri svojom spustení vytvorí virtuálne sieťové rozhranie (virtuálnu sieťovú kartu) a tým aj ďalší subnet firemnej siete. Server očakáva spojenia na vonkajšom rozhraní firewallového systému a vykonáva autentifikáciu VPN klienta (ďalej len klient), ktorý sa pripája z vonkajšej siete pomocou klientskej aplikácie. Po úspešnom overení je klientskému systému pridelená IP adresa z virtuálneho subnetu. Medzi serverom a klientom je následne vytvorený šifrovaný tunel, ktorým sú bezpečne prenášané všetky pakety smerované do a z lokálnej siete. Samozrejme spojenia medzi VPN a lokálnou sieťou je možné obmedzovať pomocou pravidiel firewallu a tým jednoducho určiť, ku ktorým systémom sa klienti môžu dostať.

Ak sa vám predchádzajúci odstavec nezdal zrozumiteľný, nič si z toho nerobte. Po vysvetlení princípu šifrovaného tunelu si ukážeme využitie VPN siete na konkrétnom príklade.

3. Princíp šifrovaného tunelu

Tunely sú vo všeobecnosti považované za niečo záhadné a každý, kto ich spomenie, je "cool" :). Netreba sa ich však zbytočne báť, pretože ich princíp je veľmi jednoduchý.

Informácie sú v IP sieťach prenášané vo forme paketov, ktoré okrem prenášaných dát (payload) obsahujú aj viacero rôznych hlavičiek (headers), v ktorých je možné nájsť informácie o zdroji paketu i o cieli, pre ktorý je určený. Predstavme si sieťový paket ako kamión, ktorý ma na dverách číslo cieľového portu, na ktorý smeruje (cieľovú IP adresu pre zjednodušenie zanedbajme). SSH packet by teda vyzeral nejako takto:

Podstata tunelovania vo VPN sieťach spočíva v tom, že pakety pre vzdialenú privátnu sieť sú zašifrované a následne vložené do dátovej časti verejných paketov. Vzdialený VPN server prijme verejný paket a dešifrovaním jeho obsahu získa paket pre privátnu sieť. Predstaviť si to môžeme tak, že kamión vezie v nákladnej časti druhý kamión a až ten obsahuje reálne dáta. V prípade, že VPN server počúva na porte 443 a komunikujeme s SSH serverom vo firemnej sieti, bude paket VPN spojenia vyzerať nejako takto:

Pri pohľade na obrázok vám pravdepodobne napadne, že takýto prenos je "mrhanie kapacitou", pretože sivý kamión má menší úložný priestor využiteľný na prepravu tovaru. Analogicky to platí aj pri prenose vo VPN sieti, kde sa v jednom pakete nachádzajú viaceré hlavičky dvakrát a to znamená zníženie využiteľnej prenosovej rýchlosti medzi VPN klientom a systémami z firemnej siete.

4. Reálny príklad

Predstavme si malú firemnú sieť pozostávajúcu z jediného privátneho subnetu, ktorej klienti využívajú na prístup k internetu jednu bránu plniacu zároveň úlohu firewallového systému. Typ pripojenia k internetu nie je v tomto prípade dôležitý, stačí keď povieme, že vonkajšie rozhranie firewallu využíva verejnú IP adresu. Zjednodušenú schému siete znázorňuje nasledujúci obrázok:

V prípade, že by sa zamestnanec chcel pripojiť k niektorému z firemných systémov z vonkajšej siete, jeho pokus by bol zastavený firewallovým systémom. (Skutočnosť, že firemná sieť využíva IP adresy z privátneho rozsahu a teda nie je z verejných sietí smerovateľná pre zjednodušenie zanedbajme.)

Ak na firewallovom systéme tejto siete spustíme VPN server s virtuálnym sieťovým rozhraním v subnete 192.168.2.0/24, budú sa k nemu môcť pripájať zamestnanci z externých sietí. Po overení identity bude vzdialenému systému pridelená na virtuálnom rozhraní IP adresa práve zo subnetu 192.168.2.0/24. Pre systémy zo subnetu 192.168.1.0/24 sa bude tento systém javiť akoby bol umiestnený v druhom lokálnom subnete, no v skutočnosti bude komunikácia z a do firemnej siete smerovaná cez internet šifrovaným tunelom.

Nasledujúci animovaný obrázok znázorňuje 14 krokov komunikácie VPN klienta so systémom v lokálnej sieti. Jednotlivé kroky sú zobrazované automaticky po 10 sekundách.

5. Záver

Dúfam, že tento článok splnil svoj cieľ a nenáročnou formou vám priblížil základné princípy VPN sietí. V ďalších dieloch si názorne ukážeme ako vytvoriť VPN sieť s aplikáciou OpenVPN i ako jednoducho vytvoriť vlastnú certifikačnú autoritu, ktorá bude vydávať certifikáty VPN klientom. Nevyhneme sa ani pokročilejším témam ako je viac-faktorová autentifikácia a s ňou spojené prihlasovanie do VPN siete pomocou certifikátu uloženého na čipovej karte.

    • VPN 14.10.2008 | 20:38
      Michal   Návštevník
      Ďakujem. Pekný a názorný článok.
      Teším sa na skoré pokračovanie.
      • Re: VPN 14.10.2008 | 23:39
        pejta   Návštevník
        pridavam sa k pochvale a pridavam odkaz na video na ktore som natrafil o prenose paketov. Mozno poznate a ti ktori nie tak tu je www.warriorsofthe.net
    • Pekny clanok 15.10.2008 | 10:10
      Avatar nipo Ubuntu 9.04  Používateľ
      Super, mne je problematika znama, ale tesim sa tiez s ostatnymi ;-)

    • PDF 15.10.2008 | 13:37
      Avatar david Debian Lenny  Používateľ
      Vdaka, len maly detail > v pdf verzii niesu obrazky > nedalo by sa.....? thx
      dreamwalker
      • Re: PDF 15.10.2008 | 14:41
        Avatar uid0 Debian  Používateľ
        animovany gif v pdf? :)
        Debian. apt-get into it…
        • Re: PDF 15.10.2008 | 15:17
          Avatar titanik mint  Používateľ
          pdf dokaze viac ako si dokazeme predstavit. Minule som natrafil na pdf v ktorom bol interaktivny 3D motor lietadla, ktory sa dal ovladat mysou
          • Re: PDF 15.10.2008 | 16:52
            Avatar uid0 Debian  Používateľ
            to je ale prasacina. na papieri by to bolo urcite bezchybne :P
            Debian. apt-get into it…
            • Re: PDF 16.10.2008 | 03:00
              shade   Návštevník
              To zalezi od uhla pohladu. Podla niekoho zas moze byt prasacina robit zo seba pana doleziteho a dristat do diskusie voloviny.
              • Re: PDF 16.10.2008 | 16:26
                Avatar uid0 Debian  Používateľ
                chod si spravovat server cez icq, lol
                Debian. apt-get into it…
                • Re: PDF 17.10.2008 | 15:30
                  shade   Návštevník
                  Ak si myslis ze ta posluchnem, lolko, tak ti gratulujem, smejes sa vlastnej blbosti. A ak nie, tak vlastne tiez.
                  • Re: PDF 17.10.2008 | 18:48
                    Avatar uid0 Debian  Používateľ
                    skus inokedy, zlato, dnes nemam naladu
                    Debian. apt-get into it…
                    • Re: PDF 18.10.2008 | 01:14
                      shade   Návštevník
                      Hlavne ze politicky korektne media tvrdia, ze precitlivelost a naladovost buzerantov su len famy...
                      • Re: PDF 18.10.2008 | 02:48
                        Avatar uid0 Debian  Používateľ
                        nie som homofob a je mi jedno ci ma niekto povazuje za homosexuala. bru nocku, ty nezbednik
                        Debian. apt-get into it…
          • Re: PDF 15.10.2008 | 19:32
            Avatar borg Arch, Debian jessie  Administrátor
            hej, tusim pdf 1.7 dokaze aj 3D blbosti, takisto tam mozes mat aj zvuky, filmy atd.
    • eikKoXGyjzhWnQloE 08.04.2010 | 07:05
      sFSfWFjZcwREZRMq   Návštevník
      lowest price embutramide [url="http://www.cchreus.org/lowest-price-embutramide.html"]lowest price embutramide[/url] http://www.cchreus.org/lowest-price-embutramide.html 262 where to buy carnitine [url="http://www.cchreus.org/where-to-buy-carnitine.html"]where to buy carnitine[/url] http://www.cchreus.org/where-to-buy-carnitine.html ogphp $1 cialis sun [url="http://www.arkhamgames.com/1-cialis-sun.html"]$1 cialis sun[/url] http://www.arkhamgames.com/1-cialis-sun.html 8OO ventavis canadian [url="http://www.karenhermanforjudge.com/ventavis-canadian.html"]ventavis canadian[/url] http://www.karenhermanforjudge.com/ventavis-canadian.html >:-( augmentin and penicillin [url="http://www.arkhamgames.com/augmentin-and-penicillin.html"]augmentin and penicillin[/url] http://www.arkhamgames.com/augmentin-and-penicillin.html afsre
    • vdaka 19.03.2013 | 19:50
      matabo   Návštevník
      Dobry clanok.. Podla neho pochopi zakladny princip snad kazdy.. Este raz vdaka.