User Tools

Site Tools


openbsd:spamd:spamd_dynamic_blacklist

Dinamikus feketelista

A szürkelistás szűrés annyit tesz, hogy az távoli levélküldő szerver első kapcsolódási kísérleteit ideiglenes hibaüzenettel elutasítja, majd ha meghatározott idő után újra csatlakozik az adott IP, akkor zöld utat ad neki. Ha kellően sok sikeres kapcsolódás volt egy adott IP-ről, akkor viszont az az IP fehér listára kerül, vagyis nem kell kivárnia a késleltetést, amit az ideiglenes hibaüzenet jelent. Emellett a spamd összegyűjtheti az agresszív spammerek IP címeit és őket nem csak egyszerűen késlelteti, hanem lefoglalja a sávszélességüket úgy, hogy akar 5 percig is eltart mire visszadobja nekik az ideiglenes hibaüzenetet.

Az OpenBSD alaprendszerben található spamd egy szürkelistás szűrő, azonban némi plusz konfigurációval igen hasznos eszköz lehet a spammerek ellen. A leírás megértéséhez alapszintű PF ismeret, illetve működőképes spamd konfiguráció szükséges.

Kitartó spammerek tiltása

Az elején írtam, hogyha egy ideiglenesen elutasított szerver egy kis idő elteltével újra próbálja küldeni a levelet, akkor a spamd átengedi, máskülönben nem kapnánk meg a levelünket. A spammerek többsége az ideiglenes hibaüzenet után nem próbálkozik tovább, mert nincs rá kapacitása, azonban vannak kitartó spammerek, akik ezután is próbálnak küldeni, így átjutnak a szürkelistás szűrön. Szerencsére ellenük is tudjuk használni a tűzfalunkat.

Az így átjutott spam-ek 90%-a valamilyen hibaüzenetet generál a levelező rendszerünk naplójában, amiben legtöbbször szerepel a 'reject' szó, hiszen a cél fiók nem létezik, vagy levéltovábbítást szeretett volna, amit a jól beállított szerverünk nem engedélyezett.

Az alább csatolt script a postfix naplójából válogatja ki az ilyen IP-ket. Természetesen meg nem tökéletes, de idővel remélhetőleg hibátlanul fog működni.

A script kimazsolázza az említett IP-ket, bemásolja egy fájlba, majd onnan a tűzfalban levő spamd-black táblába tölti. Az ebben a táblában található IP-ket pedig a tűzfal minden további vizsgalatot mellőzve átirányítja a spamd-be, így szépen lelassítjuk és lefoglaljuk a spammer sávszélességét.

A szükséges plusz tűzfalszabályok:

table <spamd-black> persist file "/etc/mail/spamd-black"
...
rdr pass inet proto tcp from <spamd-black> to $ext_if port smtp -> 127.0.0.1 port spamd

Illetve kell egy cronjob, hogy a script megfelelő időközönként lefusson:

*/15    *       *       *       *       /usr/local/sbin/extract_black_ips.sh > /dev/null

extract_black_ips.sh

openbsd/spamd/spamd_dynamic_blacklist.txt · Utolsó módosítás: 2010/04/20 08:31 szerkesztette: scout3r