Ausnahmen

Jenseits von Canonicals Argumentation gibt es aber dennoch gelegentlich gute Gründe für den Einsatz einer Desktop-Firewall – auch wenn der Rechner keine Dienste nach außen anbietet.

Zwar trifft Canonicals Einschätzung zu, dass die weitaus meisten Desktop-Systeme mit Ubuntu hinter einem NAT-Router zum Einsatz kommen. Es gibt aber auch Linux-Rechnern, die die Verbindung zum Internet direkt über ein DSL-Modem herstellen. In den heimischen vier Wänden sterben inzwischen solche Konfigurationen zunehmend aus, doch das Problem betrifft auch jedes Notebook mit UMTS-Surfstick.

Schon aus diesem Grund ist der Einsatz einer Desktop-Firewall unter Linux keineswegs immer überflüssig, was erklärt, warum es eine Vielzahl brauchbarer Frontends gibt.

Da wir in der Vergangenheit wiederholt solche Werkzeuge vorgestellt haben (siehe Kasten "Iptables-Frontends"), wollen wir im Folgenden weder weitere Tools aufspüren noch jedes bekannte Tool erneut im Detail beschreiben. Stattdessen stellen wir Ihnen die wichtigsten Iptables-Grundlagen vor – was Sie in die Lage versetzt, mit jedem GUI-Programm dieser Art zurecht zu kommen.

Iptables-Frontends

Linux User hat in den vergangenen Jahren wiederholt verschiedene GUI-Oberflächen für Iptables vorgestellt [5]. Ubuntu favorisiert für diesen Zweck die beiden GTK-basierten Programme Firestarter und Gufw. Firestarter [6], das sich auch in den Paketquellen anderer Distributionen findet, liegt seit 2005 in der stabilen Version 1.03 vor und wird offenbar kaum noch weiterentwickelt. Gufw [7], wie Firestarter im Universe-Repository beheimatet, steuert direkt Ubuntus konsolenbasiertes Firewall-Tool Ufw an. Nutzer anderer Distributionen greifen sehr gern zum von Vadim Kurland entwickelten Firewall Builder [8], der sich mit seiner auf Qt basierenden Oberfläche gut in den KDE-Desktop einfügt. Fedora und OpenSuse haben mit System-config-firewall und dem YaST-Modul Firewall eigene grafische Konfigurationswerkzeuge im Gepäck.

Iptables

Um den kernelbasierten Paketfilter nutzen zu können, muss das Paket iptables eingerichtet sein. Es enthält das gleichnamige Dienstprogramm zur Steuerung der Netfilter-Architektur [3] im Linux-Kernel. Sie starten den Paketfilter als Root mit dem Kommando service iptables start (bei Ubuntu) beziehungsweise systemctl start iptables.service (bei Fedora und anderen auf Systemd basierenden Distributionen).

Das Einschalten bleibt jedoch vorerst ohne Effekt, da Sie noch keine Filterregeln definiert haben. Die übergeben Sie auf der Kommandozeile mit Befehlen der Struktur iptables Option an den Kernel. Solche Regeln gehen allerdings beim Ausschalten des Computers wieder verloren. Um sie dauerhaft zu nutzen, müssen Sie sie in ein Shell-Skript verpacken (zum Beispiel fwstart.sh), das Sie nach dem Systemstart entweder manuell aufrufen oder fest in das Init-System [4] der verwendeten Distribution einbinden (SysV-Init, Systemd, Upstart) einbauen.

Im Kontext von Iptables sind drei Konzepte von zentraler Bedeutung: Tabellen ("tables"), Ketten ("chains") und Regeln ("rules"). Dabei enthält eine Tabelle jeweils mehrere Ketten, jede Kette wiederum mehrere Regeln. Anhand der Regeln entscheidet Iptables, was mit einem ankommenden oder abgehenden Datenpaket passieren soll.

Jede Regel besteht aus einen Satz von Parametern, anhand derer Iptables prüft, ob die Regel für ein zu behandelndes IP-Paket greift. Trifft keiner der Parameter zu, wird das Paket an die nächste Regel der Kette weitergereicht. Anderenfalls verweist die Regel das Paket entweder an ein neues Ziel ("target") oder wendet eine Methode ("policy") auf das Paket an. Die wichtigsten davon fasst die Tabelle "Iptables-Policies" zusammen.

Iptables-Policies

Policy Aktion
ACCEPT Das Paket darf passieren.
DROP Verwirft das Paket ohne Nachricht an den Absender.
MASQUERADE Ersetzt die Quelladresse des Pakets durch die IP-Adresse der Schnittstelle, auf dem es den aktuellen Host Rechner verlässt.
REDIRECT Akzeptiert das Paket, ändert die Ziel-Adresse aber so dass es an den lokalen Host gesendet wird.
REJECT Verwirft das Paket und sendet ein Fehlerpaket zur Bestätigung.

Eine Kette besteht aus einer Sammlung von Regeln. Da Iptables ein Paket bei Nichtzutreffen der Parameter einer Regel an die nächste Regel der Kette weiterreicht, kann es in jeder Kette durchaus mehrere Regeln geben, die ein Paket blockieren oder passieren lassen. Weil der Paketfilter die Regeln einer Kette sequenziell abarbeitet, gilt die Bearbeitung einer Kette als beendet, sobald die erste Regel zutrifft. Iptables kennt fünf Standardketten (siehe Tabelle "Standard-Chains"), wobei einige dieser Ketten stets von allen Paketen durchlaufen werden, andere nur in Abhängigkeit des Ziels eines Pakets.

Standard-Chains

Name betrifft
PREROUTING Alle Pakete (vor jeder Routing-Entscheidung)
FORWARD Pakete, die zu einer anderen Netzwerkschnittstelle weitergeleitet werden (keine Pakete für lokale Dienste)
INPUT Eingehende Pakete, die einen Dienst auf dem lokalen Rechner ansprechen
OUTPUT Ausgehende Pakete von lokalen Diensten
POSTROUTING Alle Pakete (am Ende der Verarbeitung)

Die Ketten INPUT, FORWARD und OUTPUT nutzen jeweils einer Standardregel, die dann zur Anwendung kommt, wenn keine der in der jeweiligen Kette vorhandenen Regeln zutrifft oder wenn es gar keine Regel gibt. In den Ketten PREROUTING und POSTROUTING lassen sich Pakete zwar manipulieren, jedoch nicht ausfiltern. Zusätzlich zu den fünf Standard-Chains dürfen Sie auch benutzerdefinierte Ketten erstellen.

Die Art der Verarbeitung von Netzwerkpaketen klassifizieren drei verschiedene Tabellen namens mangle,nat und filter. Iptables prüft nur in der Tabelle filter alle ankommenden Pakete, um festzustellen, ob es ein Paket durchlassen oder blockieren soll. Iptables kann aber mehr, als nur Pakete zu filtern: Die Tabelle mangle ermöglicht es dem Kernel, Daten im Header des Pakets zu verändern. Mithilfe von nat kann Iptables interne und externe IP-Adressen übersetzen (NAT, Network Adress Translation), bei Routern die wichtigste Funktion.

Jede der genannten Tabellen enthält eine bestimmte Auswahl an Ketten. Die Tabelle filter (der eigentliche Paketfilter) enthält nur die Ketten FORWARD, INPUT und OUTPUT – das genügt für das Umsetzen einer einfachen Firewall bereits. Der Vollständigkeit halber sei noch erwähnt, dass die Tabelle nat die Ket ten PREROUTING, OUTPUT und POSTROUTING enthält, die Tabelle mangle alle Ketten.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 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.
  • Iptables-GUIs im Vergleich
    Mit dem richtigen Werkzeug ist das Einrichten einer Desktop-Firewall keine Kunst. Wo die distributionseigenen Tools schwächeln, helfen clevere Alternativen weiter.
  • Kein Durchgang
    Unter KDE bietet KMyFirewall ein komfortables grafische Frontend zur Konfiguration des Iptables-Paketfilters.
  • Frontends für Iptables
    Der Umgang mit iptables leicht gemacht
  • Grafische Firewall-Administration mit FWBuilder 2.0
    Linux bringt eine leistungsfähige Firewall mit. Sie manuell zu konfigurieren, bringt jedoch selbst Profis ins Schwitzen. Mit dem grafischen Firewall Builder dagegen behalten Sie sogar komplexe Regelwerke bequem im Griff.
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Brother Drucker DCP-J4120
Achim Zerrer, 09.12.2016 18:08, 0 Antworten
Hallo, ich wollte unter Leap 42.1 den Brother Drucker installieren und dazu das PPD- Datei vom do...
Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...