Im ersten Teil dieser Blogbeitragsreihe haben wir uns die Log-Management-Software Graylog angesehen. Wir haben erfolgreich den ersten Input über die Web-Schnittstelle von Graylog konfiguriert und den Datenversand des Systemlogs im MUC.easyplus eingestellt.
Somit wurde die Grundlage für diesen Beitrag geschaffen, indem wir zeigen möchten, wie man nun Alarme für bestimmte Ereignisse des Systemlogs generiert.
Im dritten Teil der Serie zeigen wir dann, wie eine E-Mail-Benachrichtigung konfiguriert wird.
Als Fehlerszenario soll der fehlerhafte Login als Root dienen, was neben Tippfehlern eben auch ein Hackerangriff und damit ein unbefugter Zugriff auf das Gerät sein kann.
Um mit der Konfiguration des Alarms zu beginnen, loggt man sich wieder als Admin auf der Graylog-Webseite ein und navigiert in den Bereich „Alerts“.
Event Details
Nun klickt man auf „Get Started!“. Im ersten Abschnitt „Event Details“ lassen sich ein paar allgemeine Dinge, wie die Bezeichnung des Alarms, eine Beschreibung und die Priorität festlegen. Da es sich in diesem Fall, um ein mögliches Sicherheitsrisiko des unbefugten Zugriffes auf das Gerät handelt, wird der Alarm als Priorität hoch eingestuft.
Filter & Aggregation
Nachdem auf „Next“ geklickt wurde, landet man im Abschnitt „Condition“. Unter „Condition Type“ kann ohne Lizenz nur „Filter & Aggregation“ ausgewählt werden. Es folgt die eigentliche Konfiguration des Alarms.
Nun stellt sich die Frage, nach was und in welchem Zeitbereich Graylog im Systemlog suchen soll, um eine Meldung zu generieren?
Hierzu muss man natürlich zunächst die Meldung des Systemlogs kennen. Dafür loggt man sich per SSH als Admin ein, gibt falsche Zugangsdaten für den Root-Nutzer an und kontrolliert die eingehenden Meldungen im Tab „Log“ des MUC.easyplus.
Die Meldung lautet wie folgt:
pam_unix(su:auth): authentication failure; logname=admin uid=1000 euid=0
tty=/dev/pts/0 ruser=admin rhost= user=root
Im ersten Parameter „Search Query“ kann man nun seinen Suchbegriff eintragen. In unserem Fall entscheiden wir uns zunächst einfach nach „authentication failure“ zu suchen. Nützlich ist hierbei die Filter Vorschau im rechten Teil des Fensters. Da die Vorschau zunächst leer ist, stellt man den Parameter „Search within the last“ auf 1 Stunde. Hier sieht man die gefilterten Meldungen.
Diese sind noch etwas zu unspezifisch, da auch in anderen Meldungen die Wörter „authentication“ und „failure“ enthalten sind. Es soll aber zusammenhängend nach „authentication failure“ gesucht werden. Nach einer kurzen Recherche zeigt sich, dass man den Suchbegriff in Anführungszeichen setzen muss. Da es in diesem Fall um die Login-Versuche des Root-Nutzers geht, wird die erste Suche mit einer zweiten Suche verknüpft. Dann wird „user=root“ eingefügt und beide Suchen mit einem logischen UND: “authentication failure” && “user=root” verknüpft.
Das hat geklappt. Perfekt!
Abschließend muss noch der Zeitbereich eingestellt werden – und zwar, dass innerhalb der letzten 5 Minuten einmal pro Minute gesucht werden soll. Im unteren Bereich stellt man jetzt noch schnell ein, dass erst eine Meldung generiert werden soll, wenn die Meldung 5-mal anlag.
Fields
In unserem Fall wird der Abschnitt „Event fields“ übersprungen. Dieser kann aber nützlich sein, wenn man viele Alarme einem Event zuordnen kann.
Das war der letzte Schritt, um einen Alarm zu erstellen und zu definieren. Somit werden die Logmeldungen zunächst einmal nach bestimmten Bedingungen gefiltert und der Alarm generiert.
Im nächsten Schritt soll natürlich möglichst automatisiert darüber benachrichtigt werden, wenn ein Alarm erzeugt wurde. Der Einfachheit halber wird das eine E-Mail-Benachrichtigung sein.
Wie man den Mailversand in der Serverkonfiguration aktiviert und den Mailversand einrichtet, erläutern wir im dritten Teil unserer Blogreihe.