Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Login Monitoring
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 478
Location: münchen.de

PostPosted: Fri Feb 08, 2019 1:45 pm    Post subject: Login Monitoring Reply with quote

Hallo zusammen,

ich würde gerne alle Logins auf meinen Systemen monitoren. Das Ergebnis sollte ein hübsches Grafana Dashboard sein, welches mir in (nahezu) Echtzeit anzeigt, wenn auf einem meiner Gentoo Systeme ein erfolgreicher Login passiert. Gegebenenfalls würde ich dafür noch Alerts konfigurieren. Die Daten dazu würde ich in einer InfluxDB speichern.

Dazu brauche ich eine zuverlässige Stelle, um die Login Daten abzugreifen und per curl an Influx zu senden. Spontan sind mir zwei Wege eingefallen:
1) Syslog
Ich könnte syslog-ng entsprechend konfigurieren, dass es über einen 'facility(auth, authpriv)' Filter per destination command oder destination socket ein Skript/Programm aufruft, welches die Logzeile parsed und anschließend versendet.

Das wäre asynchron und würde den Login nicht behindern oder verlangsamen, aber andererseits bin ich dann von einem laufenden und korrekt konfiguriertem Log Daemon abhängig.

2) Login Shells
Soweit ich weiß rufen alle (interaktiven und nicht interaktiven) Login Shells /etc/profile auf. Ich könnte mein Skript dort starten und die Umgebungsvariablen auswerten.

Wenn mein Skript als Background Job (&) läuft, sollte es den Login Prozess nicht wesentlich verlangsamen.
Ich bin mir nicht sicher, ob es nicht doch Logins gibt, welche nicht durch /etc/profile gehen.

Was meint ihr, ist der richtige Ort um zuverlässig auf jeden Login zu reagieren? (möglichst ohne C Programmierung ;-)


PS: Auf allen betroffenen Systemen bin ich der einzige Nutzer, von daher ist das Vorhaben datenschutztechnisch unbedenklich.
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 478
Location: münchen.de

PostPosted: Mon Feb 18, 2019 2:58 pm    Post subject: Reply with quote

Ein kleines Update zu meinem Vorhaben.

Zuerst hatte ich ein simples Skript in /etc/profile.d/ angelegt, welches bei jeder Login Shell ausgeführt wird und in die Influx schreibt. Nicht-Login-Shells werden damit aber nicht gemonitored (also z.B. scp oder ssh mit remote command). Deshalb verwende ich jetzt eine /etc/ssh/sshrc mit folgendem Inhalt:

Code:

nohup curl -i -XPOST 'http://my_influx_host:8086/write?db=my_database_name' --data-binary "auth,host=$HOSTNAME,user=$USER ssh_login=1" > /dev/null 2>&1 &


Das wird bei jedem SSH Login ausgeführt und erfasst sowohl Login Shells als auch nicht Login Shells wie scp.
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum