Ein Basisregelwerk mit IP6Tables

gepard1979, photocase.com

Sixpack

Mit IPv6 entfällt NAT, das bei IPv4 häufig als Firewall-artiger Schutzmechanismus für interne Netzwerke diente, obwohl es dafür nicht gedacht war. Bei IPv6 muss nun eine dedizierte Firewall für den Schutz von Angriffen aus dem Internet und anderen Netzwerken sorgen. Für Linux existiert zu diesem Zweck das IP6Tables-Tool. Dieser Artikel zeigt, wie ein Basisregelwerk dafür aussehen kann.
Das Titelthema im ADMIN 04/14 "Vernetzt speichern" sind Netzwerkdateisysteme, etwa Samba 4, verteilter Storage mit Ceph & GlusterFS und der Unix-Klassiker ... (mehr)

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.

Abbildung 1: Das Testszenario für die IPv6-Firewall.

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.

IP6Tables in Netfilter

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.

IPv6-Routing

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.

Abbildung 2: Konfiguration des IPv6-Routing in der Linux-Kernel-Konfiguration.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023