A tűzfal működésének megértése

A tűzfal működésének megértése

Gondolkodhatsz - milyen excentrikus egy csomópontos ASK kapcsolat létrehozása. Úgy gondolom, hogy ez az excentrikus akarja megérteni, hogyan működik az állami tábla.





Olyan szabályzattal, amely lehetővé teszi mindazt, amire gondolhatsz, hogy ez a csomag el fog telni. De miután jobban megértette, hogyan működik az állami felügyelet, megváltoztathatja az elméjét:

Az eredeti ötlet ellenőrzési feltételeket (legalábbis Check Point FireWall-1) a következő volt: amint a PV kap SYN csomagot, amely létrehozza a kapcsolatot, akkor azt összevetik a szabály alapja. Ugyanúgy, mint egy útválasztóban, ezt a csomagot egymás után sorba rendezzük (kezdve a nulla szabálytól). Ha a csomag teljesítette a szabályokat, és nem fogadta el, elutasításra kerül. A kapcsolat megszűnik vagy elvetésre kerül (az RST a távoli gépre kerül). Ha azonban a csomagot elfogadja, akkor a munkamenet a kernelben található tűzfalkapcsolat állapottáblába kerül. Ezután a későbbi csomagokat (amelyek nem tartalmaznak SYN zászlót) hasonlítják össze az állapotfigyelő táblával. Ha a munkamenet a táblázatban van, és a csomag része a munkamenetnek, akkor a csomag elfogadva. Ha a csomag nem része a munkamenetnek, akkor elvetjük. Ez növeli a rendszer teljesítményét, mert minden egyes csomagot nem hasonlít össze a házirenddel, hanem csak a SYN csomagokat, amelyek létrehozzák a kapcsolatot. Az összes többi TCP csomagot csak a rendszermag állapot táblázatával hasonlítjuk össze (ez nagyon gyors)







Most vissza a kérdésünkre. Ha ACK csomagkapcsolatot kezdeményez, elfogadja az FW csomagot, még akkor is, ha a házirend mindent lehetővé tesz. Amint azt már korábban említettük, akkor azt fogja gondolni, hogy igen. Most, hogy jobban megértjük a kapcsolódási táblázatot, valószínűleg érdemes azt mondani, hogy "nem" =). Amikor az FW egy ACK csomagot kap, összehasonlítja a rendszermag állapottáblájával, nem pedig a házirenddel. Ha azonban a tűzfalnak nincs ilyen munkamenet az állapottáblában (soha nem kapott SYN csomagot), akkor le fogja dobni a csomagot, mert mert az állami táblában nincs rekord.

EREDMÉNY - HOGYAN FW-1 CSATLAKOZZA

Az eredmény nagyon érdekes volt. Az ASK-csomagot nemcsak elfogadták. de hozzáadták az állami táblához. FW munkám megértése téves volt. Megtanultam, hogy amikor a tűzfal kap egy csomagot, amely nem része az asztal a link-state, akkor azt összevetik a szabály alapja, függetlenül attól, hogy a SYN. ACK vagy más csomag. Ha a házirend engedélyezi a munkamenetet, akkor hozzáadódik az állapotsorhoz. Az összes következő munkamenet-csomagot összehasonlítjuk az állami táblával, és elfogadjuk. mert az állami táblában van egy bejegyzés ezen a munkameneten, a csomagok fogadása a házirend ellenőrzése nélkül történik. Az alábbiakban találhatók a fwtable.pl (ver 1.0) segédprogram adatai, amelyek az adatokat "fw tab -t-kapcsolatokból" konvertálják. Ez a táblázat tárolja az összes jelenlegi (?) FW-1 kapcsolatot a memóriában. Az alábbi bejegyzések a kapcsolati állapot táblázat részét képezik, amelynek létrehozását az ACK csomagok kezdeményezték.

Itt láthatja, hogy a tűzfal kapcsolódás állapot táblájához beérkezett és hozzáadott három. Ezeket a három kapcsolatot azonban ACK csomagok kezdeményezték. (ez a Null, SYN / ACK és sok más csomag esetében is érvényes, pl. FIN / ACK). Ha a csomag nem része a munkamenetnek az állami táblából, ellenőrizni fogja a házirendet. Ha elfogadják, akkor a munkamenet hozzáadódik az állami táblához. Ha a csomag nem felel meg a házirendnek, elvetjük és a munkamenet lezárul. A tűzfal támogatja a kapcsolatokat: "fwstop; fwstart". Amikor újraindítja a tűzfalat, a csatlakozási táblázat törlődik, és nem létezik egyetlen kapcsolat sem. Azonban minden aktuális kapcsolatot valószínűleg az ASKi küld. A tűzfal látja őket, ellenőrzi a házirendet és visszaállítja a kapcsolódási táblát. Mindez átlátszó a végfelhasználó számára. Ezért ha elveszíti a titkosítás és a hitelesített munkamenet, a tűzfal nem ezeknek a vegyületeknek a kezdeti állapotban "van. Szintén észreveszi az időtúllépést a jobb oldali oszlopban = 3600 másodperc. Miután a munkamenet hozzá lett adva az állami táblához, a tűzfal tárolja ezt a kapcsolatot. Ez azt jelenti, hogy 60 perc alatt létrehozhat és elküldhet egy másik csomagot az időzítő frissítéséhez. Az időtúllépési paraméterek beállíthatók a vezérlési tulajdonságok menüben.

Megjegyzés. A helyes FIN vagy RST csomagok nem hozhatnak létre munkamenetet, mert a kapcsolatot megszakítják. Ez az egyetlen csomag, amely nem került bele az állam asztalnál „Xmas” csomag létrehozását az nmap szkenner (a -sX opció), de már elfogadták, és rögzíti a naplókban.

A szolgáltatás lehetséges megtagadása (Bugtraq ID 549). Ha létrejön a kapcsolat, ha a kapcsolat kezdeményezésekor ACK csomag (vagy szinte bármilyen egyéb nem SYN csomagot, mint a Null, FIN / ACK SYN / ACK, stb), az időtúllépés beállítása automatikusan 3,600 másodperc (ez az alapértelmezett), lásd a fenti példát. A szolgáltatás megtagadása potenciális veszélyt jelenthet. Sok ACK kapcsolat kezdeményezésével olyan csomagokkal, amelyek nem léteznek, gyorsan kitöltheti az állapottáblázatot. mert nincs távoli rendszer, nincs RST vagy FIN csomag a kapcsolat elhagyásához, egy halott linket hagyva a táblázatban egy órára. (ne feledje, a nem SYN csomagok időtúllépése 3600 másodperc) A csatlakozási táblát nagyon gyorsan feltöltheti ASK munkamenetek létrehozásával. Szerencsére ez a DoS otak sokkal bonyolultabb a tűzfal külsején, mint belülről. Sajnos könnyű kitölteni az asztalt, és a tűzfal miatt (ahogy én tanultam). A fenti grafikon megkerüléséhez a következő lépéseket teheti:

-Csökkentse a TCP kapcsolatot 15 percig (900 másodperc). Ez csökkenti a "lehetőség ablakot", amelyet fel lehet használni a táblázat feltöltésére.
-Növelje az állami táblát. Ez bonyolítja a töltését.
-Állítson be olyan szigorú szabályokat, amelyek korlátozzák a bejutást és az elhagyást.
-Jason Rhoads készítette a fwconwatch.pl forgatókönyvet. amely nyomon fogja követni a kapcsolódási táblázatot és figyelmezteti Önt.
-Telepítse a Fastpath (ver 3.0) vagy a FastMode (a ver 4.0-hoz) elemet, amely eltávolítja a kapcsolatokat a táblából.

Az FW-1 funkció, amit nagyon szeretem, a SYN csomagok kezelése. Ha megpróbál létrehozni egy új munkamenetet, amely emulálja a meglévőt, a tűzfal még mindig összehasonlítja a házirendet. Tegyük fel, hogy a következőket próbálja meg:

A --- FW - B # A rendszer csatlakozik a B - hez

Ha a gyorsút meg van adva, a munkamenet nem kerül hozzáadásra a csatlakozási táblázathoz, azaz a csatlakozási táblázat nem jön létre. Ennek oka az, hogy a fastpath csak a SYN csomagokat nyomon követi, így nincs szükség arra, hogy munkamenetet adjon a kapcsolódási táblázathoz. Ha a csomag más zászlót tartalmaz, a csomag nem szűri, és alapértelmezés szerint átugor. Általában a gyors utat a teljesítmény javítása (vagy ritka esetben az útválasztás) javítására használják. Az ötlet az, hogy ha egy csomagnak nincs SYN zászlója, akkor a kapcsolat része, mert Csak egy SYN csomag hozhat létre kapcsolatot. Mivel csak a SYN csomagokat nyomon követik, a teljesítmény jelentősen megnő. A gyorsjárat használata azonban általában rossz megoldás. ez számos más támadás lehetőségét nyitja meg. A Fastpath csak az FW-1 ver. 3.0 és egy globális tulajdonság, amely minden TCP csomagra érvényes. A 4.0-es verzióban ezt a tulajdonságot Fastmode-nak hívják, és szelektíven alkalmazható a különféle szolgáltatásokhoz.

A felületi tesztek alapján azt mondom, hogy az FW-1 a kapcsolatokat időkorlát miatt zárja le. Amikor foltok ülés ellenőrző modult, amely kommunikál FIN vagy RST csomagot, ez megváltoztatja a timeout származó 3600 másodperctől 50. Ha nincs más csomagokat a csere során a 50 másodperces intervallum, a vegyületet eltávolítjuk a kapcsolatot asztalra. Ha ezen idő alatt bármilyen csomagot küld, az időzítő 50 másodpercre áll vissza. Ha a kapcsolatot zárt állapotban folyamatosan elküldte, újra beállíthatja az időzítőt 50 másodpercig. Ez kizárja a DoS támadás lehetőségét, ha valaki RST vagy FIN csomagot küld. A viselkedés az időtúllépés, elő lehet állítani a TIME_WAIT állam egy TCP kapcsolat megerősítése után (ACK) Vautour FIN csomagot a záró ülésen.

A fwtable.pl segít megérteni a tűzfalak állapotfigyelő tábláit (ez csak a Check Point FW-1 esetében működik). Ezt a szkriptet helyi szinten lehet futtatni a tűzfal modulon, távolról bármely benzinkútról vagy külön a Pearl rendszeren.

A lego.pl lehetővé teszi saját TCP csomagok létrehozását, beleértve a zászlókat, portokat, sorozatszámokat stb. Nincs parancssori felület, a kódot módosítani kell, de nagyon egyszerű. Írta: miff'om.

libnet az ethernet-forgalom alacsony szintű előállításához.




Kapcsolódó cikkek