Wazuh Alerts in Microsoft Teams integrieren – mit Power Automate

Warum Power Automate statt klassischem Teams-Webhook?

Microsoft treibt die Nutzung von Power Automate Workflows als zentrale Integrationsplattform stark voran. Klassische „Incoming Webhooks“ in Teams gelten als eingeschränkt und sind funktional limitiert.
Mit Power Automate bekommen wir:

  • zentrale Verwaltung
  • bessere Sicherheit
  • flexible Weiterverarbeitung (Adaptive Cards, Filter, Conditions)
  • saubere HTTP-Endpunkte für externe Systeme wie Wazuh

In diesem Beitrag zeigen wir Schritt für Schritt, wie Wazuh Alerts automatisiert in einen Teams-Kanal gepostet werden.


Architektur-Überblick

Ablauf:

  1. Wazuh erzeugt einen Alert
  2. Wazuh-Integration ruft eine HTTP-Webhook-URL auf
  3. Power Automate Workflow nimmt den Request entgegen
  4. Der Workflow postet eine Nachricht in einen Teams-Kanal

Schritt 1: Power-Automate-Workflow in Microsoft Teams erstellen

Der einfachste Weg führt direkt über Microsoft Teams.

Workflow starten

  1. In Microsoft Teams einen Kanal öffnen
  2. Rechtsklick auf den Kanal → „Workflows“
  3. Workflow-Galerie öffnen

Workflow konfigurieren

Im nächsten Schritt wird der Workflow konfiguriert:

  • Name: z. B. WazuhAlerts
  • Microsoft Teams Team: z. B. I_CG-Netze
  • Microsoft Teams Kanal:
    z. B. Netze, Security, Linux DEV-Topics

Der Workflow nutzt eine bestehende Microsoft-Teams-Verbindung (Benutzerkonto), über die später gepostet wird.


Webhook-URL generieren

Nach dem Speichern zeigt Power Automate die entscheidende Information an:

„Workflow erfolgreich hinzugefügt!“
Sie können ihn ausführen, indem Sie eine POST-Anforderung stellen an:

➡️ Diese URL ist der Webhook-Endpunkt, den Wazuh später aufruft.

⚠️ Wichtig:

  • Die URL sicher aufbewahren
  • Nicht öffentlich teilen
  • Sie wird direkt in der Wazuh-Konfiguration verwendet

Schritt 2: Wazuh Integration vorbereiten

Da Wazuh keine native Power-Automate-Integration hat, nutzen wir eine Custom Integration.

Repository verwenden

Als Basis dient dieses Repository:

https://github.com/mimugmail/wazuh-repo/tree/main/integrations

Daraus werden folgende Dateien benötigt:

  • custom-teams
  • custom-teams.py

Dateien installieren

Beide Dateien müssen auf dem Wazuh Manager in folgendes Verzeichnis:

/var/ossec/integrations/

Beispiel:

sudo cp custom-teams custom-teams.py /var/ossec/integrations/

Berechtigungen korrekt setzen

Damit Wazuh die Integration ausführen kann:

sudo chown root:wazuh /var/ossec/integrations/custom-teams /var/ossec/integrations/custom-teams.py
sudo chmod 750 /var/ossec/integrations/custom-teams /var/ossec/integrations/custom-teams.py

Schritt 3: ossec.conf anpassen

Jetzt wird die Integration in Wazuh aktiviert.

Datei öffnen:

sudo nano /var/ossec/etc/ossec.conf

Innerhalb von <ossec_config> folgenden Block hinzufügen:

<integration>
  <name>custom-teams</name>
  <hook_url>YOUR_TEAMS_WEBHOOK_URL_HERE</hook_url>
  <level>15</level>
  <alert_format>json</alert_format>
</integration>

Erklärung der Parameter

  • name
    Muss exakt dem Skriptnamen entsprechen (custom-teams)
  • hook_url
    Die zuvor generierte Power-Automate-Webhook-URL
  • level
    Mindest-Alertlevel, ab dem eine Nachricht gesendet wird
  • alert_format
    json, damit Power Automate strukturierte Daten erhält

Schritt 4: Wazuh Manager neu starten

sudo systemctl restart wazuh-manager

Schritt 5: Test & Troubleshooting

Funktionstest

  • Einen Alert mit Level ≥ 15 erzeugen
    (alternativ temporär niedrigeren Level konfigurieren)

Logs prüfen

/var/ossec/logs/custom-teams.py.log
/var/ossec/logs/ossec.log

Typische Fehlerquellen:

  • falsche oder abgelaufene Webhook-URL
  • Workflow deaktiviert
  • Berechtigungsprobleme im Integration-Skript