Einleitung
Der Betrieb von Wazuh auf Kubernetes bringt viele Vorteile in Bezug auf Skalierbarkeit und Automatisierung – erhöht aber gleichzeitig die Komplexität bei sicherheitsrelevanten Änderungen. Besonders deutlich wird dies beim Ändern von Benutzerpasswörtern für Indexer- und API-Komponenten. Ein scheinbar einfacher Vorgang kann schnell zu Authentifizierungsfehlern oder nicht mehr erreichbaren Services führen, wenn die Abhängigkeiten zwischen Secrets, Pods und internen Wazuh-Komponenten nicht korrekt berücksichtigt werden.
Dieser Beitrag analysiert einen Community-Fall, in dem Passwortänderungen in einer lokalen Kubernetes-Deployment-Variante nicht wie erwartet funktionierten, obwohl die offizielle Dokumentation befolgt wurde.
Ausgangslage / Problemstellung
Die Umgebung basierte auf einer lokalen Kubernetes-Installation von Wazuh gemäß offizieller Anleitung:
https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html
Der Administrator versuchte, sowohl Indexer-Benutzer (admin, kibanaserver) als auch Wazuh Server API Benutzer zu aktualisieren. Dabei traten folgende Unsicherheiten und Probleme auf:
- Passwortänderung schlug fehl, obwohl alle Schritte dokumentationskonform ausgeführt wurden
- Mehrere Benutzer wurden gleichzeitig geändert
- Unklarheit über:
- notwendige Rollouts vs. Pod-Löschung
- Unterschiede zwischen Indexer- und API-Benutzern
- Abweichungen zwischen Docker- und Kubernetes-Dokumentation
- Keine offensichtlichen Fehler in den Logs
Die relevanten Dokumentationsseiten:
- Kubernetes Passwortänderung:
https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html#change-the-password-of-wazuh-users - Docker-Deployment (zum Vergleich):
https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html#wazuh-indexer-user - Wazuh Server API Benutzer:
https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html#wazuh-server-api-users
Technische Analyse
Unterschiedliche Benutzerklassen, unterschiedliche Mechanismen
In Wazuh auf Kubernetes existieren zwei klar getrennte Authentifizierungsbereiche:
- Wazuh Indexer Benutzer
- Definiert in
internal_users.yml - Abgebildet in Kubernetes Secrets (z. B.
indexer-cred-secret.yaml) - Müssen aktiv in den Indexer geladen werden (
securityadmin.sh)
- Definiert in
- Wazuh Server API Benutzer
- Definiert ausschließlich über Kubernetes Secrets
- Keine Indexer-Abhängigkeit
- Kein
securityadmin.sherforderlich
Diese Trennung ist funktional korrekt, wird in der Praxis jedoch häufig vermischt – insbesondere, wenn mehrere Passwörter gleichzeitig geändert werden.
Zentrales Problem: Gleichzeitige Passwortänderung
Das gleichzeitige Ändern mehrerer Benutzer (z. B. admin und kibanaserver) kann zu inkonsistenten Zuständen führen:
- Ein Pod startet bereits mit neuen Secrets
- Ein anderer verwendet noch alte Credentials
- Ergebnis: Authentifizierungsfehler ohne klare Log-Hinweise
Gerade in Kubernetes, wo Pods asynchron neu gestartet werden, ist dies ein klassischer Race Condition-Effekt.
Session-Cookies als zusätzliche Fehlerquelle
Ein oft übersehener Punkt: aktive Dashboard-Sessions.
Wenn man vor der Passwortänderung nicht aus dem Wazuh Dashboard ausgeloggt ist, bleiben alte Session-Cookies bestehen. Nach der Passwortänderung äußert sich das häufig als:
- Login-Seite nicht erreichbar
- „Unauthorized“-Fehler trotz korrekter Zugangsdaten
Siehe dazu auch:
https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html#logging-out-of-your-wazuh-dashboard
Rollout vs. Pod-Deletion
Die Dokumentation verwendet stellenweise explizite Pod-Namen und kubectl delete pod …. Diese sind nur Beispiele.
Technisch entscheidend ist:
- Pods müssen neu starten, damit sie Secrets neu einlesen
kubectl rollout restartist funktional gleichwertig und deutlich sauberer
Für lokale Kubernetes-Deployments gilt zudem:
kubectl apply -k envs/local-env/
Dies entspricht dem in der Dokumentation erwähnten „Apply the manifest changes“, auch wenn dort primär EKS genannt wird.
Lösung / Best Practices
Empfohlene Reihenfolge für Passwortänderungen
1. Abmelden vom Wazuh Dashboard
Vor jeder Änderung zwingend erforderlich.
2. Benutzer einzeln ändern – niemals parallel
- Erst
admin, vollständig testen - Danach
kibanaserver - Danach ggf. API-Benutzer
3. Indexer-Benutzer
internal_users.ymlanpassen- Kubernetes Secret aktualisieren
- Manifeste anwenden
securityadmin.shausführen- Dashboard- und Manager-Pods neu starten
4. API-Benutzer
wazuh-api-cred-secret.yamländern- Manifeste anwenden
- Manager- und Dashboard-Pods neu starten
- Kein
securityadmin.sh
Passwortanforderungen beachten
API-Benutzer:
- 8–64 Zeichen
- Groß- und Kleinbuchstaben
- Zahl
- Sonderzeichen
Indexer-Benutzer:
- Keine
$oder&verwenden (Probleme mit Kubernetes Secrets) - Keine benutzerdefinierten User vergessen – sonst werden sie entfernt
Lessons Learned / Best Practices
- Passwortänderungen in Kubernetes sind kein atomarer Vorgang
- Dokumentation beschreibt Schritte korrekt, aber nicht immer die Hintergründe
- Gleichzeitige Änderungen mehrerer Benutzer vermeiden
- Rollout-Restarts sind sauberer als Pod-Deletion
- Logs können trotz Fehlern unauffällig bleiben – Reihenfolge ist entscheidend
- Docker- und Kubernetes-Deployments sind nicht 1:1 vergleichbar
Fazit
Passwortänderungen in Wazuh auf Kubernetes scheitern selten an einzelnen Befehlen, sondern fast immer an Reihenfolge, Parallelität und fehlender Trennung der Benutzerklassen. Wer Indexer- und API-Benutzer sauber auseinanderhält, Änderungen sequenziell durchführt und Pods gezielt neu startet, vermeidet unnötige Ausfälle und schwer nachvollziehbare Authentifizierungsprobleme.
Der analysierte Community-Fall zeigt, dass selbst korrekt befolgte Dokumentation ohne architektonisches Verständnis zu Frustration führen kann – und warum Best Practices im Kubernetes-Betrieb entscheidend sind.
Mehr zu Wazuh …
https://wazuh.com/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program
Mehr zum Wazuh Ambassador Program …
https://wazuh.com/ambassadors-program/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program
https://wazuh.slack.com/archives/C0A933R8E/p1766721893247749