Overview
Security hardening for Wazuh Dashboard encompasses:- Access control - Authentication, authorization, and privilege management
- Transport security - Encryption and certificate management
- Operational security - Configuration management and monitoring
- Network security - Firewall rules and network segmentation
- Data protection - Sensitive data handling and backup security
docs/ref/security.md
Access control
Implement robust access control mechanisms to restrict dashboard access to authorized personnel.Change default credentials
Replace default administrative credentials immediately after installation:-
Access the Wazuh Dashboard using default credentials:
- URL:
https://<WAZUH_DASHBOARD_IP_ADDRESS> - Username:
admin - Password:
admin
- URL:
- Navigate to Security or use the Security plugin API to update credentials
-
Create a strong administrative password:
- Minimum 12 characters
- Combination of uppercase, lowercase, numbers, and special characters
- No dictionary words or common patterns
- Unique to the Wazuh Dashboard (not reused across systems)
-
Update the indexer user credentials:
Implement Single Sign-On (SAML)
Configure SAML authentication for centralized identity management:SAML configuration
- Configure the security plugin in the Wazuh Indexer (
config.yml):
docker/wazuh-4.7/config/wazuh_indexer/config-saml.yml
- Update the Wazuh Dashboard configuration (
opensearch_dashboards.yml):
Role mapping
Configure role-based access control through SAML assertions:- Map SAML roles to Wazuh Dashboard roles
-
Define granular permissions for each role:
- Administrator: Full access to all features and configuration
- Analyst: Read-only access to security events and dashboards
- Operator: Limited access to specific modules or agent groups
- Validate role mappings after authentication
Restrict administrative access
Limit access to administrative functions:- Dashboard Management access should be restricted to administrators only
- Implement principle of least privilege for user accounts
- Create service accounts for API integrations with minimal required permissions
- Regularly audit user permissions and remove unnecessary access
- Implement multi-factor authentication where supported by the identity provider
Session management
Configure secure session parameters:- Configure appropriate session timeouts based on security requirements
- Disable session keepalive for sensitive environments
- Implement automatic logout after inactivity periods
Transport security
Secure all network communications with encryption and proper certificate management.TLS/SSL configuration
Configure TLS encryption for all communications:Dashboard to Indexer
docs/ref/getting-started/installation.md:144
Dashboard HTTPS
Wazuh API connection
docs/ref/getting-started/installation.md:146
Certificate management
Implement secure certificate lifecycle management:Certificate generation
- Use strong key sizes (minimum 2048-bit RSA or 256-bit ECC)
- Generate certificates with appropriate Subject Alternative Names (SANs)
- Use internal Certificate Authority or trusted commercial CA
- Document certificate inventory and expiration dates
Certificate deployment
-
Create certificate directory with restricted permissions:
-
Deploy certificates with secure ownership and permissions:
docs/ref/getting-started/installation.md:166
Certificate rotation
- Monitor certificate expiration dates
- Plan certificate renewal 30-60 days before expiration
- Test renewed certificates in non-production environments
- Implement rolling updates to minimize service disruption
- Update all configuration references to new certificates
Certificate validation
Configure appropriate certificate verification:certificate: Validate certificate chain and expirationfull: Validate certificate and hostname matchnone: Disable validation (not recommended for production)
TLS protocol configuration
Enforce modern TLS protocols and cipher suites:- Disable TLS 1.0 and 1.1
- Prefer TLS 1.3 where supported
- Disable weak cipher suites
- Configure Forward Secrecy
Network security
Implement network-level controls to restrict access to the dashboard.Firewall configuration
Restrict network access to required ports:IP whitelisting
Restrict access to trusted IP ranges:Private networking
Deploy Wazuh Dashboard in private networks:- Place dashboard in private subnet without direct internet access
- Use VPN or bastion hosts for administrative access
- Route internet-bound traffic through NAT gateway for updates
- Implement network segmentation between dashboard, indexer, and agents
Reverse proxy deployment
Deploy a reverse proxy for additional security:Operational security
Maintain secure operational practices for ongoing security.Keep software updated
Implement regular update procedures:- Subscribe to Wazuh security advisories
- Test updates in non-production environments
- Schedule maintenance windows for updates
- Follow upgrade procedures documented in the release notes
- Backup configuration before applying updates
docs/ref/upgrade.md:46
Configuration management
Secure configuration files:-
Restrict file permissions:
- Version control configuration files (excluding sensitive credentials)
- Implement configuration validation before deployment
- Document all configuration changes
- Maintain separate configurations for different environments
Secrets management
Protect sensitive credentials:- Never commit credentials to version control
- Use environment variables or secret management systems for credentials
- Rotate credentials regularly (quarterly or after personnel changes)
- Implement audit logging for credential access
- Encrypt credentials at rest
Audit logging
Enable comprehensive audit logging:-
Configure OpenSearch audit logging:
-
Monitor dashboard access logs:
- Centralize logs to SIEM or log management platform
-
Configure alerts for suspicious activities:
- Failed authentication attempts
- Privilege escalation attempts
- Configuration changes
- Unusual access patterns
Backup security
Secure backup procedures:- Backup critical components:
- Configuration files:
/etc/wazuh-dashboard/opensearch_dashboards.yml - TLS certificates:
/etc/wazuh-dashboard/certs/ - Saved objects and dashboards
- Configuration files:
docs/ref/backup-restore.md:8
- Encrypt backups at rest and in transit
- Store backups in secure, access-controlled locations
- Test backup restoration procedures regularly
- Implement backup retention policies
- Document backup and recovery procedures
Security monitoring
Implement continuous security monitoring:- Monitor authentication failures and unauthorized access attempts
- Track configuration changes and administrative actions
- Alert on certificate expiration approaching
- Monitor system resource utilization for anomalies
- Review security logs regularly
Data protection
Protect sensitive data within the dashboard environment.Saved object review
Regularly review saved objects for sensitive data:- Navigate to Stack Management > Saved Objects
- Review visualizations, dashboards, and searches
- Identify objects containing sensitive queries or filters
- Remove or restrict access to sensitive objects
- Implement naming conventions to identify sensitive content
Notification channel security
Secure external integration credentials:- Review notification channels for embedded credentials
- Use webhook URLs without embedded secrets where possible
- Rotate integration API keys regularly
- Restrict who can create or modify notification channels
- Audit notification channel usage
Index-level security
Implement field-level and document-level security:- Configure field masking for sensitive data (PII, credentials)
- Implement document-level security to restrict data access by user role
- Use read-only aliases for analyst access
- Audit index access patterns
Data retention
Implement appropriate data retention policies:- Define retention periods based on compliance requirements
- Configure Index State Management (ISM) policies
- Securely delete expired data
- Archive long-term data to secure, encrypted storage
- Document retention policy rationale
Compliance considerations
Align security hardening with regulatory requirements:PCI DSS
- Implement strong access control (Requirement 7, 8)
- Encrypt data in transit (Requirement 4)
- Maintain audit logs (Requirement 10)
- Regular security testing (Requirement 11)
HIPAA
- Access control and authentication (164.312(a))
- Encryption and integrity controls (164.312(e))
- Audit controls (164.312(b))
- Transmission security (164.312(e)(1))
GDPR
- Access control and authorization (Article 32)
- Encryption of personal data (Article 32)
- Ability to ensure confidentiality (Article 32)
- Regular testing of security measures (Article 32)
Security checklist
Use this checklist to validate security hardening:- Default administrative credentials changed
- SAML SSO configured with role-based access control
- TLS 1.2+ configured for all communications
- Valid certificates deployed with proper permissions
- Certificate expiration monitoring implemented
- Firewall rules restrict access to required ports only
- Dashboard deployed in private network segment
- Configuration files have restricted permissions
- Secrets stored securely (not in configuration files)
- Software update process documented and scheduled
- Audit logging enabled and monitored
- Backup procedures documented and tested
- Saved objects reviewed for sensitive data
- Notification channels secured
- Data retention policies implemented
- Security monitoring alerts configured
Troubleshooting
Certificate errors
- Verify certificate paths in
opensearch_dashboards.ymlare correct - Check certificate file permissions (should be 400)
- Validate certificate chain includes root CA
- Confirm certificate has not expired
- Verify hostname matches certificate CN or SAN
SAML authentication issues
- Verify IdP metadata URL is accessible
- Check exchange key configuration matches between components
- Validate role mapping configuration
- Review security plugin logs for SAML errors
- Confirm callback URLs are whitelisted
Connection failures
- Verify TLS configuration matches between dashboard and indexer
- Check firewall rules allow required ports
- Validate certificate verification mode settings
- Test connectivity using curl or openssl commands
- Review network security group or ACL configurations
Related resources
- Installation guide for initial certificate deployment procedures
- Upgrade guide for maintaining security during updates
- Backup and restore guide for securing configuration backups
- Migration guide for security considerations during platform migrations