Archiv/Skripte/anfd

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Bearbeiten von Paketquellen

  3. ⚓︎ Ein Terminal öffnen

  4. ⚓︎ Einen Editor öffnen

  5. ⚓︎ Dienste beim Bootvorgang starten

Inhaltsverzeichnis
  1. Anfd - Ain't No Firewall Daemon
  2. Funktionsweise
  3. Installation
  4. Benutzung
    1. Optionen
    2. Konfiguration
  5. Beschränkungen
  6. Links

Anfd - Ain't No Firewall Daemon

Immer wieder werden Umsteiger von anderen Betriebssystemen bei ihren ersten Kontakten zu Ubuntu-Anwendern damit konfrontiert, dass sie bei Ubuntu keine Personal Firewalls benötigen. Lassen sich die meisten von ihnen noch relativ leicht davon überzeugen, dass eine gepflegte Ubuntu-Installation nach außen hin auch ohne Paketfilter genau so wenig Angriffsfläche bietet, so kommt doch immer wieder der Wunsch auf, den Internetzugriff lokal laufender Applikationen zu kontrollieren.

Auch dieser Wunsch ist auf einem Ubuntu-System in den meisten Fällen nicht nötig - zumindest braucht man dafür keine "Personal Firewall" mit bunten Pop-Up-Fenstern, unterschiedlichen "Warnleveln" und was man sonst noch so aus der schillernden Welt der Sicherheitssoftware-Industrie kennt.

Solche Software kann einen vor ernsthafter Schadsoftware sowieso nicht ernsthaft schützen. (Siehe weiterführende Links.) In legitimer Open-Source-Software lassen sich Spywarefunktionen dagegen nicht verstecken, und sie könnten quasi sofort von den Distributoren herausgepatcht werden. Bleibt also nur noch jene Handvoll Closed-Source-Applikationen, die auch unter Linux Verwendung finden, deren Hersteller aber wenig Wert auf die Privatsphäre der Nutzer legen. Hier setzt anfd an.

Wichtig ist zu begreifen, dass anfd keine Sicherheitssoftware ist, sondern Datenschutzsoftware. Der beste Schutz gegen Trojaner und verwandte Software ist immer noch, keine Software aus unbekannter Quelle zu installieren. Anfd kümmert sich nicht um Software, die der Benutzer unbewusst installiert, sondern blockiert bestimmte, aus Benutzersicht unerwünschte Internetverbindungen jener Software, deren Primärfunktionen er gerne trotzdem nutzen will.

Dabei ist es möglich, einzelnen Applikationen selektiv den Internetzugang komplett zu verweigern, auf bestimmte Adressbereiche zu beschränken, oder nur bestimmte Bereiche (z.B. das Netz des Herstellers) zu blockieren.

Funktionsweise

Da die Zuordnung bestimmter Internetverbindungen zu einzelnen Applikationen innerhalb von iptables / netfilter nicht problemlos möglich ist - und die rudimentäre Unterstützung dafür im Ubuntu-Kernel deaktiviert ist - findet die Filterung mittels anfd im sog. Userspace, also außerhalb des Kernels, statt. Die Pakete werden mittels des IP_Queue-Mechanismus an den anfd-Daemon übertragen, der dann über die Legitimation der betreffenden Verbindung entscheidet. Standardmäßig erstellt anfd eine passende iptables-Regel, die auf einem System ohne (auf dem Desktop meist sowieso überflüssige) "Firewall" funktioniert.

Experten-Info:

Wer anfd parallel mit anderen Filterregeln einsetzen will, kann über die Kommandozeilenoption -i eine passendere iptables-Regel definieren, oder mit der Option -x deutlich machen, dass er sich lieber selber um die Erstellung der QUEUE-Regel(n) kümmern will.

Installation

Folgenden Pakete müssen vor der Installation von anfd installiert werden [1]:

Das Skript selber kopiert man einfach an eine geeignete Stelle im Pfad, z.B. nach /usr/local/sbin.

Wenn man anfd dauerhaft verwenden will, sollte man noch ein Startskript /etc/init.d/anfd erstellen [4] und beim Systemstart aktivieren [5].

Benutzung

Anfd selber wird über Kommandozeilenoptionen und eine Konfigurationsdatei (standardmäßig /etc/anfd.conf) gesteuert:

anfd [-D] [-i 'iptables command'] [-x] [-c configfile] [-p pidfile]
anfd -k [-p pidfile]
anfd (-h|-?)

Optionen

Konfiguration

Die Konfigurationsdatei (standardmäßig /etc/anfd.conf) ist zeilenweise aufgebaut. Leerzeilen werden ignoriert, ebenso alles zwischen dem #-Zeichen und dem Zeilenende. Ansonsten bezeichnet jede Zeile die Regel(n) für eine bestimmte Applikation. Die einzelnen Bezeichner werden mit Leerzeichen getrennt.

Programmteil

Jede Zeile beginnt mit der Definition der Applikation, für die die Regel gelten soll. Leerzeichen sind innerhalb dieser Definition nicht erlaubt. Es gibt drei Möglichkeiten, diese anzugeben:

  • vollständiger Pfad: Wird ein vollständiger Pfad (beginnend mit einem /) angegeben, so gilt die Regel erwartungsgemäß genau für das bezeichnete Programm.

  • Programmname: Der einfache Name einer ausführbaren Datei bezeichnet eine Regel, die für alle Dateien dieses Namens gilt, unabhängig von der Position im Dateisystem.

  • ^Kommandozeile: Diese Regel trifft zu, wenn eines der Kommandozeilenargumente des Programms mit der durch das Zirkumflex-Zeichen gekennzeichneten Zeichenkette übereinstimmt. Das ist vor allem sinnvoll, um Skripte in Interpretersprachen zuverlässig unterscheiden zu können.

Regelteil

Der Rest jeder Zeile beinhaltet beliebig viele Regeln. Folgende Formen sind erlaubt:

  • *: Jeglicher Internetzugriff wird dieser Applikation verweigert.

  • IP-Adresse (z.B. 10.10.10.10): Zugriff auf eine bestimmte IP-Adresse wird verweigert.

  • Netzwerk-Adresse (z.B. 10.0.0.0/8): Zugriff auf ein komplettes Netzwerk wird verweigert.

  • IP-Bereich (z.B. 10.0.0.1-10.0.2.254): Zugriff auf alle IPs des angegebenen Bereichs wird verweigert.

  • ! (z.B. !10.0.0.14): Kehrt den Sinn einer der drei o.a. Regeln um, d.h. der Zugriff auf bezeichnete IP, Netzwerk oder IP-Bereich wird erlaubt. Ein Leerzeichen zwischen dem ! und der IP ist nicht gestattet.

Wenn auf ein Datenpaket sowohl eine Verbots- als auch eine Erlaubnis-Regel passt, wird die Verbindung erlaubt, unabhängig von der Reihenfolge der Regeln.

Beschränkungen


inline:anfd