Tags: Firewall, VPN, Open Source
Auf Basis von OPNsense und OpenVPN können Unternehmen eine Firewall mit integriertem VPN-Server einrichten. Das Setup ist relativ einfach und nach der Bereitstellung der Zertifikate erfolgt die Konfiguration des VPN-Servers über eine Web-GUI. Über Firewall-Regeln legt man dann fest, auf welche Ressourcen externe Clients zugreifen dürfen.
Geeignet ist die Kombination der beiden Open-Source-Tools für Unternehmen aller Größen. Die Umgebung ist schnell eingerichtet, verursacht keine Lizenzkosten und bietet zahlreiche Funktionen, um einen VPN-Server sicher und performant zu betreiben.
OPNsense als Firewall einrichten
Damit OPNsense als Basis für einen OpenVPN-Server zum Einsatz kommen kann, muss zunächst die Firewall installiert und eingerichtet werden (siehe dazu: Open-Source-Firewall OPNsense installieren und konfigurieren).
Ist OPNsense bereits im Einsatz, dann kann man den OpenVPN-Server jederzeit hinzufügen, ohne den Betrieb der Firewall zu stören. Weitere Dienste, die sich auf der Plattform betreiben lassen, sind unter anderem eine Zertifizierungsstelle, DNS oder DHCP.
OpenVPN-Server konfigurieren
Sobald OPNsense ein Server-Zertifikat erhalten hat, kann man unter VPN => OpenVPN => Server über das Pluszeichen oben rechts einen OpenVPN-Server erstellen. Hier gibt man eine Beschreibung des Servers ein und wählt Remotezugriff (SSL/TLS+Benutzerauthentifizierung) aus. Bei Backend Authentifizierung entscheidet man sich für Lokale Datenbank.
Bei Protokoll nehmen wir UDP und bei Schnittstelle ist jene zum Internet gemeint, also WAN. Zur Sicherheit sollte bei Lokaler Port aber nicht der Standard-Port von OpenVPN zum Einsatz kommen, sondern ein beliebig anderer, zum Beispiel 37300.
Unter Kryptografische Einstellungen wählt man bei Serverzertifikate das erstellte Zertifikat für OPNsense aus. Als Verschlüsselungsalgorithmus verwenden wir AES-256-CBC und bei Authentifizierungs-Digestalgorithmus nehmen wir die Option "SHA512".
Im Feld IPv4-Tunnelnetz legt man den IP-Bereich fest, den die Clients erhalten, wenn sie sich erfolgreich am VPN-Server authentifiziert haben. Hier bietet sich zum Beispiel "172.16.0.0/24" an.
Unter Lokales IPv4-Netzwerk definiert man hingegen, zu welchem internen IP-Netzwerk die Clients Zugriff erhalten sollen. Das ist in unserem Beispiel "10.0.0.0/16". Es ist auch möglich, mehrere Subnetze zu definieren und durch Komma getrennt in der Liste aufzunehmen. Subnetze, die nicht in dieser Liste stehen, sind durch verbundene OpenVPN-Clients nicht erreichbar.
Die weiteren Einstellungen kann man auf den Vorgabewerten belassen. Nach dem Speichern der Konfiguration steht der Server zur Verfügung.
Firewall-Regeln überprüfen
Damit sich Clients aus dem Internet mit dem OpenVPN-Server verbinden und mit dem internen Netzwerk kommunizieren können, muss man Firewall-Regeln definieren. Zuständig dafür ist der Abschnitt Firewall => Regeln => OpenVPN.
Hier benötigen wir Regeln, die den Datenverkehr zwischen dem OpenVPN-Netzwerk (172.16.0.0/24) und dem lokalen Netzwerk (10.0.0.0/16) in beide Richtungen steuern. Wer es sich einfach machen will, lässt den Datenverkehr generell zu, besser ist es aber, genaue Zugriffe festzulegen.
Firewall-Regeln für VPN-Clients
Parallel dazu definiert man noch Regeln für die Zugriffe aus dem Internet auf die WAN-Schnittstelle zur Authentifizierung am VPN-Server. Sie sollten die verwendeten Ports direkt auf das Ziel Diese Firewall weiterleiten und dazu den UDP-Port verwenden, der oben konfiguriert wurde.
Dadurch kommen alle Zugriffe direkt auf der Firewall heraus und werden entsprechend gefiltert oder zum VPN-Server weitergeleitet, der sich ja ebenfalls auf der Firewall befindet.
Darüber hinaus benötigt man eine Regel, die bestimmt, dass die Firewall über den definierten Port mit externen Clients kommunizieren darf, um eine Kommunikation mit dem VPN-Server zu ermöglichen.
Bei Bedarf kann man unter Firewall => Einstellungen => Zeitpläne einen Zeitplan definieren und diesen in die Regel einbinden. Außerhalb des erlaubten Zeitraums blockiert die Firewall den Zugriff, da die Zulassungsregel nicht aktiv ist.
Client-Export durchführen
Auf der Web-Oberfläche von OPNsense lassen sich bei System => Zugang => Benutzer interne Benutzerkonten anlegen und im unteren Bereich auch gleich die passenden Zertifikate bei Benutzerzertifikate über die interne Zertifizierungsstelle erstellen.
Danach exportiert man unter VPN => OpenVPN => Clientexport das Zertifikat für jeden der angelegten Benutzer in eine OVPN-Datei. Diese muss der User nur in seinem OpenVPN-Client öffnen, um sich mit der Firewall zu verbinden. Die Authentifizierung erfolgt auf Basis des exportierten Zertifikats und der Benutzeranmeldung.
Sollte der Zugriff nicht funktionieren, kann es hilfreich sein, unter Firewall => Protokolldateien => Liveansicht zu prüfen, ob die Firewall unter Umständen bestimmte Zugriffe blockiert, die der Client benötigt.
Zusammenfassung
Die OPNsense-Firewall bildet im Zusammenspiel mit OpenVPN eine kostengünstige Plattform, um externe Clients sicher an das Unternehmen anzubinden. Ein typisches Anwendungsszenario ist die Bereitstellung eines VPN für User im Home-Office.
Die Einrichtung einer solchen Umgebung ist relativ unkompliziert und sollte sich von einem erfahrenen Admin schnell umsetzen lassen. Über ein flexibles Regelwerk kann man zudem die Zugriffe zielgenau steuern und bei Bedarf außerhalb der Arbeitszeiten komplett unterbinden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Joos ist Consultant für mittlere und große Unternehmen im Bereich Security, Active Directory, Cloud und KI.
Er hat über 100 Fachbücher zu IT-Themen für verschiedene Verlage geschrieben und veröffentlicht regelmäßig bei verschiedenen Portalen und Zeitschriften wie IT-Administrator, Computerwoche, Heise und vielen weiteren.
Darüber hinaus ist er als Trainer für LinkedIn Learning tätig.
Verwandte Beiträge
- Let's Encrypt oder selbstsignierte Zertifikate für OPNSense verwenden
- VPN-Server mit SoftEther unter Windows einrichten und Clients verbinden
- Open-Source-Firewall OPNsense installieren und konfigurieren
- IT-Sicherheit: Kostenloses Tool von Palo Alto integriert Datenquellen
- Stormshield mit VPN-Paket für sensible Netze
Weitere Links