Kisvállalati OpenVPN szerver egyszerűen

Egyre több felhasználó szeretne távolról dolgozni, elérni a céges szervert bárhonnan. Legyen egy tárgyaláson, vagy jönnön szabadság közben valami sürgős teendő, fontos, hogy a szerveren tárolt anyagokhoz könnyen, gyorsan és nem utolsó sorban biztonságosan tudjon hozzáférni. Plusz ha lehet ne kelljen egy újabb jelszót megjegyeznie (úgysem fog), használhassa a szerveren megszokottat.

Az OpenVPN az egyik legjobb és legyegyszerűbb megoldás erre. Minden elterjedt rendszeren használható (Linux, Windows, MacOS, Android, iOS), egyszerű, biztonságos és nem utolsó sorban szinte minden hálózati környezetben működőképes.

A “klasszikus” VPN megoldások nehézkesek vagy nem biztonságosak. Legyen szó az IPSec-ről (NAT esetén problémás, beállítása nehéz) vagy PPTP-ről (NAT-al ennek is meggyűlik a baja, a biztonsága is kérdéses) vagy az SSTP-ről (kevés platformon megy), mindegyiknél van valami “de”. Az OpenVPN az egyetlen megoldás, mely mindenhol működik. Képes UDP-n és TCP-n is kommunikálni. Tökéleesen “él” NAT-olt hálózatokon, nem kell a tűzfalnak speciálisan támogatnia. Sőt, HTTP és SOCKS proxy szervereken keresztül is képes a kapcsolódásra (TCP módban). Plusz minden tekintetben támogatja az IPv6-ot is (tud azon kommunikálni és a VPN-ben is átmegy az IPv6).

A kisvállalati OpenVPN szerver egyszerűen képzés első alkalmán megtanulsz Linux szerverre OpenVPN-t telepíteni és beállítani, hogy a kapcsolódó kliensek teljes értékű tagjai legyenek a belső hálózatnak: belső IPv4 és (ha van) IPv6 címeket kapjanak automatikusan. Mindezt úgy, hogy a belépéshez a meglévő Active Directory szerverre hitelesít, a felhasználóid a megszokott névvel és jelszóval tudnak belépni. A biztonság növelése érdekében azért kapnak egy kulcsot és a belépés csoporttagsághoz kötött.

Az OpenVPN az egyik legkönnyebben használható, gyakorlatilag minden platformon működő VPN megoldás. Nagy előnye, hogy ha jól állítod be, a legtöbb környezetből működik, még akkor is, ha proxyn keresztül éred csak el az internetet.

Ez utóbbihoz a TCP módot célszerű használni, amely bár lassabb, mint az UDP alapú kapcsolat, de sokkal több helyről működik. Persze lehet a kettőt kombinálni, hogy ahonnan megy, onnan a jobb UDP-s megoldást használod, ahonnan nem, onnan marad a TCP, de legalább tudsz kapcsolódni. És persze van a RouterOS, ami csak TCP-t tud…

A másik probléma, hogy az OpenVPN szerver egyszerűen és gyorsan képzés első alkalmával bemutatott bridge alapú (TAP) módszer nem minden kliensből működik. Tipikus példa az Android. Míg a bridge (tap) csatlakozás a legegyszerűbb arra, hogy a kliens teljes jogú tagja legyen a hálózatnak (erről az első alkalommal részletesen tanultál), a route-olt (tun) esetén egy külön IP hálózatba kerül a kliens. Ez bár kissé bonyolultabb, van pár előnye azon felül is, hogy a csak tun módot ismerő kliensek is tudnak kapcsolódni. Mivel külön IP tartományt kell használj, a tűzfalon könnyebben tudod szabályozni, hogy a VPN-hez kapcsolódó kliensek mit láthatnak a belső hálózatból és fordítva.

A OpenVPN szerver egyszerűen és gyorsan második alkalmán a route-olt (TUN) mód pontos beállítását ismered meg UDP és TCP alapú kapcsolódással.

Ha már van egy működő OpenVPN szervered és elkezded élesben használni (valódi ügyfélnél, valódi emberekkel a kliens oldalon) elkezdenek jönni az egyedi igények, egyedi problémák. Ezekre lehet mondani, hogy “ez van”, de talán jobb, ha meg tudod oldani. Az OpenVPN lehetőségei szélesek, a legtöbb ilyen egyedi igényre találsz benne megoldást.

Az OpenVPN tippek és trükkök képzésből azokra a feladatokra mutatok megoldást, melyek az én gyakorlati tapasztalatomban a leggyakrabban előfordultak.

Lehet, hogy a bonyolítás több munkát jelent a részedről, de ez bőven megéri az esetek többségében. Egyrészt a többlet munka nem sok, legtöbbször csak egy-egy plusz beállítást jelent, egyszóval érdemes megtenni.

Az első, amit erősen javaslok a biztonság növelése. Az első két alkalommal a felhasználói azonosításra az AD szervert, a felhasználó nevét és jelszavát használtad. Ez nem rossz, de van jobb. A szerver azonosítására a kliens már ott is használ tanúsítvány ellenőrzést (nem véletlen kellett csinálni hozzá egy CA-t és kulcsot valamint tanúsítványt a szervernek). Innen már csak egy kis lépés, hogy minden felhasználónak készíts kulcsot és tanúsítványt, amivel rendelkezniük kell a belépéshez (kiegészítve a jelszavas azonosítást). Apróság, de jelentősen növeli a biztonságot.

A második részben volt szó a TCP alapú kapcsolódásról, mely egy jó megoldás a kapcsolódási problémákra olyan helyekről, ahonnan csak proxy szerveren át vezet az út az internetre. A tipp az volt ott, hogy fusson az OpenVPN szerver a 443-as TCP porton (HTTPS port), így a legtöbb proxy át fog oda engedni. De mi van, ha webszervert is szeretnél ugyanott futtatni? Erre is megmutatom a megoldást.

Sok kapcsolódási problémát lehet orvolsolni egyszerű hangolással, pár tippet erre is kapsz.

Végül egy bonyolultabb téma is belekerült a harmadik részbe: sokszor kell, hogy egy kliens egyedi beállítást kapjon. Például mindenkinek átirányítod a forgalmát a VPN-be, aki kapcsolódik, hogy minden forgalma a tűzfaladon keresztül menjen (mert így a biztonságosabb), de tuti lesz kivétel. Például te magad, amikor több ügyfél rendszeréhez kell egyszerre kapcsolódj, vagy a főnük, mert ő mindig kivétel. Egy szó mint száz, valahogy ezt meg kell oldani. Az OpenVPN kliensenkénti egyedi beállítás funkciója kiváló erre. Van viszont pár buktatója, amire ha nem figyelsz, nem fogod érteni miért nem megy. A képézésben megmutatom ennek beállítását is, a buktatók elkerülésével együtt (mi és miért okoz problémát).

Az interneten a biztonságos kapcsolat alapvetű fontosságú. Ehhez a legjobb megoldás a VPN, mely nem csak egy mobil eszköz esetén hasznos, hanem akkor is, ha a cég két telephelye között kell megoldani a biztonságot. Az OpenVPN egyaránt alkalmas mindkét célra.

Két hálózat összekapcsolására két megoldást is kapsz. Az egyik, ha a két helyen eltérő IP címtartomány van. Ilyenkor az OpenVPN “tun” módját kell használnod, mely “route-olt” forgalmat tesz lehetővé. A képzés első részében ezt tanulod meg. A másik megoldás, ha a két helyen azonos IP címeket kell használj. Ebben az esetben a “tap”, vagyis bridge módra van szükséged. A képzés második fele erről szól.

A képzésen megtanulsz két hálózatot összekapcsolni mindkét módszerrel. Megtanulod az OpenVPN optimális beállítását és a tűzfal megfelelő módosítását, hogy a VPN működjön és a biztonság is megmaradjon.

A képzés segítségével te magad is el tudod készíteni két hálózat biztonságos összekapcsolását, a gyakorlati lépésekhez adott bő magyarázatból pedig megérted mit miért kell beállítani, így nem csak megismételni tudod a látottakat, de szükség szerint módosítani is azt.

Course Instructor

Czakó Krisztián Czakó Krisztián oktató