Die Datenschutz-Grundverordnung nähert sich mit großen Schritten. Und auch in Sachen Hackerangriffen dürfen sich Unternehmen 2018 wieder auf einiges gefasst ... (mehr)

Einfacher monitoren mit Decorators

Zusätzlich zu den Daten-Queries lassen sich in "osquery.conf" auch so genannte Decorators definieren. Sie legen zentrale Parameter fest, die sich anschließend in anderen Queries nutzen lassen. Im verlinkten Beispiel setzt der Decorator "load" den Wert für "uuid" auf "AS host_ uuid FROM system_info;" – nutzen andere Queries den "uuid"-Parameter, enthält er das somit Ergebnis der oben genannten Abfrage.

Besondere Bedeutung kommt in Osquery auch den Packs zu. Das sind Sammlungen vordefinierter Queries, die sich aus "osquery.conf" heraus laden lassen. Das hilft dabei, "osquery.conf" klein und übersichtlich zu halten und erlaubt auch das Kategorisieren von Checks. Ab Werk liegen Osquery diverse Packs bei, die nach Betriebssystemen kategorisiert in "/usr/share/osquery/packs/" liegen. In der "packs"-Section von "osquery.conf" lädt der Admin einfach diejenigen Dateien aus dem Verzeichnis, die zu seinem Betriebssystem passen, und erhält damit ohne große Mehrarbeit eine umfassende Datenbasis seines Systems. Außerdem ist es aus Sicht des Admins problemlos möglich, die benötigten Packs zu erweitern: Die bereits erwähnte "fim.conf" etwa enthält eine Reihe von Checks, die auf Inode-Basis überprüfen, ob sich Dateien des Systems in mehreren Ordnern ändern. FIM steht als Abkürzung für "File Integrity Monitoring". Tauchen im Logfile von "osqueryd" plötzlich Dateiveränderungen auf, die der Admin nicht – etwa durch Ansible – angestoßen hat, ist das ein klares Warnsignal (Bild 3).

Bild 4: "osqueryd" führt ein kontinuierliches Logfile, das sich problemlos von anderen Diensten auslesen und verarbeiten lässt.

Was Osquery alles kann

Anders als klassische Monitoring-Systeme findet bei Osquery die Erhebung der Monitoring-Daten im Kern des Programms selber statt. Die Dokumentation des Werkzeugs enthält eine Übersicht über die verschiedenen möglichen Abfragen [4]; ein paar elementare Beispiele stellt dieser Artikel im Folgenden aber trotzdem vor. Denn nur so lässt sich ein Eindruck von der Funktionsfülle vermitteln, die Osquery mitbringt.

In Osquery enthalten ist etwa eine Funktion, die Autostart-Programme anzeigt. Hier wird offensichtlich, dass Osquery sich nicht nur an große Server-Flotten richtet, sondern auch auf den Betrieb auf Desktops ausgelegt ist: Auf Desktops tauchen neue Apps im Autostart-Ordner schließlich wahrscheinlicher auf, etwa weil ein System mit Malware infiziert ist. Die folgende Shellzeile listet alle Dienste des Systems auf, die beim Start geladen werden:

SELECT * FROM startup_items;

Taucht hier aus dem Nichts eine neue Applikation auf, ohne dass der Anwender eines Systems ein neues Programm installiert hat, ist das zumindest ein sehr verdächtiger Vorgang. Ähnliches gilt für andere Dateien innerhalb des Dateisystems, die zuvor noch nicht existierten, aber bekanntermaßen zu Eindringlingen gehören – etwa Rootkits auf Linux. Mittels des Kommandos

select * from file where path in ('/dev/chr');

etwa lässt sich der Omega-Wurm aufspüren. Praktisch: Osquery liegt ein Pack für die Erkennung diverser Rootkits bei, das sich mittels "osqueryd.conf" ganz leicht aktivieren lässt.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023