Firewall und Router-Distribution pfSense

Schutzschild

Auf den ersten Blick wirkt sie beinahe unscheinbar, beeindruckt aber beim näheren Hinsehen durch eine Fülle von Funktionen. Selbst fortgeschrittene Features wie Hochverfügbarkeit sind Teil ihres Repertoires. Ganz schön beeindruckend für eine kleine Firewall.
Wer sein System permanent überwacht, hat den Grundstein dafür gelegt Engpässe zu vermeiden und Fehler frühzeitig zu erkennen. Neben dem Platzhirsch Nagios ... (mehr)

Chris Buechler und Scott Ullrich waren unzufrieden. Zwar bot die FreeBSD-Distribution m0n0wall eine schnelle Einrichtung einer Firewall und eines Routers, war aber vollständig auf den Betrieb in eingebetteten Systemen zugeschnitten. Dort musste sie immer vollständig im Hauptspeicher laufen, wodurch sie sich unter anderem nicht besonders gut erweitern ließ. Also begannen die beiden ihre eigene Distribution zu stricken – pfSense war geboren.

Die Ende September erschienene Version 2.0 besteht im Kern aus FreeBSD 8.1, das auf den Einsatz als Firewall und Router zugeschnitten ist. Auf Wunsch arbeitet pfSense auch als DHCP-Server, Zulieferer für Sniffer wie Wireshark, VPN-Zugangspunkt, DNS-Server und sogar als WLAN Access Point. Dennoch bringt das komplette System gerade einmal 100 MByte auf die Waage, für den Start genügen ein USB-Stick und 128 MByte Hauptspeicher. Wem die eingebauten Funktionen noch nicht reichen, der darf pfSense über Pakete weiter aufbohren. So lassen sich beispielsweise ein Web-Proxy oder ein Intrusion Detection System (in Form von Snort) nachrüsten. Die Einrichtung sämtlicher Komponenten nimmt der Administrator bequem über eine ausgeklügelte Weboberfläche vor. Das alles ist dank BSD-Lizenz auch noch vollkommen kostenlos.

Schweizer Messer

Seinen merkwürdigen Namen hat pfSense von der aus OpenBSD übernommenen Firewall pf. Sie bietet eine zustandsorientierte Paketüberprüfung (Stateful Inspection), kann sich also merken, wer welche Verbindungen aufgebaut hat. Über Regeln blockt man nicht nur einzelne Ports oder Protokolle, sondern limitiert unter anderem auch die Anzahl gleichzeitiger Verbindungen für bestimmte Rechner und lenkt den Verkehr über vorgegebene Gateways. Mithilfe des Werkzeugs »p0f« unterscheidet pfSense sogar Betriebssysteme, sodass man beispielsweise allen Windows-Rechnern den Zugriff auf das Internet verbieten kann. Merkwürdig aussehende Pakete versucht pfSense automatisch zu korrigieren beziehungsweise zu normalisieren (Scrubbing) und so wiederum Angriffen vorzubeugen [2] .

Um die Ausfallsicherheit zu erhöhen, lassen sich mehrere gleichzeitig laufende pfSense-Firewalls koppeln. Fällt eine durch einen Hardwaredefekt aus, übernimmt automatisch eine andere. Im Hintergrund kommt dabei das Common Address Redundancy Protocol (CARP) zum Einsatz [3] . Auf Wunsch überträgt eine pfSense-Installation seine geänderte Konfiguration auf alle anderen und sorgt per »pfsync« dafür, dass die Zustandstabellen aller laufenden Firewalls stets auf dem gleichen Stand sind.

NAT und DHCP

Neben der Firewall enthält pfSense einen DHCP-Server und versteht sich auf Network Adress Translation (NAT), die selbstverständlich Port-Weiterleitung beherrscht und mit mehreren öffentlichen IP-Adressen umgehen kann. pfSense lässt sich als Endpunkt für ein Virtual Private Network (VPN) verwenden, sofern eines der Protokolle IPSec, OpenVPN oder PPTP zum Einsatz kommt. Das Captive Portal ist insbesondere für Hotspot-Betreiber interessant: Sobald man es aktiviert, müssen sich Benutzer zunächst auf einer speziellen Internetseite authentifizieren, um Zugang zum Netz beziehungsweise Internet zu erhalten [4] .

Besonders in größeren Netzen sorgt das Load Balancing für Entlastung. pfSense verteilt dann den ausgehenden Datenverkehr auf mehrere WAN-Schnittstellen. Fällt eine von ihnen aus, leitet pfSense den Verkehr automatisch auf die noch funktionierenden um. Analog kann pfSense eingehende Anfragen und Verbindungen auf mehrere Server verteilen. Das ist beispielsweise praktisch, wenn man stark frequentierte Webseiten betreibt. Sollte einer der Webserver ausfallen, leitet pfSense zudem die Anfragen automatisch an die übrigen um.

Einen Wermutstropfen gibt es dann doch: pfSense unterstützt nur x86- oder AMD64-Prozessoren. Die genügsamen Systemanforderungen gelten zudem nur für eine einfache Firewall und ein kleines Netz. Sollen über den Rechner beispielsweise bis zu 200 Mbps laufen, verlangt pfSense schon einen Prozessor mit mindestens 1 GHz. Nachträglich installierte Pakete, wie etwa Snort, verschlingen zusätzliches RAM. Eine praktische Berechnungstabelle haben die Macher unter [5] veröffentlicht.

Wer der Downloadseite auf einen Mirror folgt, den erschlägt erst einmal eine Liste mit unzähligen Dateien ( Abbildung 1 ). Normalerweise benötigt man nur vom unteren Seitenrand das circa 100 MByte große ISO-Image »pfSense-2.0-RELEASE-i386.iso.gz« , auf einem AMD64-System greift man zu »pfSense-2.0-RELEASE-amd64.iso.gz« . Auf eine CD gebrannt, startet von ihr dann wahlweise ein Installationsprogramm oder ein Live-System mit der Firewall. In dieser zuletzt genannten Betriebsart fehlen allerdings ein paar Funktionen, weshalb man pfSense möglichst auf einem Rechner oder in einer virtuellen Maschine installieren sollte.

Abbildung 1: Die meisten der pfSense-Images sind für eingebettete Systeme gedacht. Schnelle Netze erfordern aber auch einen schnellen Prozessor.

Ähnliche Artikel

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