|
|
|
IPTables: ein Paketfilter für Linux und anderes mehr
Die heißgeliebte Firewall, die eigentlich ein Packetfilter ist. Kommt je nach Kernelversion als ipchains (2.2.xx) oder als iptables (2.4.xx) daher. Bevor wir dazu kommen, noch einige Einstellungen am System:
Kontrolliert die Zugriffsrechte von außen. Tragt dort ein (wenn ihr keinen Server etcpp...):
ALL:ALL
Das bedeutet: allen Hosts werden alle Dienste nicht erlaubt.
Ebenso, nur umgekehrt. Und einzutragen ist:
ALL:LOCAL
Also keiner kann rein, mit Ausnahme der als local erkannten Rechner (alle, die keinen Punkt im Namen haben). Deswegen empfiehlt sich, seine eigenen Rechner in der Datei /etc/hosts mit sinnreichen oder luschtigen Namen zu versehen. Ohne Punkt!
Detaillierte Informationen findet man, wie immer, mittels "man hosts.deny", "man hosts.allow", "man hosts".
- /etc/security/access.conf
Kontrolliert den Zugriff auf die Konsole. Sehr wichtig! Und einzutragen ist:
-ALL:ALL EXCEPT LOCAL
Die Firewall
Hier zwei absolut primitive Beispielkonfigurationen für einen Router (der NAT machen muß, also einen Client bedient):
-#!/bin/sh -# -# firewall-masq -# This script sets up firewall rules for a machine -# acting as a masquerading gateway -#
-# Interface to Internet EXTIF=ppp+ ANY=0.0.0.0/0
ipchains -P input ACCEPT ipchains -P output ACCEPT ipchains -P forward DENY
ipchains -F forward ipchains -F input ipchains -F output
-# Deny TCP and UDP packets to privileged ports ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
-# Deny TCP connection attempts ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
-# Deny ICMP echo-requests ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
-# Do masquerading ipchains -A forward -j MASQ echo 1 > /proc/sys/net/ipv4/ip_forward
-#!/bin/sh -# firewall-masq -# This script sets up firewall rules for a machine -# acting as a masquerading gateway -#
-# Interface to Internet EXTIF=ppp+ ANY=0.0.0.0/0
-# Load the NAT module (this pulls in all the others). modprobe iptable_nat
-# Turn on IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
-# In the NAT table (-t nat), Append a rule (-A) after routing (POSTROUTING) -# which says to MASQUERADE the connection (-j MASQUERADE). /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
-#Default policy /sbin/iptables -t nat -P PREROUTING ACCEPT /sbin/iptables -t nat -P POSTROUTING ACCEPT
-# Allows forwarding specifically to our LAN /sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
-# Deny TCP and UDP packets to privileged ports /sbin/iptables -A INPUT -i $EXTIF -p UDP -d $ANY --dport 0:1023 -j DROP /sbin/iptables -A INPUT -i $EXTIF -p TCP -d $ANY --dport 0:1023 -j DROP
-# Deny TCP connection attempts /sbin/iptables -A INPUT -i $EXTIF -p TCP --syn -j DROP
-# Allow dns requests /sbin/iptables -A INPUT -i $EXTIF -p UDP --dport domain -j ACCEPT /sbin/iptables -A INPUT -i $EXTIF -p TCP --dport domain -j ACCEPT
-#Logging of rejected packets /sbin/iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG
Das ist eine sehr freizügige Konfiguration, gestattet aber dem Client das Nutzen praktisch beliebiger Spielereien (ICQ, IRC, Napster, Gnutella, alle Spiele, etcpp.) Hier muß jeder selbst wissen, was er will, und ich werde daher im folgenden auch nicht auf Details eingehen. Selbst die ausgewiesenen Experten bei news://de.comp.security.firewall sind da sehr verschiedener Meinung, und ein "NACK - das löst Du besser so" jagt das andere.
Wer sich damit auseinandersetzen will (was man muß, um einigermaßen durchzublicken), dem sei folgender Link sehr empfohlen: http://www.little-idiot.de/firewall
Und noch was: natürlich könntet ihr jetzt zu http://check.lfd.niedersachsen.de/check.php sausen und Eure Ports checken lassen. Natürlich sind die jetzt alle auf Stealth (sollten sie zumindest sein), also genauso wie bei Zonealarm unter Stufe "High". Naja, logisch: oben steht ja auch "Deny ICMP echo-requests", also tut die Firewall nur das, was ihr aufgetragen wurde. Über Sicherheit sagt das gar nichts aus ... wartet lieber bis Teil III, da wird's dann richtig ernst.
Apropos Testseiten: die gibt's wie Sand am Meer, aber es gibt Perlen und ... Zu letzterem zählt z.B. Symantecs Test, der so unverschämt schlecht ist, daß sich der Link nicht lohnt. Eine solide Seite, die eigentlich immer funktioniert, ist die oben genannte. Deutlich aussagekräftiger: http://www.vulnerabilities.org/analysis.html mit einem Online Nessus-Scan, sowie http://www.kryptocrew.de/scanner/ mit einem geradezu monströs konfigurierbaren Scanner. Bei aktiviertem Packetfilter dauern diese Scans allerdings Stunden bis Tage! Ein Schnelltest für Eilige ist ShieldsUp! von Steve Gibson http://grc.com. Dessen geheimnisvolle NanoProbe-Technologie ist geradezu unbegreiflich schnell, testet allerdings auch nur einige wenige Ports.
Nachtrag: Einige der genannten Seiten sind zur Zeit außer Dienst oder nicht erreichbar. Dann versucht es hier: http://scan.sygatetech.com/ |
|