Einleitung
Cross-Cluster Search (CCS) ermöglicht es, mehrere Wazuh-Cluster zentral über einen Wazuh-Indexer abzufragen und die aggregierten Daten im Dashboard darzustellen. Gerade in Multi-Site- oder Mandanten-Umgebungen ist CCS ein essenzieller Baustein für zentrale Security-Analysen, SOC-Betrieb und konsolidierte Incident-Response-Prozesse.
In der Praxis zeigt sich jedoch häufig ein Problem: Ein nach Dokumentation erstellter Read-Only-User kann sich zwar am Dashboard anmelden, erhält jedoch Fehler beim Laden von Indizes oder beim Zugriff auf entfernte Cluster. Dieser Beitrag analysiert die Ursache und zeigt, welche RBAC-Konfiguration für CCS tatsächlich erforderlich ist.
Ausgangslage / Problemstellung
In einer bestehenden Multi-Cluster-Umgebung wurde Cross-Cluster Search gemäß offizieller Anleitung eingerichtet:
- Mehrere Wazuh-Cluster (Remote Cluster)
- Zentrale CCS-Instanz
- Indexer-Cluster mit aktivierter Cross-Cluster-Konfiguration
- Dashboard-Zugriff über einen dedizierten Benutzer
Ziel war es, einen Benutzer mit ausschließlich lesenden Berechtigungen (Read-Only) einzurichten – entsprechend der offiziellen RBAC-Dokumentation.
Symptom:
- Anmeldung am Wazuh-Dashboard funktioniert
- Beim Zugriff auf Alerts oder andere Indizes erscheint ein Fehler
- Indizes aus Sub-Clustern werden nicht geladen
- CCS-Abfragen schlagen fehl
Erste Analyseannahme: Der Benutzer hat keine ausreichenden Rechte auf die Remote-Cluster-Indizes.
Diese Annahme ist korrekt – aber mit einer wichtigen architektonischen Einschränkung.
Technische Analyse
Warum ein Standard-Read-Only-User bei CCS scheitert
In einer Single-Cluster-Umgebung reicht ein klassischer Read-Only-User mit folgenden Index-Rechten typischerweise aus:
- Index Pattern:
* - Berechtigungen:
readindices:data/read/search
In einer CCS-Architektur sieht die Situation jedoch anders aus.
Architekturhintergrund
Bei Cross-Cluster Search läuft die Anfrage technisch wie folgt:
- Der Benutzer authentifiziert sich am zentralen Wazuh-Dashboard.
- Das Dashboard führt die Suchanfrage gegen den lokalen Wazuh-Indexer aus.
- Der Indexer leitet die Anfrage an konfigurierte Remote-Cluster weiter.
- Die Ergebnisse werden aggregiert zurückgegeben.
Entscheidend:
Die Berechtigungen müssen nicht nur lokal greifen, sondern auch für die Cross-Cluster-Operation selbst ausreichen.
OpenSearch (und damit der Wazuh Indexer) prüft bei CCS:
- Cluster-Level-Permissions
- Index-Level-Permissions
- Backend-Rollen-Mapping
- Kibana/Dashboard-Zugriffsrechte
Ein reiner Read-Only-Role-Mapping-Ansatz gemäß Basisdokumentation ist für CCS nicht ausreichend.
Warum „read + search“ nicht genügt
Cross-Cluster-Operationen benötigen intern zusätzliche Rechte, insbesondere:
- Zugriff auf Cluster-Metadaten
- Berechtigungen für Remote-Index-Resolution
- Dashboard-spezifische Rechte (kibanauser)
Ein minimal konfigurierter Read-Only-User besitzt diese Rechte nicht, weshalb:
- Remote-Indizes nicht aufgelöst werden
- Index-Muster nicht geladen werden
- Dashboard-Visualisierungen fehlschlagen
Das Problem liegt also nicht in der reinen Index-Berechtigung, sondern im fehlenden Rollen-Mapping für CCS-relevante Operationen.
Lösung / Best Practices
Empfohlene Lösung für CCS-Umgebungen
Für Benutzer, die Cross-Cluster Search nutzen sollen (auch read-only), müssen zusätzliche Backend-Rollen vergeben werden.
Bewährte Konfiguration:
- Neuen internen Benutzer erstellen
- Backend-Rollen zuweisen:
readallkibanauser
Diese Rollen stellen sicher:
- Vollständiger Lesezugriff auf alle Indizes
- Zugriff auf Cluster-Metadaten
- Dashboard-Funktionalität
- Kompatibilität mit CCS-Operationen
Umsetzungsschritte
- Im Wazuh Dashboard zu: Security → Internal users → Create internal user
- Benutzername und Passwort festlegen
- Backend Roles hinzufügen: readall
kibanauser - Benutzer speichern
- Optional:
- Browser-Cache löschen
- Inkognito-Fenster verwenden
- Neue Anmeldung durchführen
Nach dieser Anpassung funktionieren CCS-Abfragen erwartungsgemäß.
Lessons Learned / Best Practices
1. CCS ist kein reines Index-Feature
Cross-Cluster Search erfordert:
- Cluster-Level-Rechte
- Metadata-Zugriff
- Dashboard-spezifische Rollen
RBAC muss diese Architektur berücksichtigen.
2. Multi-Site-Umgebungen erfordern erweiterte Rollenmodelle
In Multi-Site-Implementierungen empfiehlt es sich:
- Rollen getrennt für:
- Lokale Cluster
- Remote Cluster
- Zentrale CCS-Instanz
- Rollenvererbung klar zu dokumentieren
- Backend-Rollen statt reinem Index-Mapping zu verwenden
3. „Least Privilege“ muss CCS-fähig gedacht werden
Ein klassischer Least-Privilege-Ansatz kann in CCS-Umgebungen zu Funktionsverlust führen.
Empfehlung:
- Technische Mindestanforderungen zuerst erfüllen
- Danach granular einschränken
- CCS-Funktionalität immer gegen Remote-Indizes testen
4. Rolle „readall“ ist in CCS-Setups oft technisch notwendig
Auch wenn der Name nach umfassendem Zugriff klingt, ist diese Rolle in vielen CCS-Szenarien notwendig, um:
- Remote-Indizes korrekt aufzulösen
- Aggregierte Suchanfragen durchzuführen
- Dashboard-Visualisierungen stabil zu laden
Eine reine Index-spezifische Read-Only-Rolle reicht nicht aus.
Fazit
In Wazuh-Umgebungen mit Cross-Cluster Search funktioniert ein klassischer Read-Only-User gemäß Standard-RBAC-Dokumentation nicht zuverlässig.
CCS benötigt zusätzliche Cluster- und Dashboard-Rechte, die durch die Backend-Rollen readall und kibanauser bereitgestellt werden.
Wer Multi-Cluster-Architekturen betreibt, sollte RBAC nicht isoliert betrachten, sondern im Kontext von:
- OpenSearch-Security
- Cluster-Level-Operationen
- Dashboard-Interaktionen
- Remote-Index-Auflösung
Nur so lässt sich ein stabiler, sicherer und funktionaler Multi-Site-Betrieb gewährleisten.
Quellen
Managing multiple Wazuh clusters with Cross-Cluster Search
https://wazuh.com/blog/managing-multiple-wazuh-clusters-with-cross-cluster-search/
Wazuh RBAC – Creating and setting a read-only user
https://documentation.wazuh.com/current/user-manual/user-administration/rbac.html#creating-and-setting-a-wazuh-read-only-user
Wazuh Multi-Site Implementation
https://wazuh.com/blog/wazuh-multi-site-implementation/
OpenSearch – Defining users and roles
https://opensearch.org/docs/latest/security/access-control/users-roles/
OpenSearch – Permissions
https://opensearch.org/docs/latest/security/access-control/permissions/
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/C07BZJY86G3/p1770011964180369