Das diesem Artikel zugrunde liegende Szenario ( Abbildung 1 ) sieht so aus, dass ein DSL-Router mit Linux zum einen die internen Systeme vor Angriffen aus dem Internet schützen soll und zum anderen den Zugriff auf einen internen Server, der an einem DMZ-Interface angeschlossen ist, gewähren muss. Dabei geht es darum, den durchgehenden IPv6-Netzwerk-Traffic ebenso zu steuern wie den Zugriff auf den Router selbst. Dieser soll zu Administrationszwecken zumindest über SSH und HTTPS erreichbar sein. Außerdem soll er als DNS-Server für die internen Systeme dienen.
Seit der Linux-Kernel-Version 2.6.20 unterstützt
»ip6tables
«
auch Stateful Inspection, womit die Firewall Antwortpakete automatisch einer Kommunikation zuordnet und gegebenenfalls passieren lässt. Diese mittlerweile auf fast allen Firewall-Plattformen gängige Funktion reduziert sowohl den Umfang als auch die Komplexität des Regelwerks erheblich, auch in diesem Beispiel.
Auf Linux-Systemen hat sich das Netfilter-Framework als Kernel-basierte Firewall-Software etabliert. Das Programm
»iptables
«
dient zur Erstellung von IPv4-Firewall- und NAT-Regeln sowie der Header-Manipulation von Paketen. Allerdings unterstützt
»iptables
«
nicht IPv6. Daher wurde das Kernel-Modul
»ip6_tables
«
dem Netfilter-Framework hinzugefügt. Es wird über das Programm
»ip6tables
«
konfiguriert.
Das Programm
»ip6tables
«
verhält sich in weiten Teilen so wie
»iptables
«
, sodass alte Hasen nicht komplett umlernen müssen. Andererseits stellt IPv6 durch diverse neue Protokollbestandteile und Kommunikationsformen den Firewall-Administrator vor neue Herausforderungen. In diesem Artikel gehen wir nur auf das Protokoll IPv6 ein, auch wenn in der Realität fast immer beide Protokolle in der Firewall-Konfiguration berücksichtigt werden müssen.
Eine IPv6-Netzwerk-Firewall kontrolliert hauptsächlich den Traffic, der durch das System hindurchgeht. Daher muss das IPv6-Routing zuvor aktiviert werden. Dies geschieht durch folgenden Befehl:
sysctl -w net.ipv6.conf.all.forwarding=1
Dies kann auch in der Konfigurationsdatei
»/etc/sysctl.conf
«
eingetragen werden (
Abbildung 2
). Als Ergebnis steht in der Datei
»/proc/sys/net/ipv6/conf/all
«
eine Eins. Dieser Wert aktiviert das IPv6-Routing. Möchten Sie es deaktivieren, tragen Sie hier eine Null ein.