Aus LinuxUser 03/2016

Firewall-Filterregeln automatisch wiederherstellen

© Hannu Liivaar, Fotolia

Nachgeladen

Dem Linux-Paketfilter Iptables fehlt eine einfache Möglichkeit, die Filterregeln nach einem Systemneustart automatisch zu laden. Die lässt sich aber durchaus nachrüsten – sogar auf mehreren Wegen.

Jeder Admin muss sich damit auseinandersetzen, wie er sein Netz zuverlässig gegen unbefugten Zugriff absichert. Darüber hinaus gilt es, sicherzustellen, dass das zu betreuende (Teil-)Netzwerk seine Aufgabe erwartungsgemäß erfüllt und möglichst nicht als Ausgangspunkt für Aktivitäten mit einer Schadwirkung dient.

Auf Netzwerkebene stehen dem Admin dazu verschiedene Mittel und Wege zur Verfügung. Dazu zählen beispielsweise das Verwalten von Zugangsdaten zur Authentifizierung der Benutzer (etwa via PAM und LDAP), die geeignete Auswahl an eingerichteten Diensten sowie das Konfigurieren der Netzwerkgeräte.

Zum Abschotten einzelner Netzwerksegmente kommen häufig Router und Firewalls zum Einsatz. Die Firewall-Regeln verwaltet der Linux-Kernel im Arbeitsspeicher des Systems. Nachfolgend stellen wir Ihnen verschiedene Methoden vor, wie Sie Ihre Firewall-Einstellungen auf der Basis von Iptables permanent speichern und nicht jedes Mal wieder neu eintippen müssen.

Brandschutzmauer

Firewall bedeutet im Deutschen Brandschutzmauer. Aus Netzwerksicht ist deren primäres Ziel die Auswahl und Beschränkung der Netzwerkpakete, die über eine beobachtete Schnittstelle von einem Netzwerksegment in ein weiteres gelangen. In der Praxis kommt eine Firewall sowohl als Software direkt auf dem zu schützenden System zum Einsatz, als auch in Form einer separaten Hardware-Appliance, die häufig auch noch weitere Dienste unter einem Dach vereint.

Kurz gesagt handelt es sich bei einer Firewall um einen Paketfilter. Ein Filtern erfolgt beispielsweise anhand der IP-Adresse, des Verbindungszustands, der MAC-Adresse oder der Nutzlast eines Pakets. Die ersten beiden Fälle deckt Iptables aus dem Netfilter-Projekt [1] ab, den dritten übernimmt Ebtables [2]. In Zukunft vereint Nftables die Einzelprojekte Iptables, Ip6tables, Ebtables und Arptables unter einem Dach.

Für Fall vier, das Auswerten und Begrenzen des Nutzertraffics, zeichnet sich eine sogenannte Application Level Firewall zuständig, wie beispielsweise der Proxy Squid [3]. Dieser Beitrag beschränkt sich jedoch ausschließlich auf Iptables.

Funktionsweise

Iptables arbeitet mit Ketten (Chains), Regeln (Filtern) und Aktionen (Targets). Anhand dieser Kriterien nimmt die Software die Pakete an (ACCEPT), verwirft sie (DROP beziehungsweise REJECT) oder leitet sie weiter und schreibt sie um (MASQUERADE).

Listing 1 zeigt eine typische Aufrufreihenfolge, die im Beispiel lediglich Verbindungen über Port 22 mit einer Quell-IP-Adresse zwischen 192.168.45.0 und 192.168.45.255 passieren lässt. Der Eintrag in Zeile 1 des Listings löscht zunächst alle bestehenden Regeln, die Kommandos in den Zeilen 2 bis 4 legen das Standardverhalten fest.

Zeile 5 fügt eine Filterregel zur Kette der empfangenen Pakete hinzu. Diese schränkt die akzeptierten Pakete (-j ACCEPT) auf TCP-Pakete (-p tcp) zum Ziel-Port 22 (--dport 22) aus dem Subnetz 192.168.45.x (-s 192.168.45.0/24) ein. Zeile 6 erlaubt auch die entsprechenden Antwortpakete (-j ACCEPT) – hier abgehend von Port 22 (--sport 22) in das Zielnetz 192.168.45.x (-d 192.168.45.0/24) ausschließlich nur für bereits bestehende Verbindungen (--state ESTABLISHED).

Listing 1

# iptables -F
# iptables -P INPUT  DROP
# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP
# iptables -A INPUT -p tcp --dport 22 -s 192.168.45.0/24 -j ACCEPT
# iptables -A OUTPUT --sport 22 -d 192.168.45.0/24 --state ESTABLISHED -j ACCEPT

Grundlagen [4] und eine detaillierte Beschreibung zu Iptables [5] finden Sie bei Interesse in zwei älteren LU-Beiträgen (auch auf Heft-DVD). Um die beschriebenen Kommandos auch auf das inzwischen verfügbare IPv6 anzuwenden, verwenden Sie statt Iptables das neue Ip6tables, das mit der gleichen Syntax arbeitet.

Gültigkeit

Wie erwähnt gelten die Iptables-Regeln nur solange das System läuft. Die Software legt die Regeln nicht persistent ab, sondern hält sie lediglich im Hauptspeicher vor. Schalten Sie den Rechner ab oder rebooten ihn, gehen die aktuellen Firewall-Einstellungen verloren. Um sie nicht jedes Mal neu eingeben zu müssen, gilt es, sie dauerhaft abzulegen und automatisch beim Rechnerstart zu aktivieren.

LinuxUser 03/2016 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: