IPTables - from scratch: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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