IPTables - from scratch: Unterschied zwischen den Versionen
| Zeile 15: | Zeile 15: | ||
Chain INPUT (policy ACCEPT) | Chain INPUT (policy ACCEPT) | ||
| − | target prot opt source destination | + | target prot opt source destination |
Chain FORWARD (policy ACCEPT) | Chain FORWARD (policy ACCEPT) | ||
| − | target prot opt source destination | + | target prot opt source destination |
| − | + | ||
Chain OUTPUT (policy ACCEPT) | Chain OUTPUT (policy ACCEPT) | ||
target prot opt source destination | target prot opt source destination | ||
Version vom 1. August 2011, 07:08 Uhr
Die Verwendung von Firewalls mit iptables
Der Linux-Kernel enthält fortgeschrittene Tools für Packet-Filtering, der Prozess für die Kontrolle von Netzwerkpaketen bei ihrem Versuch einzudringen, durch und aus dem System hinaus zu dringen. Kernels vor der 2.4 Version konnten Pakete mit ipchains manipulieren, die Listen von Regeln verwendeten, die für Pakete in jeder Phase des Filterungsprozesses angewandt werden. Die Einführung des 2.4-Kernels hat iptables mit sich gebracht, die den ipchains gleichen, aber deren Wirkungsbereich und Kontrollmöglichkeiten bei der Filterung von Paketen erweitern.
iptables Liste
Die Momentan gesetzten regeln kann man sich mit
root@hutze:~# iptables -L
ausgeben lassen, wobei man die Ausgabe noch mit den Operanden
-n # für numerical -v # für verbose
erweitern kann.
Wenn alle Regeln leer sind sollte das so aussehen:
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Der Rumpf
Zuerst wird ein firewall-Skript mit einem case start - stop Block angelegt:
#!/bin/bash case $1 in start) echo "starte firewall" ;; stop) echo "stoppe firewall" ;; *) echo "usage: $0 start|stop|restart" ;; esac
"flushing" und "default policy"
Bevor wir unsere eigenen Regeln entwerfen sollten wir sichergehen das sich keine alten Regeln einschleichen und zu unerwarteten Komplikationen führen. Dieses wird durch das sogenannte "flushing" erreicht, welches mit folgender Zeile geschieht:
#!/bin/bash case $1 in start) echo "starte firewall" iptables -F ;; stop) echo "stoppe firewall" iptables -F ;; *) echo "usage: $0 start|stop|restart" ;; esac
Syntax Erläuterung
Vorab ist es wichtig zu bemerken das jede iptables zeile ohne andere option von einem "-t filter" ausgeht