Linux Firewall mit ipchains

Benutzedefinierte Listen

Da sicher auch Regeln für andere Verbindungen und ICMP hinzukommen, resultiert das sehr schnell in unübersichtlichen Standardlisten, insbesondere, da jede Verbindung sechs Regeln produziert. Hier sollte der Einsatz von zwei benutzerdefinierten Listen erwägt werden, die dann je dreimal von den Standardlisten aufgerufen werden.

# Erstelle benutzerdefierte Listen
# für Traffic von intern zur DMZ
ipchains -N int2dmz
# für Traffic von der DMZ nach intern
ipchains -N dmz2int
# Paketverteilung intern -> dmz
ipchains -A input -i eth0 -s 192.168.1.0/24 -d 7.8.9.0/24 -j int2dmz
ipchains -A forward -i eth1 -s 192.168.1.0/24 -d 7.8.9.0/24 -j int2dmz
ipchains -A output -i eth1 -s 192.168.1.0/24 -d 7.8.9.0/24 -j int2dmz
# Paketverteilung dmz -> intern
ipchains -A input -i eth1 -s 7.8.9.0/24 -d 192.168.1.0/24 -j dmz2int
ipchains -A forward -i eth0 -s 7.8.9.0/24 -d 192.168.1.0/24 -j dmz2int
ipchains -A output -i eth0 -s 7.8.9.0/24 -d 192.168.1.0/24 -j dmz2int
# intern -> Webserver in 7.8.9.0/24 via int2dmz/dmz2int HTTP+HTTPS
ipchains -A int2dmz -p tcp --sport 1024: --dport 80 -j ACCEPT
ipchains -A int2dmz -p tcp --sport 1024: --dport 443 -j ACCEPT
# Antwortpakete
ipchains -A dmz2int -p tcp --sport 80 --dport 1024: ! -y -j ACCEPT
ipchains -A dmz2int -p tcp --sport 443 --dport 1024: ! -y -j ACCEPT

Gleiches gilt für Regelsätze von extern in eine DMZ. Auch hier sollten Sie mit speziellen Listen arbeiten. Dienste wie SMTP, POP, IMAP, HTTP oder HTTPS stellen für statische Portfilter kein Problem dar, weil sie nur einen Port benutzen.