Einleitung
Diese Dokumentation beschreibt die Einrichtung einer neuen OpenVPN-Schnittstelle in einer SX-GATE UTM-Firewall. OpenVPN bietet eine sichere und flexible Möglichkeit, Remote-Zugriffe auf ein Netzwerk zu realisieren. Damit die Einrichtung reibungslos funktioniert, müssen vorab bestimmte Voraussetzungen erfüllt sein und verschiedene Konfigurationsentscheidungen getroffen werden.
Bevor die OpenVPN-Schnittstelle erstellt wird, sind die folgenden Punkte zu berücksichtigen:
- Vorhandene OpenVPN-Server-Schnittstelle: Eine OpenVPN-Server-Schnittstelle muss innerhalb der Schnittstellenkonfiguration eingerichtet werden.
- Port- und Protokoll-Auswahl: Es müssen ein Port und ein Protokoll für die OpenVPN-Verbindung definiert werden, über die die Schnittstelle erreichbar ist.
- X.509-Zertifikat: Der OpenVPN-Server benötigt ein gültiges X.509-Zertifikat für eine sichere Authentifizierung und Verschlüsselung.
- Firewall-Zone/Klassifizierung: Für die OpenVPN-Schnittstelle selbst müssen entsprechende Firewall-Regeln konfiguriert werden, um den Datenverkehr sicher zu steuern.
- Firewall-Konfiguration: Für die Zuführung der eingehenden Verbindungen zur OpenVPN-Server-Schnittstelle muss eine entsprechende Firewall-Regel konfiguriert werden, da diese sonst durch die umgebende Firewall abgewiesen werden.
Optional:
- dedizierte Zertifikatszuweisung zu einer OpenVPN-Server-Schnittstelle: Es kann konfiguriert werden, dass nur bestimmte Clients mit definierten Zertifikaten eine Verbindung zum OpenVPN-Server herstellen dürfen.
- Multi-Faktor-Authentifizierung (MFA): Optional kann eine zusätzliche Sicherheitsmaßnahme in Form von MFA integriert werden.
Einrichten der OpenVPN-Schnittstelle
Püfen Sie im Menü "Module > Netzwerk > Schnittstellen", ob es bereits eine OpenVPN-Server Schnittstelle gibt. Falls ja, so können Sie evtl. die bestehende Schnittstelle nutzen. Anderenfalls legen Sie eine neue OpenVPN-Schnittstelle an.
Wählen Sie dazu unterhalb der Schnittstellentabelle "Neuer Eintrag" aus. In den folgenden Feldern wählen Sie den Schnittstellentyp, die Schnittstellennummer und die Firewall-Vertrauensstufe aus.
-
Schnittstellentyp: Wählen Sie hier "OpenVPN Server (ovpns)" aus.
-
Schnittstellennummer: Geben Sie eine Schnittstellennummer ein. Die Nummerierung ist fortlaufend und beginnt mit "0" (Null). Falls bereits eine OpenVPN-Schnittstelle eingerichtet wurde, wählen Sie die darauf folgende Schnittstellennummer aus.
Beispiel:
Besteht bereits seine OpenVPN-Server-Schnittstelle (ovpns) mit der Nummer "0" (Null), so wählen Sie für die nächste anzulegende Schnittstelle die Schnittstellennummer "1" aus. Verwenden Sie einstellige Ziffern wie z.B. "0", "1", "2" etc. und vermeiden Sie Schreibweisen wie z.B. "01" usw..
- Firewall-Vertrauensstufe: Wählen Sie eine der vier vorhandenen Firewall-Vertrauensstufen aus. Damit regeln Sie den Zugang zu Ihrem Netzwerk hinter dem SX-GATE. Wenn Sie eine granulare Rechtezuweisung benötigen, so wählen Sie hier "gering (Demilitarisierte Zone)". Dabei kann eine OpenVPN-Verbindung zum SX-GATE in jedem Fall aufgebaut werden, innerhalb dieser Verbindung werden aber keine Datenpakete weitergeleitet. Dazu sind zusätzliche Firewallregeln auf dem Zielschnittstellen erforderlich. Die Zielschnittstelle ist diejenige Schnittstelle über die die Datenpakete an das Ziel-Netzwerksegment ausgegeben werden. Diese Einstellung kann aber auch nachträglich verändert werden.
Wählen Sie "Weiter", zum Anlegen der neuen OpenVPN-Schnittstelle. Sie befinden sich jetzt innerhalb der OpenVPN-Schnittstelle und können mit der erforderlichen Detailkonfiguration fortfahren.
Bei der weiteren Einrichtung sind die folgenden Parameter wichtig:
Beschreibung: Wählen Sie hier eine Beschreibung der Schnittstelle die sich an der Verwendung orientiert. Dieses Beschreibung wird ebenfalls in der Schnittstellentabelle im Menü "Module > Netzwerk > Schnittstellen" in der Spalte "Beschreibung" angezeigt.
OpenVPN-Protokoll: Wählen Sie hier ais zwischen "TCP" und "UDP" als Datenübertragungsprotokoll. Empfehlung: "TCP".
Hinweis zum OpenVPN-Protokoll:
OpenVPN kann zur Übertragung der Nutzdaten entweder das UDP- oder das TCP-Transportprotokoll verwenden. UDP gilt zwar als das performantere Protokoll, bei Verwendung von TCP gibt es jedoch seltener Probleme, z.B. mit Firewalls oder Fragmentierung.
Port: Wählen Sie hier einen Port aus unter dem der OpenVPN-Server erreichbar ist. Der Standardport ist Port udp/1194. Sollte dieser bereits durch eine andere OpenVPN-Server-Schnittstelle belegt sein, so verwenden Sie den nächsten freien Port. Grundsätzlich können Sie den Port frei auswählen. Verwenden Sie keinen bereits im System belegten Port, da es sonst zu Problemen kommen kann.
Hinweis zum Port:
Sollten Sie sich gegen den Standard-Port "udp/1194" entscheiden, müssen Sie in der Firewall-Konfiguration eine entsprechende Protokoll-Defininion anlegen.
Achtung:
Falls Sie mehrere OpenVPN-Server-Schnittstellen anlegen, müssen sich diese entweder im Protokoll oder im Port unterscheiden.
IPv4 Transfernetz: Das Transfernetz bestimmt, aus welchem IP-Bereich die zukünftigen externen Clients eine IP-Adresse erhalten. Wählen Sie hier ein IP-Netz aus, welches Sie noch nicht in Ihrem Netzwerk verwenden.
Netzmaske: Wählen Sie hier die Netzwerkmaske passend zum Transfernetzwerk aus. Die Netzwerkmaske beschränkt auch die max. Menge aus verfügbaren IP-Adressen des Transfernetzes. Die Art der Berechnung finden Sie in der kontextabhängigen SX-GATE Online-Hilfe direkt im Produkt.
Hinweis zu "IPv4 Transfernetz" / "Netzmaske":
Über diese Parameter legen Sie den IP-Adressen-Bereich fest, aus dem den Clients IPv4-Adressen zugewiesen werden. Das konfigurierte Netzwerk darf noch nicht anderweitig in Gebrauch sein. Wir empfehlen die Verwendung eines Teilnetzes aus den gemäß RFC-1918 für privaten Gebrauch reservierten Netzen (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
Veröffentlichte lokale Netzwerke: Erfassen Sie hier die internen Netzwerkadressen, zu denen sich der OpenVPN-Client verbinden soll. Diese Netze sind Vorschlagswerte die der OpenVPN-Client übersteuern kann. Aus diesem Grund ist die Firewall-Vertrauensstufe wichtig, damit kein externer Benutzer die Ausweitung seines Zugangs zum Firmennetzwerk selbst vornehmen kann.
Optional:
-
Reiter "VPN-Tunnel"
Zugriff nur für freigegebene Zertifikate: Mit dieser Option kann die Nutzung der OpenVPN-Server-Schnittstelle auf zugewiesene Zertifikate beschränkt werden. Benutzer mit nicht namentlich zugewiesenen Zertifikaten können sich nicht zu dieser OpenVPN-Schnittstelle verbinden. Menü: "Module > Netzwerk > Einstellungen > Reiter [Vertrauenswürdige VPN CA]".
-
Reiter "Authentifizierung"
Benutzeranmeldung: Wählen Sie hier die Art der Benutzeranmeldung aus. Erzeugen Sie erst danach die Konfigurationsprofile/Konfigurationspakete für die Benutzer.
Wichtiger Hinweis: Beim nachträglichen Aktivieren dieser Option müssen Sie bereits bestehende und ausgerollte Verbindungskonfigurationen nachträglich anpassen. Aus diesem Grund sollten Überlegungen dazu vor dem Erzeugen und Ausrollen der Konfigurationsprofile an die Benutzer erfolgen. Weitere Informationen dazu finden Sie in der kontextabhängigen SX-GATE Online-Hilfe direkt im Produkt.
-
Reiter "Verschlüsselung"Verschlüsselungsverfahren: Wählen Sie hier das Verschlüsselungsverfahren aus, mit dem die zu übertragenden Daten geschützt werden sollen.
Zusätzlich akzeptiertes, altes Verschlüsselungsverfahren: Wählen Sie hier das Verschlüsselungsverfahren aus, das von OpenVPN-Clients mit Version 2.3 oder älter bzw. von OpenVPN-Clients mit alter Konfiguration genutzt wird. Zum Zeitpunkt dieser Dokumentation ist die OpenVPN-Community-Client-Version 2.6.x aktuell.
-
Reiter "DHCP-Optionen"
Als DNS-Server zuweisen: Tragen Sie hier einen abweichenden internen DNS-Server ein der für die Namensauflösung verwendet wird. In der Standardeinstellung wird das SX-GATE als DNS-Server verwendet.
Client-spezifische Parameter und zugeordnete Zertifikate
Um Benutzer an eine bestimmte OpenVPN-Server-Schnittstelle zu binden können die Benutzerzertifikate dediziert an eine vorhandene OpenVPN-Schnittstelle gebunden werden. Verbindungen zu diesem OpenVPN-Server-Port können dann ausschließlich Benutzer mit den hier hinzugefügten Zertifikaten herstellen. Wenn Sie diese Option verwenden, dann sollten Sie diese Art der Konfiguration auch auf allen anderen OpenVPN-Schnittstellen umsetzen.
Mit dieser Option ist es ebenfalls möglich, dem Benutzer eine dedizierte IP-Adresse für seine Verbindung zuzuweisen. Dadurch sind granulare Zugriffsrechte möglich die zusätzlich über den Paketfilter eingerichtet werden können.
- Gehen Sie dazu in das Menü "Module > Netzwerk > Schnittstellen". In der Tabelle "Schnittstellen" wählen Sie die entsprechende OpenVPN-Schnittstelle aus.
- Aktivieren Sie die Option "Zugriff nur für freigegebene Zertifikate".
Hinweis zu Zugriff nur für freigegebene Zertifikate:
Sobald diese Option aktiviert ist, dürfen sich nur noch Clients verbinden, deren Zertifikat unter dem Reiter "Client-spezifische Parameter" im Menü
"Module > Netzwerk > Schnittstellen", in der Tabelle "Schnittstellen" (wählen Sie die entsprechende OpenVPN-Schnittstelle aus) mit der Zeile mit der benötigten OpenVPN-Schnittstelle, freigegeben sind.
Falls Sie noch keine SX-GATE-Root-CA und kein SX-GATE VPN-Server-Zertifikat erzeugt haben, dann führen Sie die Konfigurationsschritte aus dem folgenden Link aus.
Starten des OpenVPN-Server-Dienst
Nach Abschluss der Konfiguration der SX-GATE-Root-CA, des VPN-Server-Zertifikats und der OpenVPN-Server-Schnittstelle können wir den zugehörigen Dienst starten. Besonders bei einer Ersteinrichtung dürfen Sie nicht vergessen den OpenVPN-Dienst im Menü "System > Dienste > Option: OpenVPN" zu starten!
- Gehen Sie dazu in das Menü "System > Dienste > Reiter [Netzwerk-Dienste]".
- Wählen Sie beim Dienst "OpenVPN" die Aktion "starten". Falls der Dienst bereits gestartet ist wählen Sie die Aktion "neu starten" und dann die Schaltfläche "Übernehmen".
- Die Statusanzeige des Dienst wird in "grün" angezeigt, wenn sich der Dienst einwandfrei starten lässt.
- Troubleshooting: In Log "sonstige Meldungen" erhalten Sie weitere Informationen zum Startverhalten.
Firewall
Firewall-Vertrauensstellung der OpenVPN-Server-Schnittstelle
- Gehen Sie dazu in das Menü "Module > Firewall > Regeln" und danach in der Tabelle "Regeln" auf den Eintrag "ovpns0".
- Sie können über die unterschiedlichen Reiter Berechtigungen über den Paketfilter einrichten. In der Schnittstelle "ovpns0" richten wir Regeln ein, durch die in Richtung des externen Clients ein Zugriff erfolgen soll.
- Ebenfalls können hier Regeln hinzugefügt werden, durch die das SX-GATE selbst mit seinen eigenen Diensten angesprochen werden soll. Das können z.B. der DNS- oder der Zeitserver-Dienst sein. Für Tests kann auch ein "PING" auf das SX-GATE selbst freigegeben werden.
- Für weitere Informationen zum Einrichten von Firewallregeln verwenden Sie die SX-GATE Online-Hilfe, das SX-GATE Handbuch oder diese Knowledgebase mit den Artikeln zum Paketfilter/Firewall.
Firewall-Konfiguration der Ziel-Netzwerk-Schnittstellen
Damit sind die SX-GATE-Schnittstellen mit den IP-Netzwerken gemeint, in die der Zugriff aus dem OpenVPN-Tunnel erfolgen soll. Diese IP-Netze sind in der Konfiguration der OpenVPN-Server-Schnittstelle unter "Veröffentliche lokale Netzwerke" angegeben.
Beispiel:
Zugriff auf einen Server im LAN-Segment, welches sich an der SX-GATE-Schnittstelle "eth0" befindet.
-
Gehen Sie dazu in das Menü "Module > Firewall > Regeln" und danach in der Tabelle "Regeln" auf den Eintrag "eth0".
- Wählen Sie den Reiter "* > SX-GATE > eth0" aus. Innerhalb dieses Reiters werden die Weiterleitungsregeln der Firewall konfiguriert.
- Wählen Sie "Neuer Eintrag", um eine Weiterleitungsregel hinzuzufügen. Diese Regeln wird analog zu einer normalen Firewallregel erzeugt.
- Fügen Sie ein "Protokoll", ein "Quell-IP-Netzwerk" und ein "Ziel in eth0" hinzu. Mit "Quell-IP-Netzwerk" ist hier der IP-Bereich oder die eindeutige OpenVPN-Client-IP-Adresse des externen OpenVPN-Clients gemeint der eine Ressource in "eth0" erreichen möchte.
- Nach dem Speichern der Firewallregel sollte der Zugang zur internen Ressource möglich sein. Beachten Sie in diesem Fall, dass es immer ein Zusammenspiel zwischen den Freigeben in einer Firewallregel und den "Veröffentlichen lokalen Netzwerken" geben muss. Beide Inhalte müssen zusammen passen.
Multi-Faktor-Authentifizierung - Vorteile von MFA bei OpenVPN
Die Integration von MFA in OpenVPN bietet zahlreiche Sicherheitsvorteile:
- Erhöhte Sicherheit: Selbst wenn ein Angreifer das Passwort eines Benutzers kennt, benötigt er zusätzlich einen weiteren Authentifizierungsfaktor, um Zugang zu erhalten.
- Schutz vor Phishing und Credential Stuffing: Angreifer, die Anmeldeinformationen durch Phishing oder durch Datenlecks erlangen, können sich ohne den zweiten Faktor nicht anmelden.
- Erfüllung von Compliance-Anforderungen: Viele Sicherheitsstandards und Vorschriften (z. B. GDPR, NIS2, ISO 27001) fordern den Einsatz von MFA für den Zugang zu sensiblen Systemen.
- Zugriffskontrolle für unterschiedliche Benutzergruppen: MFA ermöglicht eine differenzierte Zugriffskontrolle für interne und externe Benutzer.
- Flexibilität in der Umsetzung: OpenVPN erlaubt es, MFA sehr einfach und komfortabel einzusetzen.
MFA wird innerhalb der OpenVPN-Server-Schnittstelle aktiviert.
- Gehen Sie dazu in das Menü "Module > Netzwerk > Schnittstellen". In der Tabelle "Schnittstellen" wählen Sie die entsprechende OpenVPN-Schnittstelle aus.
- Wählen Sie den Reiter "Authentifizierung" und dort die Option "Benutzeranmeldung" aus.
Es stehen die folgenden Optionen zur Verfügung:
- Benutzerpasswort - hierbei wird nur das Benutzerpasswort abgefragt
- Einmal-Passwort - hierbei wird nur das Einmal-Passwort abgefragt
- Benutzerpasswort + Einmal-Passwort - hierbei werden Benutzerpasswort und Einmal-Passwort abgefragt.