Donnerstag, 10. März 2016

Logmanagement mit Graylog

Jeder Admin kennt das: von Server zu Server hangeln um die Logdateien zusammenzusetzen und den Zusammenhang zu verstehen. Oder wieviele Ereignisse von Typ X in welchem Zeitraum aufgetreten sind.

Aktuell gibt es 3 bekannte LogManagementsysteme: Splunk - closed source, sehr kostspielig; ELK - OpenSource Software, bestehend aus ElasticSearch, Logstash, Kibana und Graylog - OpenSource, mein Favorit, da hier wieder alles aus einem Guss kommt (mehr oder weniger).
Man kann jetzt den guten alten Weg gehen und sich einen (r)syslogserver aufsetzen und alle Logs dahin schicken lassen. Um diese dann zu analysieren oder auszuwerten muss man etwas grep/awk Akrobatik zeigen um da etwas gescheites heraus zu bekommen, vor allem dann, wenn man auch Firewall-Logs bekommt.

Genau hier setzt Graylog an. Man erstellt einen Input, welcher aus dem Port/TCP/UDP und aus der Art (Syslog, KAFKA, GELF, etc) besteht, fertig. Nun kann Graylog auf dem Port Daten empfangen, diese sollten idealerweise im RFC 5424 Format ankommen. Da man das Format nicht immer bestimmen kann (Bsp: Firewalls) oder Graylog das Format nicht gut umsetzen kann, kann man ankommende Nachrichten noch zerstückeln und Datenfelder zuordnen. Jedoch kann man pro Input nur eine Art von Syslog nutzen, deswegen sollte man auch mehrere Streams erstellen und sein Syslog anpassen. So sollte man mail und auth jeweils in einen anderen Input zukommen lassen um die Daten auch besser analysieren zu können. Graylog hat dafür eine gute einfache Query-Engine.

Mit Graylog kann man sich jetzt schön schnelle Statistiken anzeigen lassen, bspw möchte man sich die SSH Logins der letzen X Stunden anzeigen lassen oder wissen, welche IP von welcher IP am meisten "besucht" wird, etc. Desweiteren kann Graylog auch die Daten analysieren. Wenn Schwellenwerte erreicht werden, kann es eine Mail senden. Zum Beispiel, wenn eine bestimmte IP innerhalb von 2min 200mal versucht eine IP zu erreichen, wenn SSH-Logins eine Schwelle erreichen oder wenn ein bestimmter HTTP-Code zurückkommt, etc.

Das ist nur ein kurzer Einblick in Graylog, man kann sich auch eigene Dashboards bauen und diesen Usern/Gruppen zuweisen.

Ich hoffe, ich konnte euch einen kleinen Einblick geben und sofern Interesse besteht, werde ich zu Graylog noch weiterführendes schreiben.

Kommentare:

  1. interessant mehr bitte

    AntwortenLöschen
  2. Servus,
    du solltest deinen Friendconnectbutton entweder deaktivieren oder entsprechend anassen. Bei der Betrachtung im Feeds Konto von Thunderbird öffnet sich hierbei ein neues leeres und dadurch auch sehr nerviges Fenster jedes mal wenn man auf diese Seite kommt.

    AntwortenLöschen