Freie Firewall OPNSense administrieren

Stein um Stein

Neben einem leistungsfähigen Stateful-Paketfilter mit Intrusion Detection und Prevention bietet die freie Firewall OPNSense auch Hochverfügbarkeit, ein integriertes VPN-Gateway und einen wirkungsvollen Webproxy. Der eigentliche Clou jedoch ist die Erweiterbarkeit der Plattform durch Plug-ins. Wir geben einen Funktionsüberblick zur aktuellen Version und erklären, wie Sie mit Hilfe der Erweiterungen OPNSense um Funktionen wie ein E-Mail-Gateway mit Spam- und Virenfilter ausbauen.
Wir starten das neue Jahr mit dem Schwerpunkt 'Netzwerke sicher betreiben'. Während die Netzwerkgrenzen zusehends verschwimmen, gehen Angreifer immer gezielter ... (mehr)

Das Akronym OPNSense [1] steht für "Open (source) makes sense" und soll die Vorteile einer offenen Plattform betonen. Das aktuelle Release 18.7.6 vom Oktober 2018 basiert auf FreeBSD stable/11 und bietet damit Langzeitsupport für das Betriebssystem bis September 2021. Entstanden ist OPNSense 2014 als Fork von pfSense, das seinerzeit wiederum die Nachfolge der populären M0n0­wall antrat. Der OPNSense-Code wird von Deciso, einem Netzwerkausrüster aus den Niederlanden, gepflegt. Das Unternehmen bietet auch kommerziellen Support an und sorgt so für die finanzielle Unterstützung des Projekts.

Die Erweiterungsmodule werden "von der Community für die Community" erstellt, daher ist jeglicher Code auch auf GitHub frei verfügbar [2]. Das Plug-in-System von OPNSense basiert auf dem Model-View-Controller-Konzept, das Änderungen an den Modulen erleichtert und die Wiederverwendbarkeit einzelner Komponenten sicherstellt. Die Programmierschnittstelle für die Kommunikation mit dem Plug-in-System ist in OPNSense bereits enthalten, um die sichere Ausführung der Plug-ins kümmert sich der Service Wrapper "configd", der übrigens auch unter der Haube von macOS werkelt.

Firewall und Einbruchserkennung

Bevor wir uns später intensiver mit der Erweiterung von OPNSense mit Hilfe von Plug-ins beschäftigen, werfen wir zunächst einen Blick auf die Basis-Features des Systems. Herzstück von OPNSense ist die Paketfilter-Firewall pf, die sich auf BSD-basierenden Systemen um Firewallregeln, NAT, Quality of Service und Traffic Shaping kümmert. Der Admin muss sich jedoch nicht mit dem komplexen Aufbau der pf-Regeln herumschlagen, sondern konfiguriert seine Firewall-Regeln stattdessen komfortabel über das Webinterface von OPNSense.

Während der Installation legt OPNSense per Default eine "IPv4/IPv6 LAN to Any"-Regel an, sodass zunächst alle Verbindungen in Richtung Internet zulässig sind. Damit sich der Admin nicht versehentlich aussperrt, ist darüber hinaus eine Regel aktiv, die den Zugriff aus allen Netzen auf die Ports 443 und 80 der LAN-Schnittstelle gestattet. Als Intrusion-Detection- beziehungsweise Intrusion-Prevention-System hat OPNSense Suricata an Bord. Suricata lässt sich mit eigenen oder vordefinierten Regelsätzen bestücken. Verschiedene Rulesets, zum Beispiel von ET Open und Abuse.ch, sind in OPNSense bereits vordefiniert enthalten und lassen sich per Mausklick herunterladen und aktivieren.

Hochverfügbarkeit, VPN und Web Proxy

OPNSense unterstützt den Aufbau eines Hochverfügbarkeits-Clusters mit dem Common Address Redundancy Protocol (CARP). Nach dem Master-Slave-Prinzip werden dabei die Zustands- und Konfigurationsinformationen der aktiven Firewall auf einen zweiten Node – den Slave – übertragen. Dieser übernimmt bei Ausfall des Masters automatisch dessen Rolle und Verbindungen.

Standardmäßig unterstützt OPNSense die VPN-Protokolle IPSec und OpenVPN. Diese lassen sich jeweils für Site-to-Site-Verbindungen oder für die Anbindung mobiler Benutzer konfigurieren. Wem das nicht reicht, der kann über Plug-ins weitere VPN-Protokolle wie L2TP, PPtP, Tinc oder Zerotier nachrüsten. Der integrierte Squid arbeitet als FTP-, HTTP/ HTTPS- Filtering- und Caching-Proxy und lässt sich auch im Transparentmodus betreiben. Im Transparentmodus sind keine Änderungen an der Clientkonfiguration erforderlich, alternativ unterstützt der Proxy aber die Autokonfiguration über WPAD- beziehungsweise Proxy-PAD-Dateien, um die Clients im Netzwerk an den Proxy anzubinden.

Mit Hilfe des ICAP-Protokolls (Internet Content Adaptation Protocol) kann der Proxy Webinhalte vor der Auslieferung an den Benutzer zur Malwareprüfung auch an einen Virenscanner auf einem externen Server übergeben. Sofern eine Authentifizierung der Benutzer erwünscht ist, erfolgt diese gegen eine lokale Benutzerdatenbank, einen Radius-Server oder gegen einen LDAP-Server beziehungsweise das Active Directory. Über ACLs kann der Admin beispielsweise bestimmte MIME Types vom Download ausschließen sowie Ports und Netze/Subnetze blocken.

Weiterhin verfügt der Proxy über einen integrierten Webfilter-Support und bindet damit problemlos Blacklisten von externen Quellen in das Regelwerk ein. Zu den unterstützten kostenfreien Blacklist-Anbietern gehören etwa die UT1-Webkategorienliste der Unversität von Toulouse [3] und Shalla's Blacklists [4]. Je nach Präferenz lassen sich alternativ natürlich auch die Filterlisten der kommerziellen Hersteller URLBlacklist.com und Squidblacklist.org andocken.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
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

Google+

Ausgabe /2019