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 |