Hogyan tudunk az interneten szolgáltatni?

A szélessávú internetkapcsolatok terjedésével egyre több lakásban és irodában érhető el 24 órás, folyamatos üzemben a világháló, és gyakran merül fel az igény, hogy a netre kötött gépek ne csak „fogyasztóként" legyenek jelen az interneten, hanem bizonyos adatokat és szolgáltatásokat kívülről is el lehessen érni általuk.


A futtatni kívánt szerver sokfajta lehet. Kézenfekvő és hasznos lehetőség az FTP- és webszerver, de - főleg otthon - a fájlcserélők és az internetes já­ tékszerverek futtatása talán még gyakoribb eset.

Amikor egyszerű felhasználóként szörfözünk a neten, általában arra törekszünk, hogy a saját gépünkhöz vagy hálózatunkhoz kívülről senki se férjen hozzá. Egyedi gép esetén ezt a feladatot a telepített személyi tűzfal (personal firewall), több gép használata esetén pedig az internetet meg­ osztó gépre/routerre telepített tűzfalprogram, vagy a hardveres tűzfaldoboz végzi. Ha az Ön gépét semmi sem védi, miközben a szélessávon napi 16-24 órában kapcsolódik a netre, mindenképpen válasszon valamilyen tűzfalmegoldást, telepítse, és csak utána folytassa a cikk olvasását!

Bármilyen publikus szerver használatához lyukat kell ütnünk a védelmünkre szolgáló tűzfalon, amelyen keresztül a szerverszolgáltatást nyújtó gépünkhöz (és ha sikerül behatolnia, azon keresztül a belső hálózat összes gépéhez) az „ellenséges külvilág" hozzáférhet. Éppen ezért fontos, hogy ez a lyuk csak akkora legyen, amekkora feltétlenül szükséges - vagyis csak azt lehessen rajta keresztül elérni, amit mi akarunk -, és a lyukon át látszó szerver is megfelelően biztonságos legyen.

A megoldások bemutatásánál mindenütt feltételeztük, hogy már be vannak állítva és működnek a tűzfalak, a hálózat összes gépe eléri az internetet, ezért csak a belső szerver elérhetővé tételéhez szükséges pluszlépésekre térünk ki. Ha értékes és bizalmas adatok vannak belső hálózatunkon, akkor a munkát mindenképp érdemes hozzáértő szakemberre bízni, hiszen egy cikk nem pótolhatja a hálózati vagy biztonsági szakértőt, és az itt bemutatott megoldások is inkább a költséghatékonyságot és egyszerűséget, mintsem a maximális biztonságot helyezik előtérbe. Azt is figyelembe kell venni, hogy a szélessávú kapcsolatok általában aszimmetrikusak, így az internet felé használható sávszélesség általában jóval kisebb, mint a befelé elérhető - így nagy tömegű adat folyamatos szolgáltatására nem alkalmasak.

Hálózati topológiák

Egy tipikus kis hálózatban egy gép alapvetően háromfajta funkciót láthat el: lehet szerver, kliens, vagy tűzfal. A kliensgép más gépek szolgáltatásait veszi igénybe, a szerver más gépek számára nyújt szolgál­ tatásokat, a tűzfal pedig szűri és szabá­ lyozza az adatforgalmat.

Természetesen a belső hálózaton lévő gépek más belső gépeknek is nyújthatnak szolgáltatásokat, de itt és most csak az internet felől is elérhető szerverekkel foglalkozunk.

A szerver-, kliens- és tűzfalfunkciók többféleképpen oszthatók ki a számítógépekre, a mellékelt ábrán a három leggyakoribb esetet mutatjuk be.

Az „A" esetben egyetlen gépből áll a „hálózat", amely közvetlenül csatlakozik az internetre, és egyben ellátja a kliens-, tűzfal- és szerverfunkciókat is. Általában azok az otthoni „hálózatok" ilyenek, ahol egyetlen gép lát el minden feladatot. Összetettebb szervert nehéz így üzemeltetni, hiszen az egyetlen otthoni gépet a legtöbben kikapcsolják éjszakára, de időszakosan működtetett szerverekhez (például játék-) még megfelelő megoldás lehet.

A tűzfal — elvben! - akár ki is marad­ hat, de mint már hangsúlyoztuk, ezt a le­ hetőséget csak azoknak ajánljuk, akiket nem zavar, hogy gépük átjáróházzá válik.

A „B" eset elég gyakori: itt a tűzfal- és szerverfunkciókat vonjuk össze egy gépbe, és a kliensgépek ezen keresztül érik el az internetet. Ezek a gépek jellemzően Linuxot vagy Windowst futtatnak, folyamatosan be vannak kapcsolva, és emellett gyakran a belső hálózat számára is ellátnak bizonyos szerverfunkciókat.

A „C" esetben teljesen önálló tűzfalunk van, és a szerver egy külön gépen fut (ezt a gépet kliensként is használhatjuk, de a szükséges beállításokon ez nem változtat). A tűzfal itt is lehet linuxos vagy windowsos PC, de egyre gyakrabban használják a - teljesítményükhöz képest már-már nevet­ ségesen alacsony áron kapható - kis ADSL/kábeles router-tűzfal-kapcsoló hibrideket.

A szolgáltató gép kiválasztása

Első lépésként azt kell eldönteni, hogy melyik gépen fogjuk futtatni a szolgáltatást. Ha csak egyetlen gépünk van („A" eset), akkor a választás egyszerű. Ha a meglévő tűzfalunk PC-alapú, és a gép képes a kívánt szolgáltatás futtatására, akkor a „B" esetnek megfelelő hálózatot alakít­ hatjuk ki.

Ha a szolgáltatást nem akarjuk, vagy nem tudjuk a tűzfalnak szánt gépen fut­ tatni, akkor ezt valamelyik belső gépre kell telepítenünk - célszerűen olyanra, amelyik folyamatosan be van kapcsolva („C" eset). A legjobb persze az, ha egy külön, dedikált gépet használunk a szolgáltatás futtatására.

A szolgáltatás telepítése és elindítása

Ez a lépés teljes mértékben az alkalmazott operációs rendszertől és a választott szerverprogramtól függ. Példaként egy FTP- szolgáltatás indítását mutatjuk be Linux és Windows alatt.

Windows Bár a Windows alatt sokféle FTP-szerver használható, az egyszerűség kedvéért a Windows XP beépített FTP-szerverének illesztését mutatjuk be. A Vezérlőpult (Control Panel) Programok tele­ pítése és törlése (Add or Remove Programs) appletjének indítása után válasszuk a Windows összetevők hozzáadása vagy eltávolítása (Add or Remove Windows Components) fület, majd, némi várakozás után, a felépülő listán az Internet Informations Services (IIS) sorra duplán kattintva megjelölhet­ jük a File Transfer Protocol (FTP) szolgáltatás név alatt megbúvó FTP-szervert, majd az OK lenyomásával telepíthetjük azt.

Példaként ezúttal a legtöbb Linux disztribúcióban megtalálható vsftp- alkalmazást fogjuk használni (a telepítő- CD-ről vagy a disztribúció weboldaláról tölthetjük le a csomagot). Telepítés után általában be kell állítani, hogy az ftpd induljon el minden rendszerindításkor. Ez a feladat szintén disztribúció-specifikus - a Red Hat-alapú disztribúciókban például a setup programmal tehetjük ezt meg.

Az FTP-szerver sikeres telepítését úgy ellenőrizhetjük, hogy megpróbálunk a 127.0.0.1-es (vagyis a gépre mutató) cím­re csatlakozni egy FTP kliens­ programmal. Ha be tudunk lépni, és ki tudjuk listázni a könyvtárakat is, akkor sikerrel jártunk.

SS: NAT és csomagszűrés

A legtöbb egygépes és SOHO tűzfal a csomagszűrő tűzfalak közé tartozik. Ezek egyenként megvizsgálnak minden, a tűzfalnak címzett bejövő, onnan induló és kimenő, illetve a tűzfalon átmenő csomagot, majd a beállított szabályoknak megfelelően átengedik, illetve blokkolják azokat.

Az ilyen tűzfalakat ma már szinte kivétel nélkül ellátták a NAT (Network Address Translation, azaz címfordítás) képességgel is, ami lehetővé teszi, hogy a belső hálózaton lévő, csak privát IP-címmel felszerelt gépek is kommunikálhassanak az interneten lévő gépekkel. Mindeközben teljesen rejtve maradnak, és a külső gépek azt hiszik, hogy csak a tűzfallal állnak kapcsolatban.

Ezt úgy valósítják meg, hogy „meghamisítják" a belső gépekről érkező csomagokat, kicserélve a feladó adatait a sajátjaikra, és úgy küldik tovább azokat az internet felé. Végül az érkező válaszcsomagokban visszacserélik saját címüket a kezdeményező belső gép címére, és úgy küldik tovább az átengedett csomagokat.

Ez persze csak leírva ennyire egyszerű! Számos szolgáltatásnál (például H.323, ICQ, játékok) egyáltalán nem könnyű kitalálni, hogy egy adott csomag melyik kapcsolathoz tartozik. A jobb tűzfalak azonban az összes elterjedt szolgáltatást kezelik.

Ritkábban használt - legalábbis a „C" topológiánál - , és számunkra most elengedhetetlen funkció a DNAT (Destination NAT), amit célcímfordításként lehetne értelmezni. Itt a hagyományos (vagy Source) NAT-tal szemben a tűzfal nem a feladó elérését, hanem a célcímet írja át, lehetővé téve ezzel, hogy a valójában belső, privát IP-címen futó szolgáltatás kívülről úgy látszódjon, mintha a tűzfalon futna.

Windowsos személyi tűzfalak

Számos ingyenes, személyi tűzfalszoftver tölthető le a netről. Ezek közül az egyik első - és máig legnépszerűbb - a ZoneAlarm, amelynek ingyenes alapverzióját mostani bemutatónkban is felhasználtuk. Mivel a többi személyi tűzfalat is hasonló képességekkel látták el, a leírtak alapján azok beállítása sem okozhat gondot.

A ZoneAlarm nem egy általános célú tűzfal: nem kezel NAT-ot és átmenő csomagokat; alapverziójában portok szerint nem, csak IP-címenként tud szűrni. Hatalmas előnye azonban, hogy mivel a védeni kívánt gépen fut, minden alkalmazásra külön be lehet állítani: elérheti-e az internetet, illetve, hogy az internetről elérhető legyen-e. Konfigurálása is rendkívül barátságos: amikor egy program először próbál az internetre kapcsolódni, vagy szerverként működni, egy beugró ablakban megkérdezi, hogy engedélyezzük-e a tevékenységet. Ekkor a hálózati elérést egyszeri alkalomra vagy „örökre" engedélyezhetjük, illetve tilthatjuk meg.

Már az ingyenes verzióban is megadhatunk egy megbízható (trusted) zónát, melyre külön engedélyezhetjük, vagy tilthatjuk az elérést. Alapesetben (közepes biztonság, médium security beállítás) azonban a tűzfal a trusted zónával sem engedélyezi kérdés nélkül a kommunikációt.

A fentiek alapján, ha egyetlen, „A" topológia szerinti windowsos géppel csatlakozunk az internetre, akkor a szerver be­ állítása után nincs más teendőnk, mint hogy a szolgáltatás első indításakor engedélyezzük a tűzfal felbukkanó ablakában a teljes körű hálózatelérést szerverprogramunk számára.

Hardveres routerek

Ha több gépet kötünk az internetre, akkor a legkézenfekvőbb megoldás egy kis router beszerzése. Amellett, hogy ezek a berendezések nem kerülnek sokba, általában egy 4 portos, 10/100-as Ethernet kapcsolót, és/ vagy egy vezeték nélküli (Wireless) Access Pointot is tartalmaznak, tűzfalfunkcióik pedig kielégítenek minden, SOHO-környezetben felmerülő igényt. Ha ezt a megoldást választottuk, akkor hálózatunk topológiája értelemszerűen „C" típusú lesz. Ennek megfelelően egy belső gépen kell futtatnunk a szolgáltatást, és DNAT-tal kell a tűzfalról ráirányítanunk a forgalmat. A konfigurálás részleteit a Draytek Vigor routeren mutatjuk be, de az összes routeren hasonló módon kell elvégezni a beállítást.

Ennél a routernél a NAT Setup menü­ pont alatt négy linket találunk. Az utolsónál nem lehet semmit állítani, itt csupán a leggyakrabban használt szolgáltatásokhoz tartozó portokat tekinthetjük meg.

A DMZ Host Setup a legegyszerűbben használható, ugyanakkor legveszélyesebb lehetőség. Itt egyetlen IP-címet adhatunk meg, amelyre a router a későbbiekben minden azonosítatlan, bejövő csomagot elküld. Ez azt jelenti, hogy a gyakorlatban ez a gép nem részesül a tűzfal védelmében, bármilyen rajta futó szolgáltatás elérhető, és kívülről úgy tűnik, mintha ez lenne a tűzfalgép. E funkció használatát éppen ezért nem ajánljuk - hacsak nem nagyon muszáj.

Az Open Ports Setup és a Configure Port Redirection Table ugyanezt teszi, csak egy kicsit másképpen. A Port Redirection Table-ben egy-egy TCP- vagy UDP-portot irányíthatunk át egy belső gépre, sőt, itt még azt is megtehetjük, hogy a belső gépen nem arra a portra irányítjuk a forgalmat, amelyiken az beérkezett a tűzfalra. Az FTP-szolgáltatást példánkban a 9. sor engedélyezi, amelynek jelentése: „A 21-es TCP-portra érkező csomagokat címfordí­ tással küldd tovább a 192.168.0,3-as gép 21-es portjára, és az erre érkező válaszokat fordítsd vissza úgy, mintha a tűzfal küldte volna!" Az 5-8. sorok a KaZaA és a WinMX működéséhez szükséges beállítá­ sokat tartalmazzák. A peer-to-peer programok működéséhez is szükséges, hogy a többi felhasználó csatlakozni tudjon gé­ pünkhöz. Egy peer-to-peer program szerverkomponense és egy www- vagy FTP- szerver között tulajdonképpen nincs kü­lönbség, hálózati szempontból.

Az Open Ports Setup képernyőn ugyan­ ezt egy kicsit másképp állíthatjuk be. Itt nincs lehetőség arra, hogy más portra te­reljük a forgalmat, viszont 10 különböző gépre, egyenként 10 porttartományt to­ vábbíthatunk.

DDNS

Az eddigiekben bemutattuk, hogyan lehet elérhetővé tenni a szolgáltatásokat az internet felől. Van, amikor ez elegendő is, például a peer-to-peer alkalmazásoknál vagy amikor internetkapcsolatunkhoz fix IP-cím jár. A szélessávú kapcsolatok túl­nyomó többségéhez azonban nem jár au­ tomatikusan fix cím, így hiába tesszük elérhetővé a szolgáltatást, ha senki sem fogja megtalálni azt. Szerencsére erre a problémára is van megoldás, mégpedig a Dinamikus DNS-szolgáltatások formájában. Ezek nem túl magas havi díjért, egyes esetekben ingyenesen teszik lehetővé, hogy változó IP-címünkhöz fix nevet rendeljünk. Egy részletes listát tartalmazó web-oldalt találhatunk a Technopagan oldalán (lásd mellékelt linkgyűjteményünket).

Ha megelégszünk azzal, hogy a szolgáltató egyik tartományából kapjunk egy nevet - például jozsibacsi.dyndns.org —, akkor általában ingyen megúszhatjuk; de ha saját, második szintű domént szeretnénk, akkor fizetnünk kell. A .hu doménben nem találtunk ilyen szolgáltatást, így ha magyar doménra vágyunk, akkor webes átirányításokkal vagy CMAME-rekordokkal kell trükköznünk.

A DDNS használata

A sok jelölt közül, többé-kevésbé ötletszerűen, a dyndns.org-ot választottuk ki a szolgáltatás tesztelésére. A webes felületen körülbelül három percünkbe került a hosztnév regisztrálása. A cím ezután rögtön használható - egészen addig, amíg a szolgáltatótól nem kapunk egy másik IP- címet.

Bár van arra lehetőség, hogy ekkor manuálisan átírjuk a szolgáltató oldalán a cí­ met, az igazi megoldás az, ha ezt a frissítést automatizáljuk. Mi egy ADSL routerrel próbáltuk ki a szolgáltatást, amely beépítetten kezeli a dyndns.org-ot. Mint az mellékelt ábránkon is látható, a beállítás itt sem tart tovább 3 percnél.

Ha nem külön routert használunk, ha­ nem windowsos vagy linuxos PC-vel csatlakozunk az internetre, akkor valamivel többet kell dolgoznunk, ugyanis telepíte­ nünk kell egy kliensprogramot, amely elvégzi a frissítés feladatait. Nekünk a leírás alapján a BaliDNS program tűnt szimpatikusnak, de ki-ki egyéni ízlése, és a használt szolgáltatás alapján válogathat a kínálatból. Az ismertebb szolgáltatásokhoz (így a dyndns-hez is) természetesen van unixos, és gyakran macintosh-os kliens is.

Szerződések és szolgáltatók

A szélessávú szolgáltatók szerződéseikben vagy ÁSzF-jeikben (Általános szerződési feltételek) egyes szolgáltatások esetén korlátozzák az internetkapcsolat használatát. Vannak, akik már a több gép közötti megosztást is tiltják, vannak, akik csak a szerverek futtatását, mások a netmegosztást szigorúan csak magáncélokra engedélyezik. Ha a szerződés kifejezetten és egyértelműen tiltja a tervezett felhasználást, akkor érdemes másik, kedvezőbb díjcsomagra átváltani, vagy - ha megtehetjük -válasszunk olyan szolgáltatót, amelyik liberálisabban kezeli a kérdést.

 !    Alapfogalmak

IP-c í m:
Az interneten egy gépet azonosító , 32 bites szám. A publikus IP-címek a teljes interneten egyediek és egyértelműek, a privát IP címeket csak belső hálózatokban használják, és a privát címmel ellátott gépek csak egy - legalább egy publikus címmel ellátott - tűzfalon keresztül képesek elérni az internetet. A privát címek lO.x.x.x, 172.16.X.X - 172.31.X.X vagy 192.168.X.X alakúak lehetnek.

Port:

Az IP-cím önmagában csak egy számítógépet határoz meg, a protokoll és a port megadásával választhatjuk ki a számítógépen futó egyik (szerver) programot A portszám típusa 2 bájtos, értéke 0 és 65535 között lehet.

TCP, Transmission Control Protocol:
Az egyik alapvet ő IP-protokoll, amelyet akkor használnak, ha nagyobb mennyiségű adatot kell megbízhatóan átvinni, de nem baj a kis késleltetés.

Tipikus p é ld á k: www, FTP, e-mail.

UDP, User Datagram Protocol:
A másik alapvet ő IP-protokoll, amelyet kis mennyiségű , vagy az időzítésre érzékeny adatok átvitelénél használnak. Tipikus példák: DNS, játékok, hang átvitel.

Well known port:

A legtöbb szolgáltatáshoz tartozik egy jól ismert (well known) port, amelyen azok általában elérhetők. A webszerverek általában a 80-as, a levelező szerverek a 25-ös TCP-porton, míg a DNS-szolgáltatás az 53-as UDP-porton érhető el.