Agent OsQuery

Funktion

Fragen Sie Hosts mit Osquery ab. Für dieses Plugin muss die ausführbare Datei „osqueryi“ auf dem überwachten Host installiert sein. 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 Rückgabewerten ab, die in den Parametern des Jobs konfiguriert sind.

Osquery ist ein von Facebook entwickeltes Open-Source-Tool zur Abfrage verschiedener Informationen über den Zustand von Maschinen. Dazu gehören Informationen wie:

  • Laufende Prozesse

  • Kernelmodule geladen

  • Aktive Benutzerkonten

  • Aktive Netzwerkverbindungen

und vieles mehr. Osquery macht ein Betriebssystem als leistungsstarke relationale Datenbank verfügbar und ermöglicht die Abfrage mithilfe von 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 Osquery-Downloadseite 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

OsQuery-Parameter Agent

Parameter

Beschreibung

Anfrage

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

Die Dropdown-Liste „Tags“ ermöglicht die Eingabe vordefinierter Variablen in die Felder oben, 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 Zeichenfolgewerten zugeordnet werden.

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

Wählen Sie „memory_total“ als „return_value2“ und „memory_free“ als „return_value1“ aus „memory_info“.

Die folgende Abfrage gibt zwei String-Werte in einer bestimmten Reihenfolge zurück:

Wählen Sie das Feature als string_value1 und den Wert als string_value2 aus dem CPU-ID-Limit 1 aus

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.

OsQuery-Werte und Alarmgrenzen Agent

Wert/ Alarm Limit

Beschreibung

Hängt von den Rückgabewerten ab, die in den Parametern des Jobs konfiguriert sind.

Fehlercode

Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes )

Agent OsQuery-Beispiele

Beispiel 1 – Abfrage des CPU-Modells

Anfrage

Wählen Sie den Wert als string_value1 aus cpuid aus, wobei feature="product_name" ist.

Dazu muss der folgende String-Wert konfiguriert werden:

Ausgang 1

Beispiel 2 – Gesamten und freien Speicher abfragen

Anfrage

Wählen Sie „memory_total“, „memory_free“ aus „memory_info“.

Dazu 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:

Ausgang 2

Zusätzliche Beispielabfragen

Anfrage

Beschreibung

Beispielausgabe

Wählen Sie Benutzername, Beschreibung und Verzeichnis von Benutzern aus, bei denen der Benutzername „%eranger“ lautet.

Benutzerinformationen lesen

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

Systemzeit lesen

Wählen Sie count(pid) als Gesamtsumme aus, Name aus Prozessen, Gruppierung nach Namen, Reihenfolge nach Gesamtsumme, Abstiegslimit 10

Anzahl der Rückgabeprozesse, Name der 10 aktivsten Prozesse

Wählen Sie * aus Uptime aus

Betriebszeit des Rückgabesystems