OpenVPN ignoriert die Client-Konfiguration

OpenVPN ignoriert die Client-Konfiguration

Ich habe ein Setup, bei dem ich Clients OpenVPN-Zertifikate ausstelle, um ihren Datenverkehr auf bestimmte Websites umzuleiten. Es ist wichtig, die Websites einzuschränken, auf die jeder Client umgeleitet wird.

Jeder Client hat die IPs, die im Server geroutet werden sollen, in client-configs/config-dir/ wie folgt: push route 123.123.123.123 255.255.255.255.

Clients erhalten eine OVPN-Datei mit ihren Schlüsseln und Konfigurationen, die sie auf ihren Terminals einrichten können. Das Problem besteht darin, dass ein Client möglicherweise seine OVPN-Datei bearbeitet und mehr Datenverkehr über das VPN leitet, obwohl die neuen Routen nicht in den Konfigurationen auf der Serverseite enthalten sind. Dadurch könnten sie auf Websites zugreifen, auf die sie keinen Zugriff haben sollten.

Gibt es eine Lösung, um dieses Verhalten einzuschränken, oder vielleicht ein anderes Tool, das ich verwenden könnte?

Anmerkungen:

  • An den OpenVPN-Server ist nur eine öffentliche IP angeschlossen und er leitet den Datenverkehr weiter.
  • Das Sperren von Berechtigungen ist keine Option, da es sich um ein BYOD-Szenario handelt.
  • Auch ausgehende Firewall-Beschränkungen auf dem OpenVPN-Server sind keine Option, da jeder Client an einen anderen IP-Satz weitergeleitet wird.

Antwort1

Sie haben Recht. Ein Client kann seine lokale OVPN-Datei bearbeiten und sie anweisen, gepushte Routen zu ignorieren, und sie dann so konfigurieren, dass der gesamte Datenverkehr an das Gateway weitergeleitet wird. Ich musste dies selbst ein paar Mal zum Testen tun. OpenVPN bietet keine Möglichkeit, dies einzuschränken.

Sie haben 2 Möglichkeiten:

  1. Sperren Sie die Berechtigungen der OVPN-Datei des Clients, sodass dieser sie nicht bearbeiten kann.
  2. Implementieren Sie eine oder mehrere Firewall-Regeln auf dem OpenVPN-Server, die ausgehenden Datenverkehr mit Ausnahme bestimmter Subnetze verhindern.

Wenn Sie in einer Unternehmensumgebung arbeiten, verfügen Sie wahrscheinlich bereits über Mechanismen zur Steuerung der Berechtigungen auf den Computern der Benutzer. Die erste Option könnte ziemlich einfach sein.

Wenn Sie keine Kontrolle über die Berechtigungen der Benutzer für die Datei haben, ist die Firewall-Regel die beste Lösung. Sie mussten bereits Regeln für die Weiterleitung und Maskierung einrichten (Beispiel:https://askubuntu.com/a/578550/283173). Sie können zusätzliche iptables-Regeln einfügen, um nur Ihre spezifischen Subnetze zuzulassen.

Aktualisieren:Basierend auf Ihren überarbeiteten Notizen ist es noch klarer, dass Ihre einzige Option eine Firewall auf der Serverseite ist. Sie müssen sich Ihre ausgehenden Filter wirklich gut überlegen. Wahrscheinlich müssen Sie letztendlich Ihr eigenes Programm erstellen, das auf intelligente Weise Firewall-Regeln erstellt. Wenn Sie wissen, dass jeder Client an bestimmte IPs weitergeleitet wird, können Sie dynamisch Routen in der Firewall öffnen, wenn der Client eine Verbindung herstellt. Sie können sich in das System von OpenVPN einklinken, wenn Clients eine Verbindung herstellen, indem Sie die learn-addressDirektive in der Serverkonfiguration verwenden, um Details zur Client-Verbindung an Ihr benutzerdefiniertes Programm zu senden.

verwandte Informationen