Wazuh Apache2: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 20: | Zeile 20: | ||
;Agent mit Manager-Adresse und Namen installieren | ;Agent mit Manager-Adresse und Namen installieren | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | WAZUH_MANAGER="wazuh.dkbi.com" WAZUH_AGENT_NAME=" | + | WAZUH_MANAGER="wazuh.dkbi.com" WAZUH_AGENT_NAME="www" apt install -y wazuh-agent |
</syntaxhighlight> | </syntaxhighlight> | ||
;Dienst aktivieren und starten | ;Dienst aktivieren und starten | ||
| Zeile 32: | Zeile 32: | ||
apt update | apt update | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | * Öffne das Wazuh-Dashboard, gehe zu ''Agent Management → Summary'' und prüfe, ob der Agent ''' | + | * Öffne das Wazuh-Dashboard, gehe zu ''Agent Management → Summary'' und prüfe, ob der Agent '''www''' mit Status '''Active''' erscheint |
==== FIM auf das Upload-Verzeichnis ==== | ==== FIM auf das Upload-Verzeichnis ==== | ||
| Zeile 39: | Zeile 39: | ||
<pre> | <pre> | ||
<syscheck> | <syscheck> | ||
| − | <directories check_all="yes" report_changes="yes" realtime="yes"> | + | <directories check_all="yes" report_changes="yes" realtime="yes">/var/www/html/uploads</directories> |
</syscheck> | </syscheck> | ||
</pre> | </pre> | ||
* ''realtime="yes"'' liefert den Alert sofort beim Upload, nicht erst beim nächsten Scan | * ''realtime="yes"'' liefert den Alert sofort beim Upload, nicht erst beim nächsten Scan | ||
* ''report_changes="yes"'' zeigt bei Textdateien den Inhalt — bei einer PHP-Shell siehst du den Shell-Code direkt im Alert | * ''report_changes="yes"'' zeigt bei Textdateien den Inhalt — bei einer PHP-Shell siehst du den Shell-Code direkt im Alert | ||
| + | |||
| + | ==== Apache-Access-Log einbinden ==== | ||
| + | Der Agent liest per Default nur die System-Logs (''auth.log'', ''syslog'', ''dpkg.log''). Das Apache-Access-Log muss explizit als Quelle eingetragen werden — ohne diesen Eintrag erreichen die Angriffszeilen den Manager nicht und die Kontrolle bleibt leer. | ||
| + | * Ergänze in ''/var/ossec/etc/ossec.conf'' den localfile-Block: | ||
| + | <pre> | ||
| + | <localfile> | ||
| + | <log_format>apache</log_format> | ||
| + | <location>/var/log/apache2/access.log</location> | ||
| + | </localfile> | ||
| + | </pre> | ||
| + | * Der Decoder ''web-accesslog'' greift auf den Inhalt der Logzeile, nicht auf das ''log_format'' — mit ''syslog'' funktioniert es genauso | ||
| + | * Erst dieser Eintrag füttert die Web-Attack-Regeln ab 31100 | ||
==== Agent neu starten ==== | ==== Agent neu starten ==== | ||
| Zeile 49: | Zeile 61: | ||
systemctl restart wazuh-agent | systemctl restart wazuh-agent | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | * Kontrolle, welche Dateien der Logcollector übernommen hat: | ||
| + | <pre> | ||
| + | grep "Analyzing file" /var/ossec/logs/ossec.log | ||
| + | </pre> | ||
==== Kontrolle ==== | ==== Kontrolle ==== | ||
* SQLi-Funktionstest von der Kali: | * SQLi-Funktionstest von der Kali: | ||
<pre> | <pre> | ||
| − | curl -XGET " | + | curl -XGET "https://www-dmz.it2XX.xinmen.de/?id=insert%20into%20users" |
</pre> | </pre> | ||
* Öffne im Dashboard ''Threat Hunting'' und filtere auf ''rule.id:31103'' | * Öffne im Dashboard ''Threat Hunting'' und filtere auf ''rule.id:31103'' | ||
Aktuelle Version vom 9. September 2026, 10:24 Uhr
Wazuh-Agent auf der VulnSite
Die VulnSite (Apache/PHP) ist das Angriffsziel im Lab und liefert die Web-Telemetrie an das SIEM. Sie sammelt und überträgt, führt aber keine Active Response aus:
- Web — Apache-Access-Log (/var/log/apache2/access.log, Angriffsversuche wie SQLi und Command Injection als Logzeilen)
- FIM — Upload-Verzeichnis (Echtzeit-Erkennung hochgeladener Webshells)
Die Web-Attack-Decoder und -Regeln (Rule-IDs ab 31100) bringt Wazuh bereits mit. Der Agent ist hier Transport für beide Quellen an den Manager wazuh.dkbi.com.
Repository einrichten
- GPG-Schlüssel importieren
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
chmod 644 /usr/share/keyrings/wazuh.gpg
- Repository hinzufügen
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" > /etc/apt/sources.list.d/wazuh.list
apt update
Agent installieren
- Agent mit Manager-Adresse und Namen installieren
WAZUH_MANAGER="wazuh.dkbi.com" WAZUH_AGENT_NAME="www" apt install -y wazuh-agent
- Dienst aktivieren und starten
systemctl daemon-reload
systemctl enable --now wazuh-agent
- Repository deaktivieren (verhindert ungewollte Updates)
sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
apt update
- Öffne das Wazuh-Dashboard, gehe zu Agent Management → Summary und prüfe, ob der Agent www mit Status Active erscheint
FIM auf das Upload-Verzeichnis
Lädt ein Angreifer über die File-Upload-Schwachstelle eine Webshell hoch, erkennt FIM die neue Datei in Echtzeit.
- Ergänze in /var/ossec/etc/ossec.conf den syscheck-Block:
<syscheck>
<directories check_all="yes" report_changes="yes" realtime="yes">/var/www/html/uploads</directories>
</syscheck>
- realtime="yes" liefert den Alert sofort beim Upload, nicht erst beim nächsten Scan
- report_changes="yes" zeigt bei Textdateien den Inhalt — bei einer PHP-Shell siehst du den Shell-Code direkt im Alert
Apache-Access-Log einbinden
Der Agent liest per Default nur die System-Logs (auth.log, syslog, dpkg.log). Das Apache-Access-Log muss explizit als Quelle eingetragen werden — ohne diesen Eintrag erreichen die Angriffszeilen den Manager nicht und die Kontrolle bleibt leer.
- Ergänze in /var/ossec/etc/ossec.conf den localfile-Block:
<localfile>
<log_format>apache</log_format>
<location>/var/log/apache2/access.log</location>
</localfile>
- Der Decoder web-accesslog greift auf den Inhalt der Logzeile, nicht auf das log_format — mit syslog funktioniert es genauso
- Erst dieser Eintrag füttert die Web-Attack-Regeln ab 31100
Agent neu starten
systemctl restart wazuh-agent
- Kontrolle, welche Dateien der Logcollector übernommen hat:
grep "Analyzing file" /var/ossec/logs/ossec.log
Kontrolle
- SQLi-Funktionstest von der Kali:
curl -XGET "https://www-dmz.it2XX.xinmen.de/?id=insert%20into%20users"
- Öffne im Dashboard Threat Hunting und filtere auf rule.id:31103
- Der Alert "SQL injection attempt" muss erscheinen
- Webshell-Test: Datei über das Upload-Formular hochladen → FIM-Alert unter rule.groups:syscheck