Blocklist.de: Script für automatischen Abgleich [mit Synchronisation]

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

In einem meiner letzten Blogartikel habe ich ein Script vorgestellt, dass die gebannten IP-Adressen von blocklist.de herunterlädt und in die Firewall einfügt.

Leider hat das Script einen Nachteil: Das komplette Löschen der Chain und das erneute komplette eintragen der Regeln ist sehr langsam und unproduktiv. Eine Scriptlaufzeit von ca 20 Sekunden ist unzumutbar. Deshalb habe ich mich heute mal rangesetzt und das Script erweitert.

Eine „Demo“, wie das Script funktioniert findet man hier.

Funktionen

Das Script kann folgendes:

Installation

Einfach in eine Datei ihrer Wahl kopieren und ausführbar machen. Ich würde als Dateiname blocklist-update.sh wählen und nach /sbin speichern. Danach folgenden Eintrag die root-Crontab unter

/etc/crontab eintragen:

0 */1 * * * root /sbin/blocklist-update.sh

Somit wird das Script jede Stunde ausgeführt.

In der Datei selbst kann man die einzelnen Listen hinzufügen, die man haben will. Theoretisch werden auch Listen von anderen Anbietern akzeptiert, wenn pro Zeile eine IP-Adresse steht. Ich spreche trotzdem meine Empfehlung für die Verwendung von blocklist.de aus!

Hier findet man alle angebotenen Listen.

Hinweis: Das Script benötigt root-Rechte, da es mit iptables-Befehlen hantiert.

Hinweis: Beim ersten mal ausführen wird das Script je nach Anzahl IP-Adressen ziemlich lange benötigen. Beim zweiten mal werden nur noch neue IPs eingetragen und veraltete entfernt. Dadurch erhöht sich die Scriptgeschwindigkeit.

Hinweis: Alle Intervalle unter 30 Minuten sind sinnlos, da die Listen selbst nur alle 30 Minuten (+/- 5 Minuten) neu erstellt werden.

Der Code

Da es immer mal wieder zu Formatierungsproblemen bei Code in Verbindung mit WordPress kommt, habe ich ein GitHub Repo dazu erstellt. Dieses findet man hier.


Du hast einen Kommentar, einen Wunsch oder eine Verbeserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück