Navigation

Start Projekte Tutorials & Texte Archiv

Unternavigation

SHAFW

SHAFW kombiniert Snort mit Netfilter, indem es IP-Adressen aus dem Log-Verzeichnis von Snort in Regelsätze für den Paketfilter umwandelt.

Anforderungen

  • Linux ab 2.4
  • PHP4-CLI
  • Iptables und Snort

Installation

  1. Ein neues Verzeichnis erstellen, am besten /usr/local/shafw. Ansonsten müssen die Dateien shafw-clear und shafw-clearall entsprechend angepasst werden.
  2. shafw.conf anpassen und nach /etc kopieren/verschieben. Die IP-Adresse(n) des Servers dabei auf die Whitelist setzen.
  3. Die shafw*-Dateien nach /usr/sbin kopieren.
  4. Die bisherigen Iptables-Regeln (sofern vorhanden) in die rules.tpl kopieren und shafw-clearall ausführen oder alternativ rules.sh mit rules.tpl überschreiben.
  5. Nach ausführlichem Test zwei Cronjobs (root) aufsetzen, einen für shafw und einen für /usr/local/shafw/rules.sh.

Prinzipielle Gefahren

  1. SHAFW ist es egal, wieso Snort eine IP-Adresse geloggt hat oder welche es ist. Das System kann sich also durchaus selbst blacklisten. Entsprechende Whitelist-Einträge (extern und Loopback) sind insofern äußerst wichtig. Zudem muss Snort sorgfältig konfiguriert sein und UDP-basierte Angriffe nicht loggen (das lässt sich zu leicht fälschen).
  2. Vor dem Einsatz müssen Fehlalarme von Snort durch ausführliche Tests so weit wie möglich ausgeschlossen werden.
  3. IP-Adressen sind oftmals dynamisch, d.h. Sperren verlieren nach einer Neueinwahl ihre Wirkung.
  4. Das Script läuft nicht permanent sondern periodisch. In der Zwischenzeit geloggte Adressen werden daher bis zum nächsten Durchlauf nicht geblockt.

Dateien und Funktionen

shafw
Liest die Namen der Unterverzeichnisse von Snorts Logverzeichnis aus und erstellt daraus Regeln für Iptables, wenn die Adresse nicht bereits geblockt ist oder in der Whitelist steht. (Die Unterverzeichnisse sind nach der IP-Adresse des potentiellen Angreifers benannt.)

shafw-clear
Entfernt eine bestimmte IP-Adresse aus den Regeln.

shafw-clearall
Stellt die Regeln aus dem Template wieder her und leert die Liste blockierter Adressen.

rules.sh
Script für den Paketfilter.

rules.tpl
Template für rules.sh.

Download

shafw
Version: 0.1b (20031212 / 20090823)
Lizenz: GPL v2
Größe: 8,5 KB
Link: shafw-0.1b.tar.gz