Monitorování integrity klíčových souborů Linux pomocí Wazuh Syscheck s whodata
Syscheck ve Wazuh sleduje změny v kritických souborech Linuxu, jako jsou /etc/passwd, /etc/shadow, /etc/sudoers a /etc/ssh/sshd_config. V režimu whodata se zaznamená uživatel a proces, který změnu provedl, prostřednictvím auditd. Konfigurace se aplikuje centralizovaně na skupinu agentů linux, upozornění se generují s úrovní 12.
Architektura Wazuh a role Syscheck
Wazuh zahrnuje manažer pro zpracování událostí, agenty na hostech a dashboard na bázi Kibana. Syscheck skenuje soubory podle plánu nebo v reálném čase, kontroluje haše, práva a vlastníky. V režimu whodata se integruje s auditd pro přiřazení změn.
Klíčové možnosti:
- Periodické skenování s intervalem 300 sekund.
- Odesílání diff změn.
- Detekce nových souborů v adresářích.
- Vyloučení dočasných souborů pro snížení šumu.
Příprava agentů
Nainstalujte auditd na všech Linux agentech ve skupině linux.
Pro distribuce podobné RHEL:
sudo dnf install audit audispd-plugins -y
sudo systemctl enable --now auditd
Pro Debian/Ubuntu:
sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditd
Zkontrolujte stav: sudo auditctl -l.
Zkontrolujte existenci skupiny linux: ls -la /var/ossec/etc/shared/. Vytvořte skupinu v rozhraní, pokud chybí.
Centralizovaná konfigurace agent.conf
Upravte soubor /var/ossec/etc/shared/linux/agent.conf na manažerovi:
<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>
Restartujte: sudo systemctl restart wazuh-manager.
Parametry:
check_all="yes"— úplná kontrola atributů.whodata="yes"— přiřazení přes auditd.report_changes="yes"— diff v upozorněních.alert_new_files="yes"— notifikace o nových souborech.
Pravidla upozornění s vyšší kritikou
Do /var/ossec/etc/rules/local_rules.xml přidejte:
<group name="syscheck,">
<rule id="100100" level="12">
<if_sid>550</if_sid>
<field name="file">/etc/passwd</field>
<description>KRITICKÁ ZMĚNA: Změněn soubor /etc/passwd</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>KRITICKÁ ZMĚNA: Změněn soubor /etc/shadow (hesla)</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>KRITICKÁ ZMĚNA: Změněn soubor /etc/sudoers</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>KRITICKÁ ZMĚNA: Změněn soubor /etc/ssh/sshd_config</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>Detekován uživatel, který změnil kritický soubor: $(file) - $(audit.user.name)</description>
<mitre>
<id>T1078</id>
</mitre>
</rule>
</group>
Restartujte manažer. Pravidla se spustí na if_sid 550 (změna souboru), úroveň 12 zajišťuje prioritu.
Testování konfigurace
Na agentovi zkontrolujte aplikaci: sudo cat /var/ossec/etc/shared/agent.conf | grep -A5 "syscheck".
Simulujte změnu:
sudo cp /etc/passwd /etc/passwd.backup.test
echo "testuser:x:9999:9999:Test User:/home/testuser:/bin/bash" | sudo tee -a /etc/passwd
V upozorněních se objeví JSON s rule.level=12, syscheck.path, audit.user.name (root), process.name (tee), diff.
Vrátíte zpět: sudo cp /etc/passwd.backup.test /etc/passwd && sudo rm /etc/passwd.backup.test.
Co je důležité
- Syscheck s whodata zachytí autora změn přes auditd.
- Centralizovaná konfigurace pro skupinu linux minimalizuje ruční práci.
- Pravidla úrovně 12 s MITRE tagy pro /etc/passwd, /etc/shadow apod.
- Diff a přiřazení v upozorněních pro forenzní analýzu.
- Vyloučení dočasných souborů snižuje falešné poplachy.
Škálování monitoringu
Rozšiřte na /etc/hosts.allow, konfigurace nginx/apache, SSH klíče. Přidejte active response pro blokování, integrace s externími systémy notifikací.
— Editorial Team
Zatím žádné komentáře.