Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Dateiüberwachung

Der Befehl sd monitor überwacht Verzeichnisse auf Dateisystemaktivitäten und scannt neue oder geänderte Dateien in Echtzeit. Dies ist die primäre Methode, Malware in dem Moment zu erfassen, in dem sie auf der Festplatte landet, bevor sie die Chance hat, ausgeführt zu werden.

Verwendung

bash
sd monitor [OPTIONS] [PATHS...]

Wenn keine Pfade angegeben sind, überwacht sd monitor das aktuelle Arbeitsverzeichnis.

Optionen

FlagKurzStandardBeschreibung
--recursive-rtrueVerzeichnisse rekursiv überwachen
--block-bfalseDateiausführung blockieren, bis Scan abgeschlossen ist (nur Linux)
--daemon-dfalseIm Hintergrund als Daemon-Prozess ausführen
--pid-filePID in angegebene Datei schreiben (impliziert --daemon)
--exclude-eGlob-Muster zum Ausschließen (wiederholbar)
--log-fileProtokollausgabe in Datei statt in stderr schreiben
--auto-quarantine-qfalseErkannte Bedrohungen automatisch in Quarantäne
--eventsalleKommagetrennte Liste der zu überwachenden Ereignisse
--jsonfalseEreignisse als JSON-Zeilen ausgeben

Plattform-Mechanismen

PRX-SD verwendet die leistungsfähigste Dateisystem-API, die auf jeder Plattform verfügbar ist:

PlattformAPIFähigkeiten
Linuxfanotify (Kernel 5.1+)Systemweite Überwachung, Ausführungs-Berechtigungssteuerung, Dateideskriptor-Durchleitung
Linux (Fallback)inotifyPro-Verzeichnis-Watches, keine Block-Unterstützung
macOSFSEventsNiedriglatenz-Rekursiv-Überwachung, historische Ereignis-Wiedergabe
WindowsReadDirectoryChangesWPro-Verzeichnis-Async-Überwachung mit Completion Ports

TIP

Unter Linux benötigt sd monitor die Fähigkeit CAP_SYS_ADMIN (oder Root), um fanotify zu verwenden. Wenn nicht verfügbar, fällt es automatisch auf inotify mit einer Warnung zurück.

Überwachte Ereignisse

Die folgenden Dateisystem-Ereignisse lösen einen Scan aus:

EreignisBeschreibungPlattformen
CreateEine neue Datei wird erstelltAlle
ModifyDateiinhalt wird geschriebenAlle
CloseWriteDatei nach dem Schreiben geschlossen (vermeidet Teil-Scans)Linux
DeleteEine Datei wird entferntAlle
RenameEine Datei wird umbenannt oder verschobenAlle
OpenEine Datei wird zum Lesen geöffnetLinux (fanotify)
ExecuteEine Datei soll ausgeführt werdenLinux (fanotify)

Mit --events filtern, welche Ereignisse Scans auslösen:

bash
# Nur bei neuen Dateien und Änderungen scannen
sd monitor --events Create,CloseWrite /home

Block-Modus

Unter Linux mit fanotify aktiviert --block den Modus FAN_OPEN_EXEC_PERM. In diesem Modus hält der Kernel die Prozessausführung an, bis PRX-SD ein Urteil zurückgibt:

bash
sudo sd monitor --block /usr/local/bin /tmp

WARNING

Block-Modus fügt Latenz zu jedem Programmstart in den überwachten Pfaden hinzu. Verwenden Sie ihn nur für Hochrisiko-Verzeichnisse wie /tmp oder Download-Ordner, nicht für systemweite Pfade wie /usr oder /lib.

Wenn eine Bedrohung im Block-Modus erkannt wird:

  1. Der Datei-Öffnen/Ausführen wird vom Kernel verweigert
  2. Das Ereignis wird mit dem Urteil BLOCKED protokolliert
  3. Wenn --auto-quarantine gesetzt ist, wird die Datei in den Quarantänetresor verschoben

Daemon-Modus

--daemon verwenden, um den Monitor vom Terminal zu trennen:

bash
sd monitor --daemon --pid-file /var/run/sd-monitor.pid /home /tmp /var/www

Daemon durch Senden von SIGTERM stoppen:

bash
kill $(cat /var/run/sd-monitor.pid)

Oder sd daemon stop verwenden, wenn über den Daemon-Manager ausgeführt. Weitere Informationen finden Sie unter Daemon.

Beispiele

bash
# Home- und tmp-Verzeichnisse überwachen
sd monitor /home /tmp

# Mit automatischer Quarantäne überwachen
sd monitor --auto-quarantine /home/downloads

# Block-Modus unter Linux für ein sensibles Verzeichnis
sudo sd monitor --block --auto-quarantine /tmp

# Build-Artefakte und node_modules ausschließen
sd monitor -e "*.o" -e "node_modules/**" /home/dev/projects

# Als Daemon mit JSON-Protokollierung ausführen
sd monitor --daemon --json --log-file /var/log/sd-monitor.json /home

# Mit bestimmten Ereignissen überwachen
sd monitor --events Create,Modify,Rename /var/www

JSON-Ausgabe

Wenn --json aktiviert ist, erzeugt jedes Ereignis eine einzelne JSON-Zeile:

json
{
  "timestamp": "2026-03-21T10:15:32.456Z",
  "event": "CloseWrite",
  "path": "/tmp/payload.exe",
  "verdict": "malicious",
  "threat": "Win.Trojan.Agent-123456",
  "action": "quarantined",
  "scan_ms": 12
}

Nächste Schritte

Released under the Apache-2.0 License.