-
Notifications
You must be signed in to change notification settings - Fork 140
Create cluster password change playbook (escluster) #782
Copy link
Copy link
Open
Labels
2.3.0Points: 4Story Point (2 days)Story Point (2 days)improvementThis issue or pull request will add new or improve existing functionalityThis issue or pull request will add new or improve existing functionality
Description
Part of: #737 (Eng Spec: Add clustering support for Elasticsearch)
Branch: cbaxley-737-implement-cluster
Description
As a system administrator, I want to change user passwords across all nodes in an LME cluster so that credentials stay synchronized and services continue to authenticate after a password rotation.
Acceptance criteria
- Playbook exists at
ansible/change_passwords.yml - Playbook accepts
lme_userandlme_passwordas extra vars - Playbook validates password length (min 12 chars, NIST SP 800-63B)
- Playbook checks password against Have I Been Pwned API (skippable with
offline_mode=true) - Playbook validates username is a known LME user (
elastic,kibana_system,wazuh,wazuh_api) - Playbook changes Elasticsearch user passwords via REST API (cluster-wide, single call)
- Playbook changes Wazuh passwords via RBAC tool (for
wazuh/wazuh_apiusers) - Playbook updates ansible-vault encrypted files and Podman secrets on master node
- Playbook handles paired Wazuh secrets (changing
wazuhalso updateswazuh_apiand vice versa) - Playbook distributes updated secrets to all cluster nodes via
secrets_distributionrole - Playbook restarts affected services (Kibana for ES users, Wazuh for Wazuh users)
- Playbook verifies cluster health after password change
- Playbook works for both single-node and multi-node deployments
- Test script exists at
testing/v2/development/test_change_passwords.sh - Test script validates password change, secret distribution, old password rejection, and restore
Status: ✅ Complete
Reactions are currently unavailable
Metadata
Metadata
Labels
2.3.0Points: 4Story Point (2 days)Story Point (2 days)improvementThis issue or pull request will add new or improve existing functionalityThis issue or pull request will add new or improve existing functionality
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
Status
👀 In Review