Angenommen, Sie haben einige Linux-Systeme auf welchen root-Login über SSH zwar grundsätzlich erlaubt ist, aber protokolliert werden sollte. In diesem Artikel beschreibe ich, wie so eine Alarm mit Log Insight einzurichten ist. Empfohlene (Besserwisser-)Vorgehensweise wäre: gar kein root-Login zulassen, schon gar nicht mit Passwort, stattdessen Key+Passwort Authentifizierung und sudo-Privileg für einen nicht-root-User. Auch in diesem Fall, könnte man Alarme auf sudo-Events nach dem gleichen Muster einrichten.
1. Installation des Agenten
Die Logs müssen an Log Insight geschickt werden, entweder über Syslog oder über den Log Insight Agent. Der Agent bietet viele Vorteile (zentrale Konfiguration, Verschlüsselung) und wird deshalb empfohlen. Die Installation kann so erfolgen:
Auf Ubuntu/Debian:
curl -o liagent.deb http://LOGINSIGHT:9000/api/v1/agent/packages/types/deb; dpkg -i liagent.deb
Auf RedHat / SUSE:
curl -o liagent.rpm http://LOGINSIGHT:9000/api/v1/agent/packages/types/rpm; rpm -Uvh liagent.rpm
Nach der Installation des Pakets, sollte lediglich die Adresse des Log Insight Server in der /etc/liagent.ini angepasst werden. Man kann sich das Leben auch einfacher machen, und dem existierenden Log Insight Server einen DNS-Alias “loginsight” zuweisen. Diese Adresse ist immer vorkonfiguriert.
2. Content Pack für Linux installieren
Der Content-Pack ist nicht unbedingt erforderlich, erleichtert aber die Einrichtung der Alarme dadurch, dass wir eine gute Konfiguration für die Agents haben und die relevanten Felder in den Logs schon extrahiert sind:
Sobald der Content-Pack installiert ist, haben wir eine Vorlage für eine Linux Agent-Konfig. Diese Vorlage muss geklont werden sowie einer Gruppe von Systemen zugewiesenn werden:
Dann brauchen wir noch ein Kriterium für die Agents, die diese Konfiguration benutzen sollten. Der Einfachheit halber wähle ich alle Systeme, deren OS nicht mit “Microsoft” anfängt:
Mit “Refresh” kann man kontrollieren, ob tatsächlich alle Linux-Systeme mit Agenten ausgewählt wurden. Die Gruppenkonfiguration muss mit “Save” gespeichert werden.
3. Linux Dashboards und relevante Suchen
Sobald der Content Pack installiert ist und die Agenten die Daten liefern, haben wir einige Dashboards: auch für SSH und sudo Events:
Nun können wir die Suchen, die für die Dashboard verwendet wurden, auch in Interactive Analytics öffnen:
Nun haben wir ja schon fast die Suche, die wir wollten. Um eine Alarmflut vorzubeugen, können wir diese zusätzlich auf bestimmte Hosts einschränken:
4. Alert erstellen
Sobald die Suche erstellt ist, brauchen wir nur noch auf die rote Glocke zu klicken, um einen Alarm zu erstellen:
Die Alerts können an vRealize Operation weitergeleitet, als Email oder als Webhook verschickt werden. Der Einfachheit halber, wähle ich Email. Nach einem login als root auf dem vrops und einigen Minuten erhalte ich folgende Mail:
Wir könnten die Alerts weiter einschränken, z.B. eigene Arbeitsstation von dem Alert ausschliessen (denn wir wissen ja, was wir tun). Analog zu dieser Vorgehensweise können wir auch Alerts für “failed logins” erstellen (z.B. um alarmiert zu werden, wenn auf einem System mehr als X Login-Versuche stattfinden. Interessant sind auch sudo / su events.