Osquery: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 88: Zeile 88:
 
* systemctl restart osqueryd
 
* systemctl restart osqueryd
  
= FleetDM mit Docker Compose betreiben =
 
  
== Vorbereitung ==
 
Installiert git (für das Klonen des Repos)
 
* apt install -y git
 
  
Klon das offizielle FleetDM-Repository
+
= FleetDM mit Docker Compose  =
* git clone https://github.com/fleetdm/fleet.git
+
*[[Architektur Fleet + osquery]]
* cd fleet
+
==Install the fleetctl command line tool==
 
+
*curl -sSL https://fleetdm.com/resources/install-fleetctl.sh | bash
== Konfiguration laden ==
+
==Run a local demo of the Fleet server==
Lädt die Docker-Konfigurationen
+
*~/.fleetctl/fleetctl preview
* make deps
+
==The Fleet UI is now available==
 
+
*http://localhost:1337
Baut die Fleet-Binaries
+
*Email: admin@example.com
* make fleet
+
*Password: preview1337#
 
+
==Erster Query==
== Start von FleetDM ==
+
*Queries
Startet die komplette Umgebung mit MySQL, Redis und Fleet
+
**Add query
* docker-compose up
+
***Query: SELECT * FROM crontab;
 
+
**Save
FleetDM ist danach erreichbar unter:
+
*Run query
  http://localhost:8080
+
**Select target host: verwaltung.it113.int
 
+
**Run
== Ersteinrichtung ==
+
*Ergebnisse prüfen
Im Browser:
 
  Benutzername, Passwort, Organisation vergeben
 
 
 
Danach:
 
  Anzeige von Host-Daten, Abfragen und Policies möglich
 
 
 
== Hinweis ==
 
Das Setup verwendet persistente Volumes für Datenbank und Konfiguration. Die Umgebung kann jederzeit gestoppt und später wieder gestartet werden.
 
 
 
Zum Beenden:
 
* docker-compose down
 

Aktuelle Version vom 20. April 2025, 10:00 Uhr

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

Von der Webseite neuste Version runterladen und installieren.

https://osquery.io/downloads/official/5.16.0

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


FleetDM mit Docker Compose

Install the fleetctl command line tool

Run a local demo of the Fleet server

  • ~/.fleetctl/fleetctl preview

The Fleet UI is now available

Erster Query

  • Queries
    • Add query
      • Query: SELECT * FROM crontab;
    • Save
  • Run query
    • Select target host: verwaltung.it113.int
    • Run
  • Ergebnisse prüfen