Tűzfal (számítástechnika)

A tűzfal (angolul firewall) célja a számítástechnikában annak biztosítása, hogy a hálózaton keresztül egy adott számítógépbe ne történhessen illetéktelen behatolás. Szoftver- és hardverkomponensekből áll. Hardverkomponensei olyan hálózatfelosztó eszközök, mint a router vagy a proxy. A szoftverkomponensek ezeknek az alkalmazási rendszerei tűzfal szoftverekkel, beleértve ezek csomag-, vagy proxyszűrőit is. A tűzfalak általában folyamatosan jegyzik a forgalom bizonyos adatait, a bejelentkező gépek és felhasználók azonosítóit, a rendkívüli és kétes eseményeket, továbbá riasztásokat is adhatnak.

A tűzfal olyan hálózati biztonsági rendszer, amely felügyeli és szabályozza a bejövő és kimenő hálózati forgalmat előre meghatározott biztonsági szabályok alapján.

A tűzfal jellemzően akadályt képez egy megbízható belső hálózat és egy bizonytalan külső hálózat között.

A tűzfalakat gyakran hálózat tűzfalaknak vagy host-alapú tűzfalaknak kategorizálják.

A hálózati tűzfalak két vagy több hálózat közötti forgalmat szűrnek és hálózati hardvereken futnak.

A gazdaalapú tűzfalak a gazda számítógépen futnak, és ellenőrzik a hálózati forgalmat a számítógépeken belül és kívül.

Működése 
A tűzfal megpróbálja a privát hálózatot  megvédeni nem kívánt támadásoktól. Szabályozza a különböző megbízhatósági szintekkel rendelkező számítógép-hálózatok közti forgalmat. Tipikus példa erre az internet, ami semmilyen megbízhatósággal nem rendelkezik és egy belső hálózat, ami egy magasabb megbízhatósági szintű zóna. Egy közepes megbízhatósági szintű zóna az ún. „határhálózat” vagy demilitarizált zóna (DMZ), amit az internet és a megbízható belső hálózat között alakítanak ki.
Megfelelő beállítás nélkül egy tűzfal gyakran értelmetlenné válik. A biztonsági szabványok „alapértelmezett-letiltás” tűzfal-szabálycsoportot határoznak meg, amelyben csakis azok a hálózatok vannak engedélyezve, amiket már külsőleg engedélyeztünk. Sajnos egy ilyen beállításhoz részletesen ismerni kell a hálózati eszközöket és azokat a végpontokat, amik a vállalat mindennapi működéséhez szükségesek. Sok vállalatnál hiányzik ez az ismeret, és ezért egy „alapértelmezett-engedélyezés” szabályt alkalmaznak, amiben minden forgalom engedélyezve van, amíg konkrétan nem blokkolják. Az ilyen beállítások kéretlen hálózati kapcsolatokat és rendszer veszélyeket okoznak.
A szabálymegszegéseket leszámítva, egy tűzfal funkciója nem abból áll, hogy veszélyeket felismerjen és akadályozzon. Főleg abból áll, hogy a meghatározott kommunikációs kapcsolatokat engedélyezze, a forrás- vagy célcímek és a használt szolgáltatások alapján. A támadások felkutatásáért az ún. behatolás-felismerő rendszerek a felelősek, amelyet akár a tűzfalra is lehet telepíteni, de ezek nem tartoznak a tűzfalhoz.

Fajták, típusok

Csomagszűrés 
(angolul packet-filter firewall)

Az adatcsomagok egyszerű szűrése a cél-port, valamint forrás- és célcím, egy a tűzfal-adminisztrátor által már definiált szabályrendszer alapján történik. Ez minden hálózati-tűzfal alapfunkciója. A vizsgálat eredményeképp a csomagokat megsemmisíti vagy továbbítja. A fejlett tűzfalak csendben dobják el a csomagokat, azaz az érintett kapcsolat egyszerűen nem jön létre/megszakad, de nincs konkrét visszajelzés. Ez egy gyors és univerzális megoldás, viszont jelentős háttérismeretet, a hálózati és alkalmazási protokollok ismeretét igényli. Ez a tűzfalak leggyakrabban használt fajtája, ezekkel az alapvető szűrésekkel rendelkezik manapság a legtöbb router, és vállalati switchek.

Gyakorlati szabályok például:
 a vállalat belső hálózatán levő számítógépek internet felé irányuló valamennyi kapcsolatépítése letiltva, kivéve: a 80-as, kvázi szabvány http porton a vállalat saját weboldalát. Ezt általában elegendő az internetvonal(ak) megosztását (NAT) végző gépen tűzfal szabályként alkalmazni.
 a vállalat belső hálózatán levő számítógépek internet felé irányuló valamennyi kapcsolatépítése letiltva, kivéve: a 80-as http porton és 443-as biztonságos https porton tetszőleges weboldal. Ezt szintén elegendő a NAT-olást végző gép(ek)en tűzfal szabályként alkalmazni.
 a vállalat belső hálózatán levő számítógépek internet felé irányuló valamennyi kapcsolatépítése letiltva, kivéve egyes szolgáltatásokat, mint a http(s), dns, pop3, smtp, egyebek. Ezt a NAT-olást végző számítógépen az egyes szolgáltatásokhoz tartozó kimenő portok engedélyezésével tehetjük meg.
 a vállalat belső hálózatán levő számítógépek egymás közötti hálózati kapcsolatépítésének korlátozása csak engedélyezett szolgáltatásokra: ilyenkor vagy vállalati switchen kell csomagszűrést alkalmazni (például a gépek között mindent letiltunk, kivéve a 137, 138, 139 portokat a fájlmegosztások elérésére), vagy ugyanezt a módszert minden egyes számítógépen alkalmazni kell egy tűzfal programmal.

Állapot szerinti szűrés 
Ez a csomagszűrés egy kibővített formája, ami a 7. OSI-rétegen egy rövid vizsgálatot hajt végre, hogy minden hálózati-csomagról egyfajta állapottáblát hozzon létre. Ezáltal felismeri ez a tűzfal a csomagok közti összefüggéseket és az aktív kapcsolathoz tartozó munkafolyamatokat leállíthatja. Így sikerül ennek felismerni egy kapcsolat felépítése után, hogy a belső kliens a külső célrendszerrel mikor kommunikál, és csak akkor engedélyezi a válaszadást. Amikor a célrendszer olyan adatokat küld, melyeket a belső kliens nem kért, akkor a tűzfal már önmaga blokkolja az átvitelt a kliens és a célrendszer között fennálló kapcsolatnál. Ez különbözteti meg ezt a tűzfalat egy szokásos csomagszűréstől. Egy proxy-val ellentétben a kapcsolat itt önmagában nem befolyásolt.

Alkalmazásszintű tűzfal 
Egy alkalmazásszintű tűzfal a tisztán csak a forgalomhoz tartozó, mint a forrás, cél és szolgáltatás adatokon kívül a hálózati csomagok tartalmát is figyeli. Ez lehetővé teszi az ún. dedikált proxy-k alkalmazását is, amik egy specializált tartalomszűrést vagy egy Malware-szkennelést is lehetővé tesznek.
Egy népszerű félreértéssel ellentétben egy alkalmazásszintű tűzfal alapszintű feladata nem abból áll, hogy meghatározott alkalmazások (programok) hálózathoz való hozzáférését engedélyezze vagy megtiltsa. Egyébként egy áramkör szintű proxy-t lehet egy ilyen tűzfalra létesíteni, ami egy protokollfüggetlen port- és címszűrés mellett egy lehetséges hitelesítés a kapcsolat felépítésének támogatásához. E nélkül egy alkalmazás számára nem lehetséges egy külső hálózattal (internettel) történő kommunikálás.

Proxyk 
Az alkalmazás-szintű tűzfal integrált proxyt használ, ami a munkamenetének helytálltsága alapján építi fel a kliensekkel és a célrendszerekkel a kapcsolatot. A szervernek csak a proxy IP-címe lesz látható mint feladó, nem pedig a kliensé. Így a helyi hálózat struktúrája nem lesz felismerhető az internet felől. Tehát megakadályozza a közvetlen kommunikációt a külső és a védett hálózat között. Közvetítő szerepet játszik a kettő között: a belülről érkező kéréseket feldolgozza, majd azokkal azonos értelmű kérést küld a külső szerver felé, az azokra érkező válaszokat pedig ugyanilyen módon továbbítja a belső hálózat felé. Elég biztonságosnak mondható és általában egyszerűen konfigurálható. Hátránya viszont, hogy kizárólag olyan kommunikációra használható, melynek értelmezésére képes. Magukba foglalhatnak tartalmi gyorsítótárat, így néhány esetben jelentős mértékben csökkenthetik a kifelé irányuló forgalmat.
Minden magasabb kommunikációs protokollnak (HTTP, FTP, DNS, SMTP, POP3, MS-RPC stb.) van egy saját, dedikált proxy-ja. Egyetlen alkalmazás-szintű tűzfalon több dedikált proxy is futhat egyszerre.
Anonim proxy: Az eredeti webező identitásának elrejtésére, a webszerver és a böngésző közti kommunikációba harmadik félként beépül olyan módon, hogy valójában ő tölti le a kiszolgálóról a kliens által kért weblapokat. Ezeket továbbítja, így a tényleges kliens identitása (IP-címe) a szerver elől rejtve marad.

Tartalomszűrés 
Egy tűzfal a tartalomszűrő használatával egy kapcsolat hasznos adatait kiértékelni, ill. az áthaladó adatokat ellenőrizni tudja.

Jellegzetes példái:
 az URL-szűrés és a vírusfigyelés. Mindkét feladathoz többnyire kiegészítő programokra (URL-szűrőre, víruskeresőre) van szükség, a tűzfalak általában nem tartalmazzák ezeket a lehetőségeket
 a lekért weboldalakról az ActiveX és/vagy JavaScript kiszűrése
 bizalmas céginformációk kiszűrése (például: Mérleg-adatok)
 kulcsszavak alapján nem kívánt weboldalak zárolása
 nem kívánt alkalmazás-protokollok (például: film megosztás) blokkolása

Behatolásfelismerő és -megelőző rendszerek 
Az illetéktelen hálózati behatolást jelző rendszert (IDS) és „behatolásmegelőző rendszer”-t (IPS) manapság már egyre gyakrabban integrálják a tűzfalakba. Mindkettő felismer egy behatolási próbát a kommunikációs minták alapján. A különbség az, hogy egy IDS a támadást csak felismeri, míg az IPS meg is próbálja blokkolni.
Az egyes rendszerek ideiglenes tűzfalszabályt hoznak létre, ami egy támadó IP-cím felől érkező összes további kapcsolódási próbálkozást blokkolja. Ha viszont a támadó hamis küldő-címmel ellátott csomagokat küld a rendszernek, akkor ezzel el tudja érni, hogy ne legyen hozzáférés a hamis című klienshez. Ezzel egymás után le tudja választani az összes címet a rendszerről, amelyekre épp szükség lenne a működéshez (DNS-szerver stb.).

Hálózati címfordítás 
Lehetővé teszi belső hálózatra kötött saját nyilvános IP-cím nélküli gépek közvetlen kommunikációját tetszőleges protokollokon keresztül külső gépekkel. Vagyis, hogy több számítógépet egy routeren keresztül kössünk az internetre. Az elsődleges cél ez esetben az, hogy egy nyilvános IP-címen keresztül több privát IP-című (privát címtartomány: RFC 1918) számítógép csatlakozhasson az internethez. A belső gépekről érkező csomagok feladójaként saját magát tünteti fel a tűzfal (így elrejthető a védett host igazi címe), a válaszcsomagok is hozzá kerülnek továbbításra, amiket – a célállomás címének módosítása után – a belső hálózaton elhelyezkedő eredeti feladó részére továbbít. Egy proxy-val ellentétben itt a csomagokat csak továbbküldik és nem analizálják a tartalmukat.

Internet Connection Firewall (ICF) 
A Windows XP és a Windows Server 2003 beépített tűzfal programja, amely az internetre kapcsolódó számítógépeket védi a külső támadások ellen.

Átjáró 
(angolul Gateway)

Két különálló hálózat vagy hálózati szegmens közötti átjárást teszi lehetővé. Ez egy speciális csomópont, mely az összekötött két vagy több hálózat mindegyikének részét képezi, és amelyik a fogadott csomagokat képes a célállomást tartalmazó hálózati szegmens felé továbbítani. Gyakran útválasztó feladatokat is ellátnak, tehát a beérkező csomagok továbbítása a célállomás felé a lehető legkedvezőbb úton útválasztási táblázat alapján is történhet.

Demilitarizált zóna (DMZ) 
(angolul demilitarized zone)

A személyes vagy vállalati hálózatok megbízhatatlan külső, és a megbízható belső része között elhelyezkedő terület. A benne elhelyezkedő hálózati eszközökhöz és erőforrásokhoz mind a megbízható belső, mind a megbízhatatlan külső területről engedélyezi a hozzáférést, de megakadályozza, hogy a külső területről bármilyen kérés vagy hozzáférési kísérlet eljusson a belső hálózatra.

Otthoni és kisirodai (SOHO) router-ek is rendelkeznek DMZ funkcióval. Ilyenkor a kis hálózat szigorúan egyetlen számítógépét a tűzfalszabályok és a NAT-olás elé helyezik, mintha a számítógép közvetlenül kapcsolódna az internetre. Ilyenkor sok akadály megszűnhet, mert közvetlen kapcsolatokat fogadhatunk az internet felől, de megszűnik a router mindenfajta védelmi mechanizmusa is, ezért körültekintéssel kezelendő.

Intranet 
A vállalatok vagy szervezetek belső számítógépes hálózata. Bár általában ugyanazok a protokollok működtetik, mint az internetet, azonban csak a szervezet tagjai használhatják. Általában nem tűzfallal korlátozzák az elérhetőségét a vállalat belső hálózatára, hanem a webkiszolgáló egyszerűen megtagadja az adott tartományba nem tartozó ip-címek kéréseit.

Port szűrés, port kezelés 
A tűzfalnak figyelnie kell az egyes portokon folyó forgalomra. Érzékelnie kell, ha valaki végigpásztázza a nyitott portokat (ún. port scanning), képesnek kell lennie az egyes portok lezárására, valamint fel kell tudni figyelnie az egyes portokon jelentkező „gyanús” forgalomra is.

Külső hivatkozások 
 http://support.microsoft.com/kb/321050
 http://www.pc-help.org/www.nwinternet.com/pchelp/security/firewalls.htm
https://web.archive.org/web/20190115132600/http://pcseged.hu/tuzfal.html

Számítógép-hálózatok
Informatikai biztonság