Zurück zur Startseite

Wazuh Syscheck: Linux-Dateiüberwachung

Anleitung zur Konfiguration von Syscheck in Wazuh zur Überwachung wichtiger Linux-Dateien mit whodata. Zentralisierte Konfiguration, Kritikalitäts-12-Regeln, Änderungstests. auditd-Integration bietet Zuordnung.

Wazuh Linux-Dateischutz: whodata und Alarme
Advertisement 728x90

Überwachung der Integrität kritischer Linux-Dateien mit Wazuh Syscheck und Whodata

Wazuh Syscheck überwacht Änderungen an wichtigen Linux-Dateien wie /etc/passwd, /etc/shadow, /etc/sudoers und /etc/ssh/sshd_config. Im Whodata-Modus erfasst es den Benutzer und Prozess, der die Änderungen vornimmt, über auditd. Diese Konfiguration gilt zentral für eine Linux-Agentengruppe und erzeugt Alarme auf Stufe 12.

Wazuh-Architektur und Rolle von Syscheck

Wazuh besteht aus einem Manager zur Ereignisverarbeitung, Agenten auf den Hosts und einem Kibana-basierten Dashboard. Syscheck scannt Dateien zeitgesteuert oder in Echtzeit und prüft Hashes, Berechtigungen und Eigentümer. Im Whodata-Modus integriert es sich mit auditd, um Änderungen zuzuordnen.

Wichtige Funktionen:

Google AdInline article slot
  • Periodische Scans alle 300 Sekunden.
  • Diffs der Änderungen werden gesendet.
  • Erkennung neuer Dateien in Verzeichnissen.
  • Ausschluss von Temporärdateien zur Reduzierung von Fehlalarmen.

Vorbereitung der Agenten

Installieren Sie auditd auf allen Linux-Agenten der Gruppe „linux“.

Für RHEL-ähnliche Systeme:

sudo dnf install audit audispd-plugins -y
sudo systemctl enable --now auditd

Für Debian/Ubuntu:

Google AdInline article slot
sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditd

Status prüfen: sudo auditctl -l.

Überprüfen Sie, ob die linux-Gruppe existiert: ls -la /var/ossec/etc/shared/. Falls nicht, erstellen Sie sie in der UI.

Zentrale agent.conf-Konfiguration

Bearbeiten Sie /var/ossec/etc/shared/linux/agent.conf auf dem Manager:

Google AdInline article slot
<agent_config>
  <syscheck>
    <frequency>300</frequency>
    <whodata>yes</whodata>
    <diff>yes</diff>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/passwd</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/shadow</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/sudoers</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/ssh/sshd_config</directories>
    <ignore>/etc/passwd-</ignore>
    <ignore>/etc/shadow-</ignore>
    <ignore>/etc/sudoers.tmp</ignore>
    <ignore>/etc/.pwd.lock</ignore>
    <alert_new_files>yes</alert_new_files>
    <scan_on_start>yes</scan_on_start>
    <auto_ignore>no</auto_ignore>
  </syscheck>
</agent_config>

Neustart: sudo systemctl restart wazuh-manager.

Wichtige Parameter:

  • check_all="yes" — Vollständige Attributprüfungen.
  • whodata="yes" — Zuordnung über auditd.
  • report_changes="yes" — Diffs in Alarmen.
  • alert_new_files="yes" — Alarme für neue Dateien.

Regeln für hochprioritäre Alarme

Fügen Sie in /var/ossec/etc/rules/local_rules.xml hinzu:

<group name="syscheck,">
  <rule id="100100" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/passwd</field>
    <description>KRITISCHE ÄNDERUNG: /etc/passwd modifiziert</description>
    <mitre>
      <id>T1078</id>
      <id>T1136</id>
    </mitre>
  </rule>
  <rule id="100101" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/shadow</field>
    <description>KRITISCHE ÄNDERUNG: /etc/shadow modifiziert (Passwörter)</description>
    <mitre>
      <id>T1003</id>
      <id>T1078</id>
    </mitre>
  </rule>
  <rule id="100102" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/sudoers</field>
    <description>KRITISCHE ÄNDERUNG: /etc/sudoers modifiziert</description>
    <mitre>
      <id>T1078</id>
      <id>T1548</id>
    </mitre>
  </rule>
  <rule id="100104" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/ssh/sshd_config</field>
    <description>KRITISCHE ÄNDERUNG: /etc/ssh/sshd_config modifiziert</description>
    <mitre>
      <id>T1078</id>
      <id>T1548</id>
    </mitre>
  </rule>
  <rule id="100103" level="10">
    <if_sid>554</if_sid>
    <field name="file">/etc/passwd</field>
    <field name="file">/etc/shadow</field>
    <field name="file">/etc/sudoers</field>
    <options>alert_by_email</options>
    <description>Benutzer modifiziert kritische Datei: $(file) - $(audit.user.name)</description>
    <mitre>
      <id>T1078</id>
    </mitre>
  </rule>
</group>

Manager neustarten. Regeln lösen bei if_sid 550 (Dateiänderung) auf Stufe 12 aus.

Test der Konfiguration

Auf einem Agenten prüfen: sudo cat /var/ossec/etc/shared/agent.conf | grep -A5 "syscheck".

Änderung simulieren:

sudo cp /etc/passwd /etc/passwd.backup.test
echo "testuser:x:9999:9999:Test User:/home/testuser:/bin/bash" | sudo tee -a /etc/passwd

Alarme zeigen JSON mit rule.level=12, syscheck.path, audit.user.name (root), process.name (tee) und diff.

Zurücksetzen: sudo cp /etc/passwd.backup.test /etc/passwd && sudo rm /etc/passwd.backup.test.

Wichtige Erkenntnisse

  • Syscheck mit Whodata verfolgt Änderungsautoren über auditd.
  • Zentrale Konfiguration für linux-Gruppe spart manuellen Aufwand.
  • Stufe-12-Regeln mit MITRE-Tags für /etc/passwd, /etc/shadow usw.
  • Diffs und Zuordnungen in Alarmen für Forensik.
  • Ausschluss von Temporärdateien reduziert Fehlalarme.

Skalierung der Überwachung

Erweitern auf /etc/hosts.allow, nginx/apache-Konfigs, SSH-Schlüssel. Aktive Reaktionen für Sperrungen und Integrationen mit externen Benachrichtigungssystemen hinzufügen.

— Editorial Team

Advertisement 728x90

Weiterlesen