Die unabhängige, GPL-lizenzierte Next-Generation-Firewall-Distribution IPFire läuft bei minimalen Hardware-Anforderungen auf einer Vielzahl von Systemen und bietet State-of-the-Art-Features. Die Einstiegshürden sind niedrig.
IPFire ist ursprünglich ein Fork von IPCop, das 2018 eingestellt wurde. Zwar erinnert nicht mehr Vieles an IPCop, doch Teile der GUI und der Funktionalität gehen darauf zurück. Heute ist IPFire ein modulares System mit eigener Paketverwaltung, das auf Linux from Scratch basiert.
Derzeit ist IPFire für die Plattformen x86_32, x86_64, aarch64 (64-Bit-ARMv8-Architekturen, experimentell), ARM und Amazon Web Services verfügbar. Für die ersten drei Plattformen gibt es ISO- und Flash-Images. Letztere sind für minderwertige Speichermedien gedacht, die eine sehr eingeschränkte Lebensdauer hinsichtlich der maximalen Anzahl von Schreibzugriffen haben – also beispielsweise Consumer-CF- und SD-Karten. Moderne SSDs gehören nicht dazu. Hier legt das System keine »/swap«- und »/var«-Partition an, um die Speicherzellen zu schonen.
Funktionsvielfalt
Das Herzstück von IPFire bilden die Firewall-Funktionen, darüber hinaus kann das Betriebssystem aber noch sehr viel mehr: Es arbeitet bei Bedarf als Proxy-Server oder als Squid-Webproxy zur Reduzierung des Web-Traffics (Caching). Es kann zudem als DHCP-Server agieren, wobei sich diese Funktion einzeln für die vorhandenen (W)LAN-Interfaces aktivieren lässt. Den IP-Address-Pool kann man individuell festlegen. Für dauerhaft gleichbleibende IP-Zuweisungen gibt es eine Liste für Static Leases.
IPFire vermag daneben die Rolle eines NTP-Zeitservers sowie eines Caching-Nameservers zu übernehmen. Als DNS-Proxy speichert es DNS-Anfragen und beschleunigt damit wiederholte Seitenaufrufe. Die Firewall bewährt sich zudem als Intrusion-Prevention-System. Unter der Haube arbeitet Suricata. Es untersucht die Beschaffenheit des IP-Traffics und auch den Inhalt von Netzwerkpaketen auf Auffälligkeiten.
Außerdem fungiert die Software als VPN-Server. Mit IPsec, OpenVPN und Roadwarrior stehen für den Aufbau von VPN-Verbindungen gleich drei Möglichkeiten zur Auswahl. DynDNS beherrscht IPFire ebenfalls. Um beispielsweise Fernzugriff auf einen Server zu erhalten, kann man mittels DynDNS den Hostnamen des Servers mit der eigenen öffentlichen IP-Adresse verknüpfen. Die Zuordnung bleibt beim Wechsel der dynamisch zugewiesenen IP erhalten. IPFire stellt einen Dienst zur Verfügung, mit dem sich bequem mehrere Zuweisungen verwalten lassen. Zusätzlich benötigt man noch einen DynDNS-Provider wie etwa Dyndns.org. Und auch das ist noch nicht alles: Über QoS lässt sich bestimmter Traffic priorisieren: Bei zu geringer Bandbreite leitet IPFire höher priorisierten Datenverkehr weiter, während es niedrig priorisierte Datenpakete blockt.
Die Firewall-Funktion von IPFire blockt Traffic anhand definierter Regeln. Darüber hinaus gibt es ein umfangreiches Logging. Zusätzlich unterbindet IPFire auf Wunsch Verbindungen von oder zu bestimmten geografischen Standorten. Mithilfe der für den Betrieb von Hotspots interessanten Funktion Captive Portal lassen sich temporäre Nutzer im (WLAN-)Netzwerk in ihren Rechten einschränken und zwingen, eine Nutzervereinbarung zu akzeptieren.
Erweiterungen
Im Bedarfsfall erweitern Sie IPFire über Addons, die Sie über den IPFire-eigenen Paketmanager Pakfire direkt über das Web-Interface installieren. Alternativ lässt sich Pakfire auch über die Konsole nach dem Schema »pakfire install Pakets« nutzen. Der Paketmanager ist für Updates zuständig. Stehen solche zur Verfügung, zeigt die GUI das direkt auf der Startseite an. Sie finden Pakfire im Menü IPFire | pakfire.
Es gibt weit über hundert Addons, darunter einen Streaming Server (Icecast), einen Video-Disk-Recorder (VDR), einen Datei- und Druckserver (Samba), einen Tor-Client (oder ein Tor-Relay), eine Telefonanlage (Asterisk), Überwachungsdienste (Icinga, Nagios und andere), einen Virenscanner (ClamAV) und einen WLAN-Access-Point (HostAPD).
Dass alle diese Module nicht zum Standard-Installationsumfang gehören, hat einen guten Grund: Je weniger davon laufen, desto kleiner ist die Angriffsfläche. Nach Möglichkeit sollten daher Dienste für Datei- und Druckserver oder Telefonanlagen auf eigenen Systemen oder VMs laufen. VDR und Streaming-Dienste haben in professionellen Umgebungen ohnehin wenig verloren. HostAPD benötigen Sie, wenn IPFire als Access Point arbeiten soll, etwa um ein Gäste-WLAN oder einen Hotspot zu betreiben. Aus lizenzrechtlichen Gründen steht als Virenscanner nur das quelloffene ClamAV zur Verfügung, das freilich keine Endpoint-Security ersetzt.
Installation
Für die Installation erstellen Sie am besten einen bootfähigen USB-Stick, beispielsweise mit Etcher. Falls das Zielsystem keinen Grafik-Port bietet, benötigen Sie zusätzlich ein Terminalprogramm wie etwa PuTTY sowie ein serielles Konsolenkabel, um die Ausgabe auf ein anderes System umzulenken (Abbildung 1). Dabei erscheint ein Auswahlmenü, das im ersten Anlauf möglicherweise etwas eigenwillig aussieht. Über Serial Console Options starten Sie das Setup mit angepasster Grafik für serielle Konsolen. Ab da sollte die Darstellung wieder normal erscheinen.

Abbildung 1: Sie benötigen ein Terminalprogramm wie PuTTY, falls der Zielrechner bei der Installation keine Grafikkarte hat.
Ist am Zielsystem dagegen ein Bildschirm angeschlossen, wählen Sie den ersten Menüpunkt Install IPFire. Es folgen die eigentliche Installation sowie ein Neustart, nach dem Sie in einen Konfigurationsassistenten gelangen. Dessen erster Teil betrifft Angaben zu Sprache sowie Host- und Domain-Name.
Bei der Vergabe des Passworts unterscheidet die Routine zwischen Admin- und Root-Passwort; Ersteres ist für die Weboberfläche, Letzteres für die Konsole. IPFire macht hier keine Vorgaben, für sichere Passwörter sind Sie selbst verantwortlich. Bei der Eingabe der Passwörter erfolgt keinerlei Ausgabe am Bildschirm. So erfahren eventuell anwesende, neugierige Personen weder das Passwort selbst noch dessen Länge – ein Hinweis darauf, dass bei IPFire der Sicherheitsgedanke wirklich bis zu Ende gedacht wurde.
Als Nächstes fragt der Assistent die gewünschte Netzwerkkonfiguration ab (Abbildung 2). Dabei ordnen Sie die vorhandenen Netzwerk-Interfaces Netzen und Farben zu. Als Standard verwendet IPFire GREEN für das LAN, BLUE für das WLAN, ORANGE für die DMZ und RED für das WAN. Während Sie die ersten drei Farben grundsätzlich auch anders zuordnen dürfen, bleibt RED für den WAN-Port reserviert. Es lassen sich keine anderen Farben verwenden, was die Anzahl der verfügbaren Netze auf vier begrenzt, selbst wenn das System über mehr als vier NICs verfügt. Benötigen Sie weitere Subnetze, führt der einzige Weg über VLANs. Für die im Folgenden verwendete Beispielkonfiguration verteilen sich die Netze, wie in der Tabelle “Beispielkonfiguration” gezeigt.
|
Farbe |
IP-Adresse |
Netzmaske |
|---|---|---|
|
GREEN |
192.168.100.1 |
255.255.255.0 |
|
BLUE |
192.168.101.1 |
255.255.255.0 |
|
RED |
DHCP |
– |
Im nächsten Schritt wählen Sie das gewünschte Interface (die gewünschte Farbe) aus und weisen ihm eine NIC zu. Technisch gesehen erfolgt die Zuweisung über die MAC-Adresse. Tauschen Sie also später eine Netzwerkkarte aus oder portieren ein vorhandenes Image auf ein anderes System, geht die Zuordnung verloren, und Sie müssen sie erneuern. Über Identifizieren können Sie eine an der LAN-Buchse vorhandene LED blinken lassen. IPFire akzeptiert ausschließlich IPv4-Adressangaben, IPv6 unterstützt es noch nicht.
Die Einstellungen für das rote Interface hängen von der Art des Internet-Zugangs ab. Haben Sie vom Provider eine statische IP-Adresse erhalten, wählen Sie hier den ersten Punkt und geben im nächsten Schritt das Gateway an. Letzteres fällt in den beiden anderen Fällen (DHCP und PPP-Einwahl) weg. Gibt es im Netzwerk bereits ein Gerät, das einen Internet-Zugang zur Verfügung stellt, kann das rote Interface im DHCP-Client-Modus arbeiten (Punkt zwei).
In vielen Szenarien wird IPFire direkt hinter einem (DSL-)Modem betrieben. Selten handelt es sich jedoch um ein reines Modem, sondern meist um einen multifunktionalen Router mit integriertem Modem. Es bietet sich also an, ihn zu degradieren und in den Bridge-Modus zu versetzen. Den Verbindungsaufbau zum Provider übernimmt dann IPFire. Dafür gibt es den Menüpunkt PPP-Einwahl.
Einen solchen Bridge-Modus kennen beispielsweise viele Fritzboxen, jedoch bei Weitem nicht alle DSL-Router. Insbesondere bei “kastrierten” Modellen, wie sie die ISPs gern verschenken, stehen die Chancen schlecht. Ein Ausweg besteht darin, die IPFire-Appliance als Exposed Host im Router einzutragen. Für Fritzboxen (Kabel oder DSL) beschreibt AVM das Vorgehen ausführlich [1]. Steht diese Option ebenfalls nicht zur Verfügung, bleibt noch die Möglichkeit, in ein neues oder gebrauchtes Gerät zu investieren, wie etwa einen Draytek Vigor 130.
Zum Schluss fragt der Assistent noch, ob er einen DHCP-Server einrichten soll, was wir im Beispiel für das grüne Netz bejahen (Abbildung 3).
Sollte es einmal notwendig sein, die soeben konfigurierte Netzzuordnung zu ändern, etwa weil sich an der Netzwerk-Hardware etwas geändert hat, klappt das über das Web-Interface nicht. Dafür müssen Sie den Einrichtungsassistenten erneut ausführen, indem Sie auf der Konsole »setup« aufrufen.
Am Ende der Konfiguration speichert IPFire die Daten, startet einige Dienste und generiert Schlüssel. Anschließend können Sie sich auf der Konsole oder am Web-Interface einloggen. Letzteres erreichen Sie über https://<I>IPFire-IP<I>:444. Dort sticht Ihnen erst einmal der Hinweis Bitte schalten Sie den Fireinfo-Dienst ein. ins Auge. Dieser Dienst sendet anonymisiert einige Systeminformationen an die Entwickler, die diese unter anderem für statistische Zwecke nutzen. Da diese Funktion hilft, IPFire weiter zu verbessern, sollte Sie sie aktivieren.
In unserem Beispiel arbeitet das rote Interface als DHCP-Client. Daher sehen wir in der Zeile INTERNET nicht die öffentliche IP-Adresse, sondern jene, die vom Gateway zugewiesen wurde (Abbildung 4). Haben Sie PPPoE für das rote Interface gewählt, klicken Sie auf INTERNET, um Ihre Provider-Daten einzugeben.
Der Zugriff aus dem grünen Netz aufs Internet funktioniert ohne weitere Konfiguration. Der Zugriff aus dem blauen (Wireless-)Netz ist jedoch standardmäßig per MAC-Filter geblockt. Sie können über Firewall | Zugriff auf blau einzelnen Clients oder auch dem ganzen Subnetz den Zugang gewähren. Die MAC-Adresse ist hier zwar als Pflichtfeld deklariert, bleibt aber dennoch leer.
Als Nächstes aktivieren wir noch einen DHCP-Server für das blaue Netz; für Grün ist das ja bereits erfolgt. Schließlich richten wir einen WLAN-Access-Point ein. Dafür muss über Pakfire das Paket hostapd installiert sein. Unterhalb von IPFire erscheint dann der Link zu den AP-Einstellungen, die das System bereits vollständig mit sinnvollen Werten befüllt, inklusive SSID und Passphrase.
Mobilfunk
Im Folgenden zeigen wir, wie Sie eine Mobilfunkverbindung einrichten. Dazu geben Sie bei der Installation das Modem als rotes Interface an und nutzen als Einwahlmethode Modem. Im Beispiel kommen ein PCIe-LTE-Modul Huawei ME909s-120 v.2 sowie eine SIM-Karte des Providers KPN zum Einsatz. Eine (unvollständige) Liste funktionierender Modems finden Sie im IPFire-Wiki [2].
Die meisten mPCIe- und M.2-Mobilfunkmodule sind, genau wie Mobilfunk-Sticks, via USB mit dem System verbunden. Dafür müssen Sie die Schnittstelle angeben, in unserem Fall »ttyUSB0«. Die Nummer »*99#« ist notwendig, um das Modem im richtigen Modus zu betreiben (Abbildung 5).
Die eigentliche Parametrierung des Modems erfolgt über Attention-Befehle (AT), die über ein serielles Interface zum Modem-Controller gelangen. Im Beispiel heißt der passende AT-Befehl » AT+CGDCONT=1″IP”,”simpoint.M2M”«, wobei Sie »simpoint.M2M« durch den entsprechenden Access Point Name (APN) Ihres Providers ersetzen. Für die Telekom wäre das beispielsweise »internet.t-mobile«.
Das Feld für den ersten AT-Befehl bleibt frei, wenn keine PIN-Eingabe notwendig ist. Sollte das bei Ihnen anders sein, muss an dieser Stelle »AT+CPIN=”PIN“« stehen, wobei PIN für Ihre vierstellige PIN steht. Im unteren Teil des Konfigurationsfensters geben Sie Benutzername und Passwort ein, sofern der Provider solche zur Einwahl verlangt. Bei PAP und CHAP handelt es sich um Handshake-Verfahren für den Verbindungsaufbau.
Nach Abschluss des Basis-Settings lässt sich die Firewall in Betrieb nehmen, oder Sie setzen die Konfiguration fort, indem Sie etwa Filterung oder ein VPN einrichten. In jedem Fall bietet sich an dieser Stelle ein Backup der Grundkonfiguration über System | Datensicherung an.
IPFire und Hardware
Der Hardware-Unterbau für IPFire bedarf einiger Überlegungen. Aus Sicherheitsgründen empfehlen die IPFire-Entwickler, das System als Appliance auf einer eigenen Hardware zu betreiben. Zwar läuft IPFire problemlos auch in VMs – praktisch zum Testen, für den produktiven Betrieb aber riskant: Der VM-Host ist ein zusätzlicher Angriffsvektor. Kompromittiert ihn ein Angreifer, sind die Gast-Betriebssysteme ebenfalls in Gefahr. Aus ähnlichem Grund gibt es auch keinen IPFire-Support für (Docker-)Container, obwohl das Thema als Feature Request in der Community immer wieder aufs Tapet gelangt.
Auch wenn IPFire grundsätzlich auf älterer Hardware läuft, verbietet sich der Einsatz von durch Seitenkanalangriffe verwundbaren Systemen oder solchen, für die keinerlei Bugfixes beziehungsweise Microcode-Updates gegen Spectre, Meltdown & Co. zur Verfügung stehen.
Einen genauen Blick sollten Sie auch auf die Implementierung einer gegebenenfalls vorhanden Fernwartungsfunktion (IPMI) werfen. Benötigen Sie diese nicht unbedingt, deaktivieren Sie sie am besten. Einen dedizierten IPMI-LAN-Port einfach nicht anzuschließen, liegt nahe, führt aber nicht immer zum gewünschten Ergebnis, da die Fernwartungsfunktion gelegentlich über einen anderen LAN-Port als eine Art Fallback-Funktion weiter erreichbar bleibt. Besonders heikel ist das, wenn der Server- oder Mainboard-Hersteller einen Zugang per Dummy-Account vorkonfiguriert.
Benötigen Sie die Fernwartungsfunktion, empfiehlt es sich, dafür ein eigenes Subnetz anzulegen. Des Weiteren ist der meist in der CPU integrierte Zufallszahlengenerator ein Thema. Solche Implementierungen stehen gelegentlich in der Kritik, da es sich um Blackboxes handelt, die manipuliert sein könnten. IPFire setzt die Zufallszahlen letztlich für die Kryptografie ein. Seit Kurzem übernimmt in IPFire eine Software das Auffüllen des Entropiepools, ein eigener Hardware True Random Number Generator (HWTRNG) als Entropiequelle ist also nicht mehr notwendig.
Die minimalen Hardware-Anforderungen für IPFire fallen erfreulich gering aus. Es genügen eine x86-CPU mit 1 GHz Taktrate oder vergleichbare, unterstützte ARM-Hardware, 1 GByte RAM, eine 4-GByte-Harddisk sowie mindestens zwei Netzwerkadapter. Eine gute Nachricht für Freunde des Raspberry Pi: IPFire unterstützt die Modelle 2 und 3 (Abbildung 6) sowie den BananaPi. Davon abgesehen, findet sich in der offiziellen Kompatibilitätsliste jedoch kaum relevante Hardware mit ARM-Unterbau. Weitere Architekturen wie MIPS unterstützt IPFire nicht.
Wie so oft kommt es beim Dimensionieren der Hardware auf die Anwendung an. Eine grobe Richtlinie bietet die Tabelle “IPFire: Hardware-Dimensionierung”. Weil IPFire viele Daten per AES verschlüsselt, profitiert es stark von der Befehlssatzerweiterung AES-NI; sie sollte also an Bord sein, da sie die CPU entlastet.
|
Einsatzzweck |
CPU |
RAM |
SSD |
|---|---|---|---|
|
Firewall für kleine Unternehmen, Mobilfunk-/IoT-Gateway |
ARM, AMD-G-Serie, Intel Celeron, Dual-Core |
4 GByte |
32 GByte |
|
Firewall für mittelgroße Umgebungen, VPN-Gateway |
AMD Ryzen, Intel Core-i, Quad-Core |
8 GByte |
64 GByte |
|
Firewall für große Umgebungen |
AMD Epyc, Intel Xeon, Octa-Core |
16 GByte |
256 GByte |
Die Wahl der Netzwerk-Interfaces richtet sich nach der vorhanden Infrastruktur. Ob 1G, 10G oder mehr, Kupfer oder Glasfaser: Der Hardware-Support für Netzwerkkarten unter IPFire ist prinzipiell sehr gut. Als gute Wahl erweisen sich in der Regel Intel-NICs, für die (abgesehen von den allerneuesten Modellen) Treiber in guter Qualität zur Verfügung stehen. Darüber hinaus bieten sie gute Performance, ohne die CPU zu sehr zu belasten. Vor dem Kauf von WLAN-Controllern sowie Mobilfunkmodulen oder -sticks sollten Sie unbedingt einen Blick in die IPFire- Kompatibilitätsliste werfen [3].
Für das WLAN stellt ein AP oft die bessere Wahl als ein WLAN-Modul oder gar ein WLAN-Stick dar. Die Performance USB-basierter WLAN-Technik hält sich prinzipbedingt in engen Grenzen, und die Positionierung der Antennen beschränkt sich auf den Ort, an dem sich die Appliance befindet.
Ein allgemeiner Tipp: Für eine Firewall-Appliance rät sich zuverlässige, robuste und langlebige Hardware dringend an. Zum einen kommen Ausfälle oft sehr teuer, zum anderen haben Firewalls in der Regel längere Lebenszyklen als Client-Computer oder Mainstream-Server. Fällt die Rack-Klimatisierung aus, kann es darüber hinaus ein großer Vorteil sein, wenn die Firewall noch weiter läuft.
Fazit
Obwohl IPFire das Image anhaftet, für Bastler und Nerds gemacht zu sein, ist es ein ausgereiftes System, das eine ganze Reihe professioneller Anwendungsszenarien abdeckt. Es bietet einen großen Funktionsumfang und viele Konfigurationsmöglichkeiten. Setup und GUI lassen sich einfach handhaben, sofern man zumindest Basiswissen mitbringt. Spezielle Linux-Kenntnisse erfordert das System nicht, sie sind jedoch von Vorteil.
Manche Punkte, wie etwa die Konfiguration von Zugriff auf Blau, setzt die Oberfläche jedoch nicht bis ins Detail intuitiv verständlich um, und so gibt es in den Tiefen der IPFire-Konfiguration durchaus Optionen, die eine Recherche im Forum erforderlich machen. Oft kommt führen aber auch Versuch und Irrtum weiter. Hier kommt eine weitere sehr nützliche Funktion in Spiel: die Möglichkeit, Backups zu erstellen. Hat man sich verkonfiguriert, rollt man die Konfiguration mit wenigen Klicks wieder auf einen funktionierenden Status zurück.
Als Admin fühlt man sich von IPFire nicht gegängelt. Das Web-Interface bietet viele Konfigurationsoptionen. Dazu zählen auch solche, die die Entwickler (meist aus Sicherheitsgründen) nicht empfehlen, für die es aber gelegentlich Bedarf gibt. In diese Kategorie fallen, wie oben beschrieben, einige der Addons. Neben dem Web-Interface steht dem Admin eine uneingeschränkte Konsole zur Verfügung. Grundsätzlich existieren keine künstlichen Limitierungen, auch nicht, was Features betrifft, die es noch gar nicht gibt. In IPFire können Sie grundsätzlich alles nach den eigenen Vorstellungen konfigurieren und ergänzen, je nach Anforderung mit mehr oder weniger Aufwand. Im Bedarfsfall kompilieren Sie IPFire dazu selbst [4].
Die regelmäßigen Updates und die schnelle, transparente Reaktion auf Sicherheitslücken zählen zu den großen Pluspunkten von IPFire. Es gibt eine aktive Community und ein gut gepflegtes Support-Forum, Literatur zu IPFire sucht man jedoch vergeblich.
Im Gegensatz zum quelloffenen IPFire sind viele Firewall-Systeme Closed Source. Inwieweit das in Bezug auf die Sicherheit einen Vor- oder Nachteil darstellt, wird immer wieder diskutiert. Open-Source-Gegner argumentieren gern, dass Angreifer im offengelegten Code eventuelle Sicherheitslücken leicht finden und ausnutzen können. Die Befürworter quelloffener Software verweisen darauf, dass sich dank eben dieser Transparenz erkannte Lücken schnell schließen lassen.
Ein etwas weniger beachteter Aspekt in diesem Zusammenhang betrifft das Problem mit absichtlich eingebauten Schadcodes. So zeigte unter anderem der Skandal um eine Sicherheitslücke eines amerikanischen Netzwerkausrüsters, die auf eine NSA-Backdoor zurückgeht, dass Open Source hier einen grundsätzlichen Vorteil bietet. Solcher Schadcode wäre in offengelegter Software wohl nicht so lange unbemerkt geblieben oder gar nicht erst hineingekommen. Die Haltung der IPFire-Entwickler zu dem Thema ist eindeutig: “IPFire is Open Source software, and it going to be Open Source for forever.”
Ausblick
Apropos forever: Schon seit Jahren geistern Ankündigungen für IPFire 3 durch die Community. Diese neue Major-Version soll einige Altlasten aus dem Weg räumen, nicht zuletzt die Beschränkung auf nur vier separate Netze. An einer IPFire-v3-Appliance werden also zukünftig mehr Kabel Anschluss finden. Allerdings dürfte das dann die farbliche Abgrenzung der Netze erschweren. Für erste Tests steht bereits ein Alpha-Release [5] von IPFire 3 zur Verfügung. (jcb/jlu)
Infos
- IPFire als Exposed Host: https://avm.de/service/fritzbox/fritzbox-7490/wissensdatenbank/publication/show/131_DMZ-in-FRITZ-Box-einrichten/
- Kompatible Mobilfunkmodems: https://wiki.ipfire.org/hardware/networking#3g4g-umtslte-modems
- Hardware-Kompatibilitätsliste: https://wiki.ipfire.org/hardware
- IPFire kompilieren: https://wiki.ipfire.org/devel/ipfire-2-x/build-howto
- Alpha-Release von IPFire 3: https://wiki.ipfire.org/devel/get_image











