IPTables

IPTables

Dieser Artikel ist nur noch historisch bedingt vorhanden. Grund ist, dass zwischenzeitlich alle Distributionen sehr gute Tools zum verwalten der Firewalls mitliefern (z. B. firewalld auf RHEL-Derivaten). Damit ist dann auch problemlos die Konfiguration von IPv6 möglich was hier noch gar nicht berücksichtigt ist was aufgrund des Alters der Artikels (2004) keine Rolle gespielt hat.

Iptables ist ein Userspace-Programm zum Einstellen des Paketfilters im Linux-Kernel. Der Filter-Code im Kernel heißt netfilter. Zusätzlich übernimmt dieser dort die Aufgabe der Network Address Translation. Im Gegensatz zu seinem Vorgänger ist netfilter verbindungsorientiert und kann mit Protokollen wie FTP umgehen. Iptables fügt diverse Filter in den Kernel ein, löscht andere und verwaltet bestehende Filterregeln.

Quelle de.wikipedia.org, Text steht unter GNU FDL

Hier hast du die Möglichkeit, ein einfaches Linux-Shell-Skript zu erzeugen, das die notwendigen IPTables befehle für deine Auswahl enthält. Bei einigen Funktionen ist es notwendig, dass du bestimmte Optionen deinem Linux-Kernel hinzufügen musst.

In dem erzeugten Skript ist die Default-Policy "DROP". Das heißt, das alle Packete die nicht explizit erlaubt sind verworfen werden. Das erzeugt Skript hat den Aufbau eines init-Skriptes. Dadurch kannst du es nach erfolgreichen testen sehr leicht automatisch beim starten des Rechners aufrufen lassen.

IPTables-Packetfilter-Skript erzeugen:
Netzwerkinterface: Gebe hier an, welches Netzwerkinterface geschützt werden soll.
Log-Level: Hier kannst du angeben, wieviel gelogt wird. Die Bezeichnungen der Modies sind analog zu syslog.
Ausgehende Dienste: Gebe hier an, welche Dienste von dem zu schützenden Rechner erreichbar sein sollen. Wenn du z. B. WWW-Seiten ansurfen möchtest, musst du auf jeden Fall http (Port 80) freigeben.
Eingehende Dienste: Gebe hier an, welche Dienste auf dem zu schützenden Rechner erreichbar sein sollen. Wenn auf dem Rechner z. B. ein Webserver läuft und dieser soll von aussen erreichbar sein, musst zu zumindest http (Port 80) freigeben.
Erweiterter Schutz (kann evtl. Kernelanpassungen voraussetzen!):
SynFlood Schutz: aktivieren Schützt den Server vor SynFlood Attacken.
Verstohlene Portscanner: aktivieren Schützt vor verstohlenen Portscannern.
Ping of Death: aktivieren Schützt vor Ping of Death-Attacken.
HTTP Anfragenlimit: aktivieren

Anzahl der HTTP Anfragen pro Minute (evtl. Kernelerweiterung notwendig!).
Skript erzeugen: