Agent OsQuery

Funktion

Abfragen von Hosts mit osquery. Für dieses Plugin muss die ausführbare Datei osqueryi auf dem überwachten Host installiert sein. osqueryi wird über den SKOOR Agent , 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 erstelltes Open-Source-Tool zum Abfragen verschiedener Informationen über den Zustand von Maschinen. Dazu gehören Informationen wie:

  • Laufende Prozesse

  • Kernel-Module geladen

  • Aktive Benutzerkonten

  • Aktive Netzwerkverbindungen

und vieles mehr. osquery stellt ein Betriebssystem als leistungsstarke relationale Datenbank bereit und ermöglicht die Abfrage mit SQL-Anweisungen.

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

  • Linux

  • Fenster

  • OSX

  • 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-Detail

Agent -OsQuery-Parameter

Parameter

Beschreibung

Anfrage

Die Abfrage, die gegen die Osquery-Datenbank auf dem lokalen ( Kollektor ) oder entfernten Host ausgeführt werden soll.

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

Der Beispielabschnitt unten listet einige der Abfragen auf, die verwendet werden können. Die von der Abfrage zurückgegebene Ausgabe muss Rückgabewerten und Zeichenfolgenwerten in der richtigen Reihenfolge zugeordnet werden.

Alternativ kann die Reihenfolge der zurückgegebenen Werte und Zeichenfolgen beeinflusst werden, indem die Abfrage angepasst wird, um die erwarteten Werte und Zeichenfolgennamen bereitzustellen, z. B. 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, memory_free als return_value1 aus memory_info

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

Wählen Sie Feature als string_value1, Wert als string_value2 von cpuid limit 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 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

select value als string_value1 from cpuid where feature="product_name"

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 den Benutzernamen, die Beschreibung und das Verzeichnis von Benutzern aus, bei denen der Benutzername wie „%eranger“ lautet.

Benutzerinformationen lesen

select weekday, day, month, year, unix_time from time

Systemzeit lesen

select count(pid) as total, name from processes group by name order by total desc limit 10

Prozessanzahl zurückgeben, Name für die 10 aktivsten Prozesse

Wählen Sie * aus Betriebszeit

Betriebszeit des Rückgabesystems