Agent OsQuery

Funktion

Hosts mit osquery abfragen. Dieses Plugin erfordert, dass die ausführbare Datei osqueryi auf dem überwachten Host installiert ist. osqueryi wird über den SKOOR Agent ausgeführt, der ebenfalls auf dem abgefragten Computer installiert und ausgeführt werden muss. Der osqueryd- Daemon muss nicht ausgeführt werden, damit diese Abfragen funktionieren.

Alarmierend

Hängt von den in den Parametern des Auftrags konfigurierten Rückgabewerten ab.

osquery ist ein von Facebook entwickeltes Open-Source-Tool zum Abfragen verschiedener Informationen über den Zustand von Maschinen. Dazu gehören Informationen wie:

  • Laufende Prozesse

  • Kernelmodule geladen

  • Aktive Benutzerkonten

  • Aktive Netzwerkverbindungen

und vieles mehr. osquery stellt ein Betriebssystem als hochleistungsfähige relationale Datenbank zur Verfügung und ermöglicht die Abfrage mittels SQL-Anweisungen.

osquery ist derzeit für die folgenden Betriebssysteme verfügbar:

  • Linux

  • Windows

  • OS X

  • FreeBSD

Es kann installiert werden, indem Sie den Anweisungen auf der Downloadseite von osquery folgen: https://osquery.io/downloads/ . Alternativ kann die osqueryi -Binärdatei einfach nach /usr/bin kopiert werden.

Das manuelle Ausführen von Abfragen auf dem Host, auf dem osqueryi installiert ist, ist einfach. Führen Sie einfach den Befehl osqueryi aus, der das interaktive Abfragetool aufruft, und geben Sie dann die Abfrage gefolgt von einem Semikolon ein:

$ osqueryi
Using a virtual database. Need help, type '.help'
osquery> select value as string_value1 from cpuid where feature="product_name";
+------------------------------------------+
| string_value1                            |
+------------------------------------------+
| Dual-Core AMD Opteron(tm) Processor 1218 |
+------------------------------------------+
osquery> .quit

Weitere Informationen zu osquery finden Sie hier: https://osquery.readthedocs.io/en/stable/ .

Agent OsQuery-Details

Agent OsQuery-Parameter

Parameter

Beschreibung

Abfrage

Die Abfrage soll für die Osquery-Datenbank auf dem lokalen (SKOOR Kollektor ) oder Remote-Host ausgeführt werden.

Die Dropdown-Liste „Tags“ ermöglicht die Eingabe vordefinierter Variablen in die Felder darüber, z. B. $NAME$ für den Namen des Jobs.

Im folgenden Abschnitt mit Beispielen sind einige der Abfragen aufgeführt, die verwendet werden können. Die von der Abfrage zurückgegebene Ausgabe muss in der richtigen Reihenfolge Rückgabewerten und Zeichenfolgenwerten zugeordnet werden.

Alternativ kann die Reihenfolge der zurückgegebenen Werte und Zeichenfolgen beeinflusst werden, indem die Abfrage so angepasst wird, dass die erwarteten Werte und Zeichenfolgennamen bereitgestellt werden. Die folgende Abfrage ordnet beispielsweise den Wert memory_free dem ersten Rückgabewert und memory_total dem zweiten Rückgabewert zu:

Wählen Sie memory_total als return_value2, memory_free als return_value1 aus memory_info

Die folgende Abfrage gibt zwei Stringwerte in einer bestimmten Reihenfolge zurück:

Wählen Sie die Funktion als Zeichenfolgewert1 und den Wert als Zeichenfolgewert2 ab CPUID-Grenzwert 1.

Die Rückgabewerte und Zeichenfolgenwerte müssen jedoch weiterhin im Abschnitt „Jobparameter“ des Jobs konfiguriert werden, damit sie im Abschnitt „ Werte“ des Jobs angezeigt werden.

Agent OsQuery-Werte und Alarmgrenzen

Wert / Alarm Limit

Beschreibung

Hängt von den in den Parametern des Auftrags konfigurierten Rückgabewerten ab.

Fehlercode

Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes )

Beispiele Agent OsQuery

Beispiel 1: Abfragen des CPU-Modells

Abfrage

wähle den Wert als string_value1 aus cpuid, wobei feature="product_name"

Hierzu muss der folgende String-Wert konfiguriert werden:

Ausgabe 1

Beispiel 2 - Abfrage des gesamten und freien Speichers

Abfrage

Wählen Sie memory_total, memory_free aus memory_info

Hierzu müssen die folgenden 2 Rückgabewerte konfiguriert werden:

Die Einheit enthält den Namen des Rückgabewerts, eine Einheit und einen Divisor, da osquery die Werte in Bytes zurückgibt:

Ausgabe 2

Weitere Beispielabfragen

Abfrage

Beschreibung

Beispielausgabe

wähle Benutzernamen, Beschreibung, Verzeichnis von Benutzern, bei denen der Benutzername wie „%eranger“ ist

Lesen von Benutzerinformationen

Wählen Sie Wochentag, Tag, Monat, Jahr und Unix-Zeit aus der Zeit

Systemzeit auslesen

Wähle Anzahl(PID) als Gesamtsumme, Name aus Prozessen, Gruppierung nach Name, Sortierung nach Gesamtsumme, Abstiegsgrenze 10

Anzahl der Prozesse und Namen der 10 aktivsten Prozesse zurückgeben

Wählen Sie * aus der Betriebszeit

Systemverfügbarkeit zurückgeben