Spamhaus DROP és EDROP listák alapján iptables tiltás

Spamhaus DROP és EDROP listák alapján iptables tiltás

A Spamhaus project segít, könnyen feldolgozható és elérhető formában tartani az Internet nem használatos IP cím tartományainak a listáját. A DROP és EDROP listák a “Don’t Route Or Peer”, valamint EDROP néven a kiterjesztett listát biztosítja. Ezek olyan hálózatok, melyek elvileg nincsenek használatba, így úgynevezett “eltérített”, profi spam műveletekhez bérlet, illetve a számítógépes bűnözéshez használt (malware, trójai letöltők, botnet vezérlők) hálózatok felsorolása.

Ezáltal a Spamhaus lista felhasználható apache DDos támadás csökkentésére, vírusok, trójai támadások korlátozásához.

A Spamhaus DROP listák frissítése

A listák frissítése nem számít gyakorinak, feltételezhetjük, hogy napi a frissítés. Így semmiképp nem célszerű napi egynél többször letölteni, mert a project szerverének a tűzfala gyorsan letilthat.

Célszerűen napi egyszeri, hajnalban való letöltéssel lehet frissíteni az általunk használt védelmet. Így a felsorolást, ami gyakorlatilag egy text fájl, könnyen felhasználhatjuk az iptables alapú tűzfalunk tiltási szabályaihoz, amiről ez a bejegyzés is készült.

Hogyan készítsük el az iptables szabályokat

A letöltött listában található IP cím vagy IP cím tartomány formátuma pontosan megfelel az iptables-ben használatos hálózati formátumnak, például:

14.129.0.0/16 ; SBL192262
14.192.48.0/21 ; SBL131019

Ezt egy egyszerű szkripttel fel tudjuk dolgozni, pl. bash shellben:

for $IPS in `cat /tmp/drop.txt | egrep -v '^;' | awk '{ print $1}' `; do
 iptables -A INPUT -p 0 -s $IPS -j DROP;
 done
Hogyan automatizálhatjuk ezt a iptables alapú IP cím szűrést?

Kész megoldási is vannak ennek a hozzáférés szabályozásnak, az egyik a teljesen alap linux megoldáson: a crontab-ból futtatott shell szkripttel történik. A Spamhaus.sh  névre hallgat a projekt.

A github-ról letölthető szkript elején ellenőrizhetjük, beállíthatjuk az iptables parancs útvonalát, beállíthatjuk, hová tárolja el a szkript a letöltött IP cím tartományokat tartalmazó Spamhaus DROP listát, és a választott Chain elnevezését.

A szkript letölti a listát, kitörli a Chain alapján a korábbi szabályokat, ha nem létezik a Chain, akkor létrehozza, majd a lista alapján egy ciklussal betölti az iptables tűzfalunkba a szabályokat.

A szkriptet a crontab-ból meghívhatjuk és például naponta egyszer hajnalban frissíthetjük az aktuális állapottal.

Arra mindenképp figyeljük, hogy csak addig használjuk a módszert, amíg biztosítani tudjuk, hogy rendben lefut és frissül, különben később használatba vett hálózatok kitiltva maradhatnak.

 

 

No Comments.

Leave a Reply