OPNsense Forum

International Forums => German - Deutsch => Topic started by: flehmann on July 01, 2020, 12:12:15 pm

Title: VPN Nutzer Anzeige letzter Connect?
Post by: flehmann on July 01, 2020, 12:12:15 pm
Hallo, wie viele hier nutzen auch wir in der aktuellen Zeit die OPNsense mit VPN (OpenVPN mit Zertifikat und AD-Auth) für die lieben User.
Wir vermissen der Übersichtlichkeit wegen die Info, wann der letzte Connect pro User über VPN stattfand.
Das VPN Log ist ja mehr als unübersichtlich mit den minütlichen "MANAGEMENT: CMD 'quit' +  MANAGEMENT: CMD 'status 2'" etc. Status Meldungen.

Meinetwegen auch bei den Zertifikaten, wann diese zuletzt genutzt wurden oder ähnlich.

Gibt es dafür eine Lösung/Plugin oder Tipp?
Danke
Title: VPN Nutzer Anzeige letzter Connect?
Post by: micneu on July 01, 2020, 12:14:27 pm
mach dir doch ein awk oder was auch immer Script auf der console für die log Datei, so würde ich es machen


Gesendet von iPhone mit Tapatalk Pro
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: micneu on July 01, 2020, 05:09:26 pm
darf ich mal fragen wofür ihr genau diese infos benötigt, was ist euer anwendungsfall?
bitte mehr informationen
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: JeGr on July 03, 2020, 11:33:55 am
> Wir vermissen der Übersichtlichkeit wegen die Info, wann der letzte Connect pro User über VPN stattfand.

Könntet ihr das konkreter ausführen, was damit gemeint ist? Letzter Connect "pro User" ist da etwas seltsam. Soll das quasi eine Userliste sein in der immer drinsteht, wann sich jemand zuletzt via VPN verbunden hatte? So eine Art "lastlogin"? Auch mit Historie oder wirklich NUR genau den letzten Login?

Und zu Mics Aussage auch: Wofür gedacht? Das könnte durchaus schnell in Richtung Datenschutzrelevanz gehen, gerade bei Homeoffice Leuten wäre das ja quasi eine Art Stechuhr? ;)
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: flehmann on July 22, 2020, 12:06:54 pm
Könntet ihr das konkreter ausführen, was damit gemeint ist? Letzter Connect "pro User" ist da etwas seltsam. Soll das quasi eine Userliste sein in der immer drinsteht, wann sich jemand zuletzt via VPN verbunden hatte? So eine Art "lastlogin"? Auch mit Historie oder wirklich NUR genau den letzten Login?

Und zu Mics Aussage auch: Wofür gedacht? Das könnte durchaus schnell in Richtung Datenschutzrelevanz gehen, gerade bei Homeoffice Leuten wäre das ja quasi eine Art Stechuhr? ;)

Es geht primär darum zusehen, welche VPN-Zugänge noch genutzt werden und welche nicht. Wir haben seit März für viele Home Office User Zugänge erstellt, aber die wenigstens werden genutzt und daher kam die Frage auf, wie man da einen Überblick behalten kann.
Eine Art Last Login mit Datum (noch nicht mal Uhrzeit) würde genügen.
Daher die Idee, das bei der letzten Zertifikatsnutzung ggf. unterzubringen?

mach dir doch ein awk oder was auch immer Script auf der console für die log Datei, so würde ich es machen

Gibt es dazu ein Doc, wie man das umsetzt?
Danke
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: micneu on July 22, 2020, 12:41:25 pm
Nein das musst du dir schreiben, das Script. Das ist noch nicht fertig. Ich habe es mir mal angeschaut und einige versuche mit awk gemacht


Gesendet von iPad mit Tapatalk Pro
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: JeGr on July 22, 2020, 04:38:20 pm
also rein technisch betrachtet könnte man sich das als einfaches Textfile mit ein bisschen Skript realisieren. Wichtig zu wissen ist nur "letzter Connect" (bzw. disconnect) und "User". Das sind alles Werte, die in den Umgebungsvariablen in einem per "client-disconnect" Hook aufgerufenen Skript verwertbar sind. Die beiden Daten muss man nur in ein File rausschreiben und sicherstellen, dass eben kein Nutzername doppelt vorkommt (also vorhandenes Name/Zeit Paar überschrieben wird).

Als Ideenansatz:
Wenn man bspw. in einem OVPN Server unter custom options ein

Code: [Select]
client-disconnect /root/lastlogin.php

einbaut und dieses Skript dann mit sowas füttert

Code: [Select]
#!/usr/local/bin/php -q
<?php

  $cn        
getenv('common_name');
  
$username  getenv('username');
  
$timestamp date('d.m.Y, H:i');

  
// hier Zielfile öffnen/vergleichen/reinschreiben/speichern
  
...

?>


hat man ein Grundgerüst dafür an der Hand. Ist jetzt nur mal ganz ganz grob, aber im Connect und Disconnect Hook von OVPN stehen der Username bzw. der CN des Zertifikats zur Verfügung. Muss man dann nur irgendwo/irgendwie ablegen. Gibt sicher genug Beispiele wie man das mit PHP o.ä. erledigen kann dann :)
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: micneu on July 22, 2020, 06:50:48 pm
ich hätte jetzt in der
Code: [Select]
/var/log/openvpn.loggeschaut
Title: Re: VPN Nutzer Anzeige letzter Connect?
Post by: JeGr on July 23, 2020, 10:30:55 am
ich hätte jetzt in der
Code: [Select]
/var/log/openvpn.loggeschaut

Da siehst du zwar deine Connects, aber da das Log rausrotiert wirst du damit nicht lange Spaß haben. Daher einfach direkt nach Connect/Disconnect - je nachdem - einfach den User und das Datum in ein File/eine Art DB rausschreiben lassen und du musst dich um nix kümmern. So müsstest du - je nach Loggröße und Rotation - jeden Tag einen spezifischen Grep bauen, der nach dem Loginstring von Usern sucht und das dann irgendwohin rausschreibt. Aber die meisten werden auf der OPNsense nicht so lange Log Retentions haben, als dass das OVPN Log da sehr hilfreich wäre (vermutlich). :)