Besser Filtern mit IP Tables
Seite 4: Aufgebohrt
Aufgebohrt
Ein weiteres interessantes Match-Modul, das die grundsätzliche Funktionsweise verdeutlicht, ist owner. Hiermit kann man den Besitzer des Prozesses identifizieren, der auf dem lokalen System Pakete versendet. Die Regeln
iptables -A OUTPUT -m owner --uid-owner 0 -j LOG
iptables -A OUTPUT -m owner --uid-owner ftp -j DROP
beispielsweise protokollieren alle ausgehenden Pakete von Prozessen des root-Benutzers und filtern alle Pakete aus, die von Prozessen des Users ftp stammen. Weitere Optionen des owner-Moduls sind - neben der User ID - die Group ID (--gid-owner), die Session ID (--sid-owner) und die Process ID (--pid-owner).
Das Modul iplimit ermöglicht es, parallel eingehende Verbindungen zu begrenzen. Folgende Regel limitiert die Anzahl von HTTP-Verbindungen einer IP-Adresse auf vier Verbindungen:
iptables -A INPUT -p tcp --dport http
-m iplimit --iplimit-above 4 -j REJECT
Auch auf die Nutzdaten eines Pakets kann man filtern:
iptables -A INPUT -p tcp --dport http
-m string --string ".exe?/c+tftp" -j DROP
Alle Pakete, die den angegenen String enthalten, werden abgeblockt. Er wird in einem weit verbreiteten Angriff auf Microsofts Webserver IIS verwendet. Solche Regeln dürfen jedoch nicht eine sichere Konfiguration des Web-Servers ersetzen. Sie sollten höchstens dazu dienen, dem Web-Server allzu sinnlosen Unsinn zu ersparen oder ein wenig Statistik zu betreiben.
Bei Volumentarifen schützen spezielle Quota-Filter vor unliebsamen Überraschungen:
iptables -A FORWARD -p tcp --dport 80
-m quota --quota 500000000 -j ACCEPT
Diese Regel gilt nur für 500 MByte HTTP-Verkehr. Für ein vernünftiges Traffic-Management muss man natürlich noch Benachrichtigungsfunktionen implementieren.
Fazit
Mit Netfilter und iptables lassen sich sichere und zuverlässige Paketfilter aufbauen, um IP-Verkehr zu kontrollieren. Mit den zusätzlichen Funktionen durch Match-Module, insbesondere Stateful Filtering, erreicht es eine Flexibilität, die so manch andere Firewall alt aussehen lässt. Allerdings ist die kryptische Konfiguration über die Kommandozeile nicht Jedermanns Sache, deshalb gibt es mittlerweile Tools mit grafischer Oberfläche, die das Erstellen eines Regelwerkes erleichtern sollen. Firewall Builder ist eines davon und wird in einem folgenden Online-Artikel "Maurermeister" näher beschrieben.
Im Anhang finden Sie noch ein einfaches iptables-Skript, das als Ausgangspunkt für die eigene Firewall dienen kann. Wer mehr über Netfilter und iptables wissen will, sollte sich das Tutorial von Oskar Andreasson [1] zu Gemüte führen. Weitere deutsche Dokumentationen, auch zu den Netfiltererweiterungen, finden sich auf den Netfilterseiten [2].
Literatur
[2] Netfilter How To