OPENVPN: Kann ich auf der Serverseite dem verbundenen Client sagen dass der Client seine Verbindung beenden soll?
Hallo an Alle
Wir benutzen für Servicezwecke OpenVPN damit unsere Kunden in Absprache mit unseren Serviceleuten eine Verbindung aufbauen können über die wir die Fernwartung durchführen. Der Client ist dabei beim Kunden platziert, der Server wird bei uns interaktiv gestartet. Dies gibt dem Kunden die Sicherheit dass sich niemand ohne sein Wissen zu ihm verbindet, auch der Weg durch Router und/oder Firewall ist einfacher.
Nun haben wir immer mal wieder den Fall, dass ein - vermutlich - gelangweiter Maschinenbediener mit dem System spielt und einen Verbindungsaufbau initiert. Es passiert erstmal nichts, er vergisst es und der OpenVPN Client ist aktiv und versucht permanent eine Verbindung zum konfigurierten OpenVPN Server aufzubauen. Damit ist dieser Server blockiert, ein anderer Kunde kann diese Verbindung nicht mehr verwenden da sich die beiden gegenseitig raus werfen. Alle Kundensysteme sind mit einer Handvoll verschiedener Konfigurationen für verschiedene Service-Rechner versehen, aber auf allen die gleichen. Wir können also auf der Serverseite erstmal nicht ohne weiteres feststellen wer der Störenfried ist.
Gibt es eine Möglichkeit auf der Serverseite dem Client zu sagen dass er sich beenden bzw. seine Verbindungsversuche einstellen soll?
Vielen Dank!
Armin
Wir benutzen für Servicezwecke OpenVPN damit unsere Kunden in Absprache mit unseren Serviceleuten eine Verbindung aufbauen können über die wir die Fernwartung durchführen. Der Client ist dabei beim Kunden platziert, der Server wird bei uns interaktiv gestartet. Dies gibt dem Kunden die Sicherheit dass sich niemand ohne sein Wissen zu ihm verbindet, auch der Weg durch Router und/oder Firewall ist einfacher.
Nun haben wir immer mal wieder den Fall, dass ein - vermutlich - gelangweiter Maschinenbediener mit dem System spielt und einen Verbindungsaufbau initiert. Es passiert erstmal nichts, er vergisst es und der OpenVPN Client ist aktiv und versucht permanent eine Verbindung zum konfigurierten OpenVPN Server aufzubauen. Damit ist dieser Server blockiert, ein anderer Kunde kann diese Verbindung nicht mehr verwenden da sich die beiden gegenseitig raus werfen. Alle Kundensysteme sind mit einer Handvoll verschiedener Konfigurationen für verschiedene Service-Rechner versehen, aber auf allen die gleichen. Wir können also auf der Serverseite erstmal nicht ohne weiteres feststellen wer der Störenfried ist.
Gibt es eine Möglichkeit auf der Serverseite dem Client zu sagen dass er sich beenden bzw. seine Verbindungsversuche einstellen soll?
Vielen Dank!
Armin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 419308
Url: https://administrator.de/contentid/419308
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
15 Kommentare
Neuester Kommentar
aber auf allen die gleichen
Das ist dämlich umgesetzt.Separate Accounts/Zertifikate für jeden einsetzen, dann Account blocken bzw. zusätzlich Fail2ban
das ist nicht interaktiv - das ist nicht zu Ende gebaut...
Damit ist dieser Server blockiert, ein anderer Kunde kann diese Verbindung nicht mehr verwenden da sich die beiden gegenseitig raus werfen
Man kann Credentials auch für Mehrfachverbindungen zulassen dann wird niemand rausgeworfen.Sorry aber da hat einer nix zu Ende gedacht .
der bereits installierten Basis geht das nicht mehr so einfach
Hätte man mal vorher drüber nachdenken sollen. Jetzt fällt das Kartenhaus halt zwangsweise zusammen.
Wenn dann schaltet man solche EinwahlAccounts explizit für eine Session frei und lässt die nicht einfach so aktiv, das ist Bullshit sorry.
Hallo,
wie schon bereits geschrieben wurde, ist das bisher sehr unschön gelöst. Früher oder später wirst du das korrigieren müssen.
So bleibt dir aktuell nur die Option, den betreffenden Client via iptables zu blocken.
Viele Grüße,
Exception
Gibt es eine Möglichkeit auf der Serverseite dem Client zu sagen dass er sich beenden bzw. seine Verbindungsversuche einstellen soll?
wie schon bereits geschrieben wurde, ist das bisher sehr unschön gelöst. Früher oder später wirst du das korrigieren müssen.
So bleibt dir aktuell nur die Option, den betreffenden Client via iptables zu blocken.
Viele Grüße,
Exception
Zitat von @ArminWeinmann:
Ist auch nicht auf meinem Mist gewachsen, am Anfang solls immer einfach sein, bis man dann merkt wieso komplexe Szenarien doch Vorteile haben
Dann hast du jetzt die Chance es besser zu machen.Ist auch nicht auf meinem Mist gewachsen, am Anfang solls immer einfach sein, bis man dann merkt wieso komplexe Szenarien doch Vorteile haben
Bis dahin blocke den Zugriff über die FW und lass dann adhoc nur noch die IP durch die explizit eine Anfrage per Mail/Telefon wahtever stellen.
Hallo Armin,
Das funktioniert aber nur, wenn Du für "Kundenname" und "Kundenkennwort" etwas Passendes einsetzen kannst, was durchaus sein kann, wenn Ihr Fernwartung für den Kunden macht.
Da Du nicht weiß, welcher Kunde es ist, müsstest Du es mit allen in Frage kommenden Benutzernamen/Kennwort-Kombinationen ausprobieren, bis nicht mehr die Fehlermeldung erscheint:
"FEHLER: Der Benutzername oder das Kennwort ist falsch."
sondern die Erfolgsmeldung:
"ERFOLGREICH: Der Prozess "openvpn.exe" mit PID 0815 wurde beendet."
Davon unberührt gilt, was die Kollegen schon schrieben.
Mindestens separate Zertifikate pro Kunde solltest Du erstellen und kannst das auch nachträglich tun, ohne das Konstrukt funktionell ändern zu müssen.
Du musst dann nur noch die entsprechenden Dateien gezielt an die jeweiligen Kunden verteilen.
Der Aufwand dafür ist aber vergleichsweise klein.
Nachtrag:
Im Konsolenfenster Deines OpenVPN-Servers siehst Du welche externe IP die Verbindung aufbaut oder aufzubauen versucht.
Die könnte Dir die Möglichkeit geben, Rückschlüsse zu ziehen, welcher Kunde es ist oder zumindest helfen das einzugrenzen.
Ob Du es nach dem Eingrenzen dann mit Taskkill oder Telfon versuchst sei Dir überlassen.
Gruß Frank
Zitat von @ArminWeinmann:
Gibt es eine Möglichkeit auf der Serverseite dem Client zu sagen dass er sich beenden bzw. seine Verbindungsversuche einstellen soll?
Ja die gibt es. Lass die Verbindung zu und schieß remote den Client ab.Gibt es eine Möglichkeit auf der Serverseite dem Client zu sagen dass er sich beenden bzw. seine Verbindungsversuche einstellen soll?
taskkill.exe /s VPNClientIP /u Kundenname /p Kundenkennwort /im openvpn.exe
Da Du nicht weiß, welcher Kunde es ist, müsstest Du es mit allen in Frage kommenden Benutzernamen/Kennwort-Kombinationen ausprobieren, bis nicht mehr die Fehlermeldung erscheint:
"FEHLER: Der Benutzername oder das Kennwort ist falsch."
sondern die Erfolgsmeldung:
"ERFOLGREICH: Der Prozess "openvpn.exe" mit PID 0815 wurde beendet."
Davon unberührt gilt, was die Kollegen schon schrieben.
Mindestens separate Zertifikate pro Kunde solltest Du erstellen und kannst das auch nachträglich tun, ohne das Konstrukt funktionell ändern zu müssen.
Du musst dann nur noch die entsprechenden Dateien gezielt an die jeweiligen Kunden verteilen.
Der Aufwand dafür ist aber vergleichsweise klein.
Nachtrag:
Im Konsolenfenster Deines OpenVPN-Servers siehst Du welche externe IP die Verbindung aufbaut oder aufzubauen versucht.
Die könnte Dir die Möglichkeit geben, Rückschlüsse zu ziehen, welcher Kunde es ist oder zumindest helfen das einzugrenzen.
Ob Du es nach dem Eingrenzen dann mit Taskkill oder Telfon versuchst sei Dir überlassen.
Gruß Frank
Hallo Armin,
ist das (k)eine Road-Warrior Konfiguration auf eurem OpenVPN-Server? Es wundert mich, dass sich nur ein Client auf euren OpenVPN-Server verbinden kann. Du schreibst auch, dass ihr keine Möglichkeit auf Serverseite habt, festzustellen wer der Störenfried ist. Wieso nicht? Wenn einer das feststellen kann, dann doch IHR. Ihr seht doch in den Logs wer Verbindungsaufbau initiiert, ihr habt die IP-Adresse und könntet das also sehr einfach eurem Kunden zuordnen (mit großer Wahrscheinlichkeit).
Ich würde euren OpenVPN-Server umkonfigurieren, denn für euren Einsatzzweck ist der schlichtweg falsch konfiguriert. Da können eure Kunden doch nix dafür.
ist das (k)eine Road-Warrior Konfiguration auf eurem OpenVPN-Server? Es wundert mich, dass sich nur ein Client auf euren OpenVPN-Server verbinden kann. Du schreibst auch, dass ihr keine Möglichkeit auf Serverseite habt, festzustellen wer der Störenfried ist. Wieso nicht? Wenn einer das feststellen kann, dann doch IHR. Ihr seht doch in den Logs wer Verbindungsaufbau initiiert, ihr habt die IP-Adresse und könntet das also sehr einfach eurem Kunden zuordnen (mit großer Wahrscheinlichkeit).
Ich würde euren OpenVPN-Server umkonfigurieren, denn für euren Einsatzzweck ist der schlichtweg falsch konfiguriert. Da können eure Kunden doch nix dafür.
Konfiguriere OpenVPN zumindest temporär so, dass er mehrfache Verbindungen vom selben Nutzer zulässt — dann ist das Problem mit den anderen Systemen erstmal weg.
Und dann: Nutze es doch aus, dass der Client sich verbindet. Ich meine, ihr sollt doch die Wartung machen — also lasse den Client rein, verbinde dich über den Fernwartungszugang und beende dort dann den VPN-Client.
Natürlich in Absprache mit dem Kunden.
Und dann: Nutze es doch aus, dass der Client sich verbindet. Ich meine, ihr sollt doch die Wartung machen — also lasse den Client rein, verbinde dich über den Fernwartungszugang und beende dort dann den VPN-Client.
Natürlich in Absprache mit dem Kunden.