This guide provides comprehensive security hardening recommendations for Wazuh Dashboard deployments. Following these practices reduces attack surface, protects sensitive data, and ensures secure operations.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/wazuh/wazuh-dashboard-plugins/llms.txt
Use this file to discover all available pages before exploring further.
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