Linux tűzfal beállítása grafikus felületen

2011. október 24.
93.9521
Figyelem! Ez a cikk már több, mint egy éves! A benne lévő információk elavultak lehetnek!
tsaby profilja, adatai
tsaby
Legtöbbször, amikor valaki kezdő Linux felhasználóként elkezdi használni az általa kiválasztott terjesztést egy ideig az újdonság varázsa teljesen lefoglalja. Ezek után azonban sokszor felmerülnek a más operációs rendszereknél megszokott kérdések. Ilyen kérdések a vírusok veszélye, vagy a tűzfal használatának szükségessége. Mivel a vírus veszély a Linux világában igen csekély, így a személyi számítógépünk védelme érdekében a tűzfal konfigurálásának problémája maradt hátra feladatként.


Az operációs rendszerek szinte mindegyike rendelkezik beépített tűzfallal, így ez a funkció megtalálható Windows rendszerekben,valamint a Linux terjesztések esetén is, viszont a két operációs rendszer eme eszközének képességei nem is említhetőek egy szinten. A Linux terjesztésekben ezt funkciót a "Netfilter" nevű program látja el. Kezelése a nyílt forráskód világában nem túlságosan járatosak szára kicsit bonyolult lehet, mivel mindezt a parancssorból, az "iptables" utasítással tudjuk manipulálni. A számtalan kapcsoló és opció miatt érdemes a kezeléséhez grafikus kezelőfelületű programokat használni.

Iptables alapok
Mielőtt nekilátnánk néhány grafikus felületű tűzfal kezelő megismeréséhez, szükséges egy minimális szinten bepillantást nyernünk a Linux disztribúciók kernel szintű csomagszűrőjének működésébe. Erre azért van szükség mivel a különböző grafikus felületű beállító alkalmazások az korábban említett programot használják a hálózati határvédelmi eszköz beállításához.

Mivel elsősorban most az otthoni számítógépünk védelmét szeretnénk erősíteni, ezért a "Netfilter" képességeinek csak egy kis részével fogunk foglalkozni, amelyek számunkra elengedhetetlenül szükségesek lesznek. Maga a beépített tűzfal program alapértelmezetten általában kikapcsolt állapot van (néhány esetben viszont pont fordítva van), és egyetlen szabályt sem tartalmaz.

A program több táblát tartalmaz a számítógépünkre beérkező csomagok számára, ezekben pedig különböző láncok találhatók, amihez szabályokat tudunk hozzáadni. Most nekünk a rendelkezésre álló táblák közül a legfontosabb a "filter" tábla. Ez mindösszesen három darab láncot tartalmaz: "INPUT", "OUTPUT", "FORWARD". Az első lánchoz hozzáadott előírásokkal a számítógépünkre beérkező csomagokat tudjuk szűrni, míg a másodikhoz hozzáadott szűrőkkel a kimenő adatforgalmat tudjuk szabályozni. Amennyiben számítógépünkkel egyszerűen csak az internetre kapcsolódunk, és nem használjuk átjáróként, akkor a harmadik láncra nem lesz szükségünk. A "Netfilter" kernelmodullal kapcsolatban annyit még érdemes megjegyezni, hogy azokat a szabályokat amiket az "iptables" parancs és annak különböző kapcsolói segítségével hozzáadunk a láncokhoz, azok a kikapcsoláskor nem kerülnek mentésre. Annak érdekében, hogy az elkészített szabályaink megmaradjanak, úgynevezett shell szkriptekben kell tárolnunk, és ezeket ennek segítségével töltjük be az operációs rendszer elindulása után.

Linux tűzfal beállítása grafikus felületen - 2. kép

A fenti képen egy a tűzfalat konfiguráló shell szkript részlet látható, amiből az látszik, hogy az egyes szabályok elkészítése igen bonyolult, és a kevésbé járatos felhasználóknak igencsak átláthatatlan tud lenni. Ez az egyik legfontosabb oka, hogy úgynevezett "frontend" programokat is lehet használni tűzfalunk beállításához. Ezek a programok túlnyomó részt grafikus kezelőfelülettel rendelkeznek, de van olyan is amelyik szintén parancssori alkalmazás, csak egyszerűsíti a tűzfal konfigurálást. A grafikus felületen futtatható szoftverek között is különféle felületűek találhatóak, úgymint amelyek normál programként futtathatóak, vagy olyanok amik egy böngésző programon keresztül tudják finomhangolni a csomagszűrő beállításait.

Grafikus előtét alkalmazások
Linux operációs rendszerek esetében a tűzfal konfigurálásához használt előtét programok, az elkészített beállításokat általában valamilyen shell szkript formájában, vagy "xml" állományként tárolják. Ezeket a fájlok töltődnek be a rendszer indulásakor, aminek köszönhetően aktivizálódik a kernel szintű tűzfal, az előzőleg mentett konfigurációval. Általánosságban megemlíthető, hogy ezek az állományok a "/etc" mappában találhatóak a használt program nevének megfelelő almappában.

A következőkben áttekintjük néhány ismertebb és kevésbé használatos grafikus felületű tűzfal konfigurációs szoftvert. A programok ismertetéséhez az Ubuntu, a Linux Mint, valamint Debian Squeeze operációs rendszereket voltak használva.

Firewall Builder
A csomagszűrőt kezelő szoftverünk telepítése előtt installálni kell az "ssh" kiszolgáló programot, mivel a határvédelmi eszközünkhöz való hozzáféréshez ezt a biztonságos módot használja a vizsgált alkalmazásunk. Az "ssh" kiszolgálónál még egy aprócska konfigurálás szükséges a helyes működéshez, ez pedig a /etc/ssh mappában található "sshd_config" fájlban a "#Listenaddresses 0.0.0.0" sorból ki kell törölnünk a kettős keresztet, valamint a "0.0.0.0" módosítanunk kell "127.0.0.1" értékre. Ezek után, pedig újra kell indítanunk ezt a szolgáltatást, legvégül engedélyeznünk kell a felhasználónevünkkel való belépést az "ssh" szolgáltatásra. Ezekhez a következő utasításokat kell végrehajtanunk a parancssorban:
sudo nano /etc/ssh/sshd_config
sudo /etc/init.d/sshd restart
ssh -l tsaby localhost

Ezt követően még mindig a konzolos felületet használva a "/etc" mappában létre fogunk hozni egy "fw" könyvtárat, aminek a csoportját megváltoztatjuk a saját felhasználónevünkre, és az imént létrehozott könyvtár csoportjának írási és kezelési jogot biztosítunk. Ehhez a következőket kell tennünk:
sudo mkdir /etc/fw
sudo chgrp tsaby /etc/fw
sudo chmod g+wx /etc/fw

Az előkészületek után a telepítéssel kapcsolatban érdemes megemlíteni, hogy a legtöbb disztribúcióban megtalálhatjuk ennek az alkalmazásnak valamely verzióját, amennyiben mégsem tudjuk csomagtárolóból installálni, úgy letölthető a szoftver forráskódja, ami segítségével ezt megtehetjük.

A telepítés után a program indításakor az első ami rögtön szemet szúrhat, hogy a kezelőfelületen az összes szöveg angol nyelven olvasható, ez sajnálatos módon nem változtatható meg a későbbiek folyamán sem. Tovább haladva az kezdő ablak vizsgálatával, három nagyméretű ikon kínál fel különböző lehetőségeket a program kezeléséhez. Az egyik a segítségével egy videó bemutatót tekinthetünk meg böngészőn keresztül, a program kezeléséről. A másik gomb segítségével importálhatunk korábban elmentett konfigurációs állományokat, ezzel megkönnyítve a számítógépünk védelmének beállítását. A harmadik opció amit választhatunk, az az új tűzfal készítésének lehetősége, amennyiben nem rendelkezünk visszatölthető konfigurációs fájllal, akkor ezt kell választanunk a továbblépéshez.

A legutóbbit megadva egy varázsló indul el aminek segítségével konfigurálhatjuk a tűzfalunkat. Ezen program esetében a "könnyű" jelző nem használható a konfigurációra, mivel rengeteg lehetőségünk van, és ezek közül nem olyan egyszerű kiválasztani a számunkra leginkább megfelelőt működési módot. A varázsló első ablakán meg kell adnunk a leendő tűzfalunk nevét, ki kell választanunk a típusát. Itt a számtalan lehetőség közül az "iptables" opciót kell kiválasztanunk. Szerencsére ilyenkor az operációs rendszer típusa automatikusan kiválasztásra kerül. Ezeken kívül érdemes bejelölni a "Use preconfigured firewall templates" előtti jelölőnégyzetet. Ez után továbblépve a konfigurálási folyamatban, ki kell választanunk a számunkra megfelelő sablont, személyi számítógép esetén általában a "host fw template 1" a megfelelő választás. Legvégül csak annyi dolgunk maradt hátra, hogy megadjuk milyen módon kap IP címet számítógépünk ("dinamic IP address", "static IP address").

Linux tűzfal beállítása grafikus felületen - 3. kép

A varázsló befejezése után még néhány beállítást el kell végeznünk, hogy hiba nélkül használhassuk a vizsgált programunkat. Mielőtt azonban ezeket a megtennénk vessünk néhány pillantást a kezelőfelületre, a program ablaka három részre bontható a bal oldali részben találhatjuk az egyes tűzfalelemeket fa struktúrába rendezve, aminek kétféle nézetét választhatjuk ("Standard", "User"). Mellette találjuk azt az ablakrészt ahol a határvédelmi előírásokat tudjuk manipulálni. Legalul pedig a kiválasztott tűzfal objektumok szabhatóak részletesen testre.

Az alkalmazás finomhangolásához a tűzfal objektum rész nézetét állítsuk "User" módra, majd duplán kattintva jelöljük ki az "lo (loopback)" elemet, és az ablak alsó részében pipáljuk ki a "Management interface" előtti jelölőnégyzetet. A következő amit még konfigurálnunk kell, hogy a fentebb létrehozott mappát ("/etc/fw") használja a Firewall Builder a tűzfalszabályok tárolására. Ehhez pedig az ablak bal oldalán levő objektumok között válasszuk ki duplán kattintva a tűzfalunkat (esetünkben ez a "helyi-tuzfal"), majd az ablak alsó részén a "Firewall Settings" gombot. Ennek hatására megjelenő új ablakban az "Installer" fülön belül néhány dolgot át kell írnunk. Elsőként a szkriptünk tárolására szolgáló könyvtár elérési útját módosítjuk "/etc/init.d"-ről "/etc/fw"-re, majd a felhasználónevet írjuk át "root"-ról a saját felhasználónevünkre (esetünkben "tsaby"), legvégül az ez alatti szövegmezőbe a "localhost"-ot írjuk be, ezen keresztül fog kommunikálni a programunk a számítógéppel.

Linux tűzfal beállítása grafikus felületen - 4. kép

A program konfigurálásának elején kiválasztottunk egy előre beállított szabálygyűjteményt, ahhoz hogy ez érvényre jusson, le kell fordítanunk, majd installálnunk kell. Ezt egy lépésben megtehetjük az alkalmazásunk ablakának felső részén található "Install" ikonnal. Itt a megjelenő ablakban, amennyiben még először használjuk a Firewall Builder-t meg kell adnunk, hogy hol tárolja az ideiglenes szabályokat, majd ezt követően ki kell jelölnünk a "Compile" és "Install" lehetőségeket. Továbblépve a felhasználó jelszavunkat megadva érvényre juttathatjuk a tűzfalszabályokat.

Linux tűzfal beállítása grafikus felületen - 5. kép

A kissé körülményes konfigurálás után a program használata rendkívül egyszerű. Új tűzfalszabályt készíteni úgy tudunk, hogy a szabályok megjelenítésére szolgáló területen jobb egérgombbal kattintunk és a lenyíló menüből a "Add New Rule on Top", vagy "Add New Rule at the Bottom" lehetőséget választjuk. Következő lépésként pedig a létrejött szabályt manipulálhatjuk az előíráson duplán kattintva az ablak alsó részén megjelenő konfigurációs részben. Természetesen amikor módosítást végzünk a szabályokon ahhoz, hogy ezek érvényre jussanak ismét az "Install" gombbal fordítanunk és telepítenünk kell a tűzfalszabályokat.

Linux tűzfal beállítása grafikus felületen - 6. kép

Gufw
Egy másik grafikus felület a kernel szintű csomagszűrő manipulálásához a Gufw, ez jóval egyszerűbben kezelhető alkalmazás, viszont a tudása is kisebb az előző programnál. A program az "ufw" programnak a GNOME környezetre készített felülete, emiatt a "/etc/ufw" könyvtárban található konfigurációs fájlokat tudjuk vele manipulálni.

A program elindítása után az első lépés, hogy az "Unlock" gomb segítségével feloldjuk az alkalmazást (ekkor általában a saját felhasználónevünkhöz tartozó jelszót kell megadnunk), e nélkül ugyanis nem tudunk semmilyen beállítást elvégezni. A további kezelése nagyon egyszerű, a program ablakában bekapcsoljuk a tűzfalat, majd megadhatjuk a "Bejövő" és "Kimenő" kapcsolatokra használandó házirendet, ez mindkét esetben lehet "Allow" (engedélyezett), vagy "Deny" (tiltott). Szabályokat az "Add" gomb segítségével tudunk hozzáadni a tűzfalhoz, ekkor egy ablak jelenik meg, ahol választhatunk a már előre konfigurált beállítások közül. Ebben az esetben lehetőség van szolgáltatás, vagy alkalmazásokra is megadni az engedélyeket. Továbbá a "Speciális" opciónál részletesen megadhatóak az elkészíteni kívánt szabály forrás és cél címe, valamint a port is.

Linux tűzfal beállítása grafikus felületen - 7. kép

Ezen felül ebben a programban a naplózást tudjuk még bekapcsolni, ezt a "Szerkesztés" menü "Preferences" pontját választva tehetjük meg. Megadhatjuk a naplózás szintjét, a TCP és UDP portok állapotának figyelését.

Turtle Firewall
A harmadik vizsgált tűzfalkezelő alkalmazásunk a Turtle Firewall, ez igazából nem egy teljes értékű program, hanem "Webmin"-nek egy egy beépülő modulja. A program "xml" típusú konfigurációs fájljai a "/etc/turtlefirewall" mappában találhatók, ezekből az állományokból kerülnek betöltésre a csomagszűrő előírásai. A "Webmin" névből sejthetjük, hogy itt egy böngészőn keresztül használható szoftverről van szó. A "Webmin" és a Turtle Firewall telepítése után egy böngészőt indítva tudjuk elérni a konfigurációs felületet. A weboldal megjelenítő alkalmazásunk címsorba beírva "https://127.0.0.1:10000" címet, megjelenik egy bejelentkező ablak, ahova egy rendszergazdai jogosultságú felhasználóval és annak jelszavával tudunk belépni. Ekkor a böngésző ablak bal oldalán található listából a "Networking" fül alatt található "Turtle firewall" opcióval érhetjük el a tűzfalszoftverünk konfigurációs lehetőségeit.

Linux tűzfal beállítása grafikus felületen - 8. kép

Ahhoz, hogy a szabályokat tudjunk létrehozni először készítenünk kell egy zónát amihez meg kell határoznunk, hogy melyik hálózati interfészt használjuk. Ezt az "Items" pontban tehetjük meg a "create new zone" opció segítségével, itt meg kell adnunk a zóna nevét és a hálózati kommunikációhoz használt interfész nevét (eth0,ppp0,wlan0). Ezek után visszalépve a Turtle Firewall kezdő oldalára a "Rules" menüpontban tudunk új szabályt felvenni a meglévőek közé a "create new rule" opció kiválasztásával. A megjelenő ablakban az új szabály létrehozásakor adott protokoll különböző portjára, vagy előre definiált szolgáltatásra tudunk engedélyező, vagy tiltó szabályt definiálni. Szintén az ezen a lapon levő "create" gomb segítségével véglegesíthetjük a szabályt és egyúttal a szabálylistához is hozzáadjuk.

Linux tűzfal beállítása grafikus felületen - 9. kép

A Turtle Firewall fő ablakában az "Apply changes" gombbal tudjuk érvényre juttatni a változtatásokat. Az imént bemutatott alapfunkciókon kívül még jó néhány további lehetőség kínálkozik számunkra a "Netfilter" beállítására, ilyen például a NAT (hálózati címfordítás), IP maszkolás beállítása, vagy a tűzfal naplójának böngészőben való megjelenítése.

Linux tűzfal beállítása grafikus felületen - 10. kép

Értékelés
A grafikus felületű tűzfal konfiguráló alkalmazások közül mindössze hármat vizsgáltunk meg, de így láthatjuk, hogy mennyi különféle megoldás kínálkozik a "Netfilter" parancssori kezelésének kikerülésére. A vizsgált alkalmazások közül a Firewall Builder bizonyult legnagyobb tudásúnak, viszont ehhez kellett a legtöbb ismeret a hálózati határvédelmi megoldásokról. A legegyszerűbben kezelhető megoldás a Gufw volt, de ez a program biztosította számunkra legkevesebb beállítási lehetőséget. Ugyanakkor a cikkben áttekintett szoftverek közül ez volt az egyetlen mely magyar nyelvű kezelőfelülettel rendelkezett. A harmadik alany kezelése kissé furcsa lehet a böngésző program szükségessége miatt, viszont az otthoni használathoz ez is megfelelő, minden szükséges opció megadható.
12 hozzászólás

Vendég

13 éve, 5 hónapja és 23 napja

Nagyon olvasmányos és informatív cikk!

válasz erre

marco

13 éve, 6 hónapja és 5 napja

Vendég írta:
+1 for FW Builder! Remek határvédelmi megoldás, kár, hogy a windowos megoldás fizetős. szomorú smiley
Nem rossz kis írás, de nem elég részletes egy gyakorló rendszeradminisztrátornak! mosolygó smiley
Majd linket teszek az általam fejlesztett blog oldalról... Gratula kacsintó smiley
Elsősorban kezdő-haladó rétegnek készülnek a Linux cikkeink! Tsaby nevében is köszi a gratot!

Blogod megosztása még egyszerűbb, ha regelsz, és elindítod itt is a blogodat, a bejegyzéseid végén pedig feltünteted a saját blogodat, mint forrást!kacsintó smiley

válasz erre

Vendég

13 éve, 6 hónapja és 5 napja

+1 for FW Builder! Remek határvédelmi megoldás, kár, hogy a windowos megoldás fizetős. szomorú smiley
Nem rossz kis írás, de nem elég részletes egy gyakorló rendszeradminisztrátornak! mosolygó smiley
Majd linket teszek az általam fejlesztett blog oldalról... Gratula kacsintó smiley

válasz erre

marco

13 éve, 6 hónapja és 22 napja

Vendég írta:
firefox ?
Firefox? meglepett smiley Az böngésző, nem tűzfal. Vagy mit akartál ezzel a szóval mondani? mosolygó smiley

válasz erre

Vendég

13 éve, 6 hónapja és 22 napja

firestarter ?

válasz erre

Vendég

13 éve, 6 hónapja és 22 napja

firefox ?

válasz erre

Vendég

13 éve, 6 hónapja és 22 napja

Vendég írta:
Minek linuxra tűzfal? Nem atombiztonságos?meglepett smiley
Többek között épp attól atombiztonságos, mert ilyen komoly tűzfal rendszer van benne. Észrevehetetlen, és biztonságos. Valóban véd.

válasz erre

Vendég

13 éve, 6 hónapja és 23 napja

Minek linuxra tűzfal? Nem atombiztonságos?meglepett smiley

válasz erre

Vendég

13 éve, 6 hónapja és 23 napja

nem semmi leírás. grat

válasz erre

Vendég

13 éve, 6 hónapja és 24 napja

Magas volt eddig ez a tűzfal dolog, de kezdem megérteni!mosolygó smiley

válasz erre

Vendég

13 éve, 6 hónapja és 24 napja

turtle rohadt jo en is azt hasznalom

válasz erre

Vendég

13 éve, 6 hónapja és 24 napja

Ismét egy hiánypótló írás! Köszi a sok hasznos infót!

Am arról sem tudtam hogy van linuxon tűzfal...mosolygó smiley

válasz erre
 
legutóbbi hozzászólások
 
marco profilja