Login
Newsletter
Werbung

So, 4. November 2001, 00:00

iptables - Die Firewall des Kernels 2.4

Stateful Firewalling - erweiterte Filterregeln

Wie wir gerade gesehen haben, reicht eine Prüfung auf Paket-Ebene nicht aus, um ausreichenden Schutz zu bieten. Besseren Schutz bietet ein Mechanismus, der den Zustand aller Verbindungen, die durch die Firewall aktiv bestehen, mitverfolgt und dementsprechend reagiert. Diese Funktion führt das Modul "ipt_state" aus, welches mit -m state aktiviert wird und über die Datei /proc/net/ip_conntrack mit der Außenwelt kommuniziert. Ein gelegentlicher Blick in diese Datei verrät einiges über das, was dieses Modul tut...

Aufrufkonventionen:

-m state Aktivieren des Moduls "ip_state".
  [!] --state <status> Prüfen, ob Paket in einem gewählten Verbindungszustand ist.
 
  mögliche Zustände:
  INVALID Ungültiger Zustand, dieses Paket eröffnet weder eine neue Verbindung, noch gehört es zu einer bestehenden.
  NEW Dieses Paket eröffnet eine neue Verbindung.
  ESTABLISHED Dieses Paket gehört zu einer bereits bestehenden Verbindung
  RELATED Dieses Paket hat etwas mit einer bestehenden Verbindung zu tun.

Beispiel:

# zu routende Pakete nur durchlassen, wenn von innen oder zu einer
# bestehenden Verbindung gehörig
#
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Lokale Prozesse genauso schützen
#
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Das Faszinierende am Mechanismus des "Connection Tracking" ist, daß selbst eigentlich zustandslose Verbindungen wie UDP oder ICMP mitverfolgt werden können.

wolfgang@scarlett:~ > ping 192.168.1.5
PING 192.168.1.5 (192.168.1.5): 56 data bytes
--- 192.168.1.5 ping statistics ---
9 packets transmitted, 0 packets received, 100% packet loss
wolfgang@scarlett:~ > nslookup asdf
^C
wolfgang@scarlett:~ > ssh kruemel
...
wolfgang@scarlett:~ > cat /proc/net/ip_conntrack
icmp 1 7 src=192.168.1.2 dst=192.168.1.5 type=8 code=0 id=65029 [UNREPLIED]
 src=192.168.1.5 dst=192.168.1.2 type=0 code=0 id=65029 use=1
tcp 6 431996 ESTABLISHED src=192.168.1.2 dst=192.168.1.3
 sport=32770 dport=22 src=192.168.1.3 dst=192.168.1.2 sport=22 dport=32770 [ASSURED] use=1
udp 17 16 src=192.168.0.1 dst=62.104.219.88 sport=32771 dport=53 [UNREPLIED]
 src=62.104.219.88 dst=192.168.0.1 sport=53 dport=32771 use=1
wolfgang@scarlett:~ >

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung