Files
lxc-enroll/actionable-security/README.md
T

3.8 KiB
Raw Blame History

Gezielte Sicherheitsmeldungen aus Wazuh

notify.py läuft auf einem nativen Wazuh-All-in-one-Server mit Python 3.9+. Es liest den lokalen Indexer mit TLS-Prüfung und dem vorhandenen lokalen Admin-Zertifikat; private Schlüssel werden nicht kopiert oder ausgegeben. Die Software verändert keine Indexer-Daten und führt keine Inhalte aus Logs aus. kev.py ist die gemeinsame Kataloglogik aus ../docker-security/scan.py.

Meldungsauswahl

  • Aktuelle High-/Critical-OS-Schwachstellen in CISA KEV, nur bei aktiven Agents.
  • Andere High-/Critical-OS-Funde erst nach einer konkreten, versionierten und befristeten Prüfung in approved_findings der privaten Konfiguration.
  • Neue/geänderte Image-Befunde mit positiver KEV-Zuordnung. Das ist ein Hinweis auf bekannte Ausnutzung andernorts, kein Nachweis eines Angriffs auf den Host.
  • Positive ClamAV- und VirusTotal-Regeln sowie hoch eingestufte Meldungen mit den Gruppen malware, yara oder compromised. Normale Logins, Paketupdates, SCA-Ergebnisse und generische Rootcheck-Muster werden nicht weitergeleitet.
  • Anhaltende unvollständige Image-Scans und Ausfälle der zentralen Prüfung.

Schwachstellen müssen standardmäßig eine Stunde lang im aktuellen Inventar bestehen bleiben, damit automatische Updates und Inventarsynchronisation eine Chance haben. Positive Malware-Erkennungen werden bei der nächsten Prüfung verarbeitet. Der Timer prüft alle fünf Minuten. Gleiche Befunde bleiben nach Zustellung still; Versionsänderungen werden erneut beobachtet. Behebungen und Erholungen sind still. Ein erneuter tatsächlicher Befund kann neu melden. Vorübergehend getrennte Agents werden nicht als behoben behandelt.

Bekannte Fehlzuordnungen werden ausgeschlossen: die Telnet-Server-Lücke im reinen Client, Linux-Kernel-Lücken in Headerpaketen oder inaktiven Kerneln und die Windows-spezifische Next.js-Lücke auf diesen Linux-Hosts.

Private Konfiguration auf dem Manager

  • /opt/wazuh-actionable/notify.py und kev.py: Code, root, Modus 700.
  • /etc/wazuh-actionable/config.json: Dashboard-URL, Schonfrist und geprüfte zusätzliche Befunde; root, Modus 600.
  • /etc/wazuh-actionable/discord-webhook: Webhook als einzelne Zeile; root, 600.
  • /var/lib/wazuh-actionable/: privater Katalog, Zustand, Deduplizierung und Zustellungsstatus. Keine Rohlogs oder privaten Schlüssel in Discord.
  • wazuh-actionable.service / .timer: zentrale Prüfung; ein fehlgeschlagener Versand wird nicht als zugestellt markiert und später erneut versucht.

Prüfen ohne Versand und ohne Aktualisierung des Benachrichtigungszustands:

python3 /opt/wazuh-actionable/notify.py --dry-run
systemctl status wazuh-actionable.timer
journalctl -u wazuh-actionable.service -n 20 --no-pager

--dry-run darf den öffentlichen KEV-Cache aktualisieren und stellt nur lesende Indexer-Abfragen. Der Webhook kommt nie ins Repository. Discord-Mentions sind deaktiviert. Keine regelmäßigen Erfolgsmeldungen oder täglichen Zusammenfassungen.

Grenzen

KEV ist keine vollständige Liste ausnutzbarer Lücken. Auch ein KEV-Treffer kann weitere Bedingungen haben, die geprüft werden müssen. Neue High-/Critical-Lücken außerhalb KEV werden nicht automatisch als konkrete Gefahr eingestuft; das Wazuh-Inventar bleibt ihre vollständige Prüfliste. Die Auswahl ersetzt keine Anwendungsanalyse. ClamAV, YARA oder zusätzliche Anwendungslogs werden hier nicht installiert; ihre Meldungen können nur verarbeitet werden, wenn die entsprechenden Erkennungen bereits eingerichtet sind. Ein fehlender Angriffstreffer beweist keine Abwesenheit eines Angriffs.

Für Image-Erholungen und aktuelle Scan-Gesundheit werden die aktuellen Docker-Security-Regeln 110800–110806 und der entsprechende Scanner benötigt. Ein Blick in die historische Alert-Liste allein beweist keine aktuelle Betroffenheit.