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.
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").
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.
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.
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.
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ó.