Osquery

Aus Xinux Wiki
Version vom 18. April 2025, 08:49 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= osquery unter Debian 12 = == Einführung == osquery ist ein Framework zur sicherheitsrelevanten Systemüberwachung. Es stellt Betriebssystemdaten als SQL-Ta…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

osquery unter Debian 12

Einführung

osquery ist ein Framework zur sicherheitsrelevanten Systemüberwachung. Es stellt Betriebssystemdaten als SQL-Tabellen dar. So können Dateien, Prozesse, Nutzer, Netzwerke und Konfigurationen abgefragt werden.

Ursprünglich von Facebook entwickelt, eignet sich osquery für forensische Analysen, Security Monitoring und Integritätsprüfungen.

Architektur

Die Anwendung besteht aus zwei Komponenten:

+-------------------+
|   osqueryi Shell  | <-- Interaktive SQL-Abfragen
+-------------------+
          |
          v
+-------------------+
|     osqueryd      | <-- Daemon für geplante Abfragen
+-------------------+
          |
          v
+-------------------+
|   Systemtabellen  | <-- z.B. processes, users, etc.
+-------------------+

Installation unter Debian 12

Erstellt das Verzeichnis für den GPG-Schlüssel

  • mkdir -p /etc/apt/keyrings

Fügt den osquery-GPG-Schlüssel hinzu

Fügt das osquery-Repository hinzu

Aktualisiert die Paketliste

  • apt update

Installiert osquery

  • apt install osquery

Konfiguration

Kopiert die Beispielkonfiguration

  • cp /opt/osquery/share/osquery/osquery.example.conf /etc/osquery/osquery.conf

Dienst starten

Startet den osquery-Dienst

  • systemctl start osqueryd

Prüft den Dienststatus

  • systemctl status osqueryd
 ● osqueryd.service - The osquery Daemon
   Loaded: loaded (/lib/systemd/system/osqueryd.service; enabled)
   Active: active (running)

Interaktive Nutzung mit osqueryi

Startet die interaktive Shell

  • osqueryi

Beispielabfragen:

Zeigt aktuell eingeloggte Benutzer

  • SELECT * FROM logged_in_users;

Zeigt laufende Prozesse von root

  • SELECT name, pid FROM processes WHERE uid = 0;

Zeigt alle Cronjobs

  • SELECT * FROM crontab;

Zeigt alle offenen Netzwerkports

  • SELECT * FROM listening_ports;

Eigene Regeln über Queries konfigurieren

Bearbeitet die zentrale Konfigurationsdatei vi /etc/osquery/osquery.conf

Beispielkonfiguration:

{
  "schedule": {
    "users_check": {
      "query": "SELECT * FROM users;",
      "interval": 600
    },
    "passwd_check": {
      "query": "SELECT * FROM file WHERE path = '/etc/passwd';",
      "interval": 300
    }
  }
}

Aktualisiert osquery nach Konfig-Änderungen

  • systemctl restart osqueryd

Aha-Erlebnisse in der Schulung

  • SQL statt kryptischer Tools – transparenter Zugriff auf Systeminformationen
  • Ideal für Security-Monitoring ohne Agent-Overhead
  • Kombinierbar mit SIEM-Tools
  • Realtime-Query + Zeitplanung möglich
  • Zeigt Linux von einer völlig neuen Seite