[MEGOLDVA]Csomagszűrés méret vagy tartalom alapján

Fórumok

Sziasztok!

Olyan helyzet adódott, hogy szükséges lenne csomagokat szűrni adott méret határ alatt/fölött illetve azokat tartalom alapján. Ha egy IP címről például többször (vagy akár csak 1x) érkezik ilyen szűrendő kérés, akkor azt vagy dobja el, vagy magát az IP címet tiltsa örökre. Ehhez kellene pár iptables ötlet, illetve a megvalósításhoz bármilyen script/daemon ötlet, vagy akár direkt erre a célra kitalált külön program, amivel ilyeneket lehetne figyelni.

A válaszokat előre is köszönöm! A probléma égető, így aki tud valamit, az ne tartsa magában :)

Üdv:
Pety

Hozzászólások

Például u32 és string modul. Esetleg snort, illetve logolás plusz fail2ban.

" A probléma égető"
Érdeklődésképpen miben áll ez a nagy baj, amire ilyen megoldást keresel?

Ha a csomag (adat)tartalmára szeretnél szűrni, akkor layer7 szűrésre lesz szükséged:

http://l7-filter.sourceforge.net/

Konkrét példát sajnos nem tudok mondani, mert nem használok ilyet sehol, de pl. egy időben (sok-sok évvel ezelőtt) ezzel a megoldással tudtam megoldani, hogy egy kis otthoni hálózatban egy torrentező gép akkor se tudja megdögleszteni a netkapcsolatot, ha nincs rajta sávszélesség-limit beállítva (QoS-sel legalacsonyabb prioritást adtam a layer7 szűrő által megjelölt csomagoknak). Sajnos ez ma már nem feltétlenül eredményes, mivel a legtöbb torrentkliens titkosítja a forgalmat, ami ezáltal szűrhetetlenné válik...

L7-et már írta egy "kolléga", de mit értesz az alatt, hogy méret? Gondolom fájlletöltésre (esetleg feltöltésre) akarsz szűrni. Ebben az esetben viszont ez nem igazán tűzfalkérdés (bár L7-tel korlátozottan, de megoldható, egyszer próbáltam, Isten mentsen tőle :), erre inkább traszparens proxy lesz a barátod.

A kapcsolódásét. Teszem azt valaki csatlakozik egy egyszerű socket/telnet szerverhez. Ha már több adat jön mint a meghatározott, akkor ne is elemezze (mondjuk ezt így leírva elég értelmetlen). A lényeg tehát maga a tartalom szűrés lenne, a mérethatárral csak azt jelzem felétek, hogy kis méretű csomagokra.

A megoldást az iptables length modulja jelentette, ezzel megoldható volt a csomag méretének ellenőrzése, valamint a tartalma helyett rosszul fogalmazva nekem az állapot ellenőrzésére volt szükség.