Tűzfalakkal a hackerek ellen

Vágólapra másolva!
Tömör számhalmazokra bambuló szuperhackerek, behatolásjelző szirénák hangja, csizmák dobogása, minden másodperc számít, nincs feltörhetetlen rendszer - akármelyik hackeres filmre ráhúzható az iménti klisé, a valóságban azonban más a helyzet.
Vágólapra másolva!

Ahhoz, hogy igazán jól megértsük egy tűzfal mikéntjét, kicsit mélyebbre is le kell ásnunk. A szabvány (az OSI modell) hét réteget definiál a hálózati kommunikáció során, ennek jó közelítéssel megfeleltethető a TCP/IP is. Felülről lefelé haladva eljutunk az alkalmazás szintjétől egészen a fizikai rétegig (tehát a hardverig), amelyen az átvitel megtörténik, majd ugyanezen az úton felkerül az adat a legfelső rétegbe a célgépen. (Sorrendben ezek az alkalmazási, megjelenítési, viszony-, szállítási, hálózati, adatkapcsolati és fizikai rétegek.) A pontos funkciójuk részleteiben ne mélyedjünk el: minél alacsonyabb rétegbe tudja magát beiktatni közbenső elemként a tűzfal, annál hatékonyabb. Ha a behatoló nem tud túljutni a harmadik rétegen, akkor képtelen átvenni a vezérlést az operációs rendszer felett. Ehhez szükséges az, hogy a tűzfal elkapja az adatcsomagot (packet) szűrés céljából, mielőtt az az operációs rendszerhez kerülne, és így nem lesz közvetlen út rendszerünk magjához.

Akár a teaszűrő

A tűzfal önállóan dönt arról (persze bizonyos szabályok alapján), hogy mi az, amit átenged, és mi az, amit blokkol. Az eredeti elképzelések szerint egy tűzfal rendszernek három komponensből kell felépülnie: egy csomagszűrőből, egy alkalmazásproxyból és egy belső gépen futtatott csomagszűrőből. A szűrés hatékonyságán kívül fontos jellemzője még a rendszernek, hogy önmagát mennyire képes megvédeni a támadásoktól, mert ugye, ha a tűzfalat ki tudják kapcsolni valamely módon, akkor már nyitva áll a gép.

Ha tűzfalnak nevezett programot látunk, legtöbbször csak az úgynevezett csomagszűrésre (Packet filtering) kell gondolnunk. Ez a rész az OSI modell második és harmadik rétege közé ékelődik, gyakran egyébként az operációs rendszer kernelmagban van. Többnyire IP cím és induló/cél portok alapján tudja megvalósítani a szűrést, azaz elég korlátozott a lehetősége. Az egyszerűség előnye viszont az olcsó megvalósíthatóság, ami kis hardverigénnyel párosul, azaz nem lassít a rendszeren.

A protokollszintű szűrő (Circuit Gateway) egy ritkábban megvalósított szint, amely az OSI viszonyrétegében (a harmadik réteg) dolgozik, TCP/IP esetén, jobb híján, a 4-es szintnél. Az adatcsomag-kapcsolatok legitimitásának szűrése a fő célja, TCP/IP esetében például a TCP kapcsolat felépülésének (TCP handshaking) jogosságát tudja kontrollálni. Megadhatjuk itt is, hogy egyes gépek csak bizonyos gépekkel vehessék fel a kapcsolatot.

Az utolsó, alkalmazásszintű szűrés (Application Gateway, szokás még proxyszűrőnek is nevezni) az OSI felső 5-7 rétegét fedi le. A korábbi két rétegnél sokkal nagyobb lehetősége van, itt már ugyanis nem csak adatcsomagok és címek láthatóak, hanem maga az összerakott adat is. Az idáig eljutott adatokon bármilyen mélységű szűrést végre tud hajtani, de jellegéből adódóan eléggé erőforrás-igényes. Lassúságán kívül hátránya még, hogy itt már elég sok minden megeshet - és sokszor meg is esik -, amire nincs felkészülve, ugyanis rengeteg ismeretlen formátum adódhat.

De hogy jut át mégis?

Tűzfalak mögött20020312tuzfalak.htmlTűzfal otthonra: Agnitum Outpost/techbazis/szoftver/20020903tuzfal.htmlZone Alarm Pro 3.0 - Tűzfal vagy karácsonyfa?/techbazis/szoftver/20020515zone.html

Egy sikeres betörés feltétele, hogy rést találjon a hálózat védelmén. Emberi eredetüknek köszönhetően szinte minden rendszer szükségszerűen tartalmaz több-kevesebb hibát, vagy csak egyszerűen figyelmetlenséget. Amint a szemfüles hackerek találnak egy ilyet, rögtön apró segédprogramok tucatjai születnek, hogy kiaknázzák a lehetőséget. Ha egy operációs rendszer nyílt forráskódú, akkor a "több szem többet lát" alapon kevesebb az esély arra, hogy biztonsági rés maradjon kernelszinten, amit egy szigorú jogosultsági rendszer még tovább javít - talán ennek köszönhető például a Linux effajta hálózati stabilitása. Ínyencek előszeretettel alkalmazzák azt a taktikát, hogy egy kevésbé ismert - és kiismert - rendszert használnak. A heterogén rendszerű hálózatok tovább erősítik egymás védelmét, mert úgysem érthet mindenki mindenhez - képzeljük csak el annak a hackernek az arcát, aki egy UNIX-os tűzfalon átküzdve magát egy NetWare-es Windows rendszerben találja magát.

Kerüljük el a bajt

A legtöbb gép az alapbeállításon bukik el: sok esetben default vagy túlontúl egyszerű jelszót alkalmaznak a rendszergazdák, így nem csoda, ha egy neten talált nevetséges játékszerrel is feltörhető a rendszer. Valóban sosem lehet százszázalékosan tökéletes biztonságban egy hálózat, de mindent meg kell tennünk e cél elérése érdekében. Nem kell hozzá más, mint egy megbízható, gyakran frissített operációs rendszer. Sorozatban látnak napvilágot újabb és újabb hibák: ha azonnal befoltozzuk a rést, kicsi az esély arra, hogy nagy baj történik. Ha ehhez még hozzáveszünk egy jól megtervezett jogosultsági rendszert, amelyhez megfelelően konfigurált és felügyelt tűzfal is tartozik, akkor a betörés esélye gyakorlatilag nulla lesz.

Kozma Ferenc