Supported Versions
Supported Versions
POST /security/user/authenticateBefore publishing this section, add the Wazuh versions formally validated by the AirMDR Engineering or Integration team:Β Supported Wazuh versions: <Add validated version range>Authentication
Authentication
- Wazuh server API username
- Wazuh server API password
- Wazuh server API Base URL
- SSL verification preference
POST /security/user/authenticateRole-based access
Wazuh RBAC controls access to API endpoints through users, roles, policies, actions, and resources. Wazuh recommends applying least privilege so that a user can access only the endpoints and resources it requires.Read and investigation permissions
Assign the following actions only when the corresponding AirMDR skills require them:ciscat:readΒ only for deployments and skills that still use the corresponding endpoints.Response permissions
Add the following permissions only when the corresponding AirMDR response skills are enabled:Pre-requisites
Users must have Administrator access to theΒ Wazuh dashboard with sufficient privileges to create an API user.Ensure that the Wazuh manager and Wazuh server API are operational.Allow the configured Wazuh API port through applicable firewalls. The default port isΒ55000/TCPUse a trusted TLS certificate when SSL verification is enabled.
https://<wazuh-manager>:55000.Setup Steps
Create a dedicated Wazuh API user
- Sign in to the Wazuh dashboard using an administrator account.
- Open the navigation menu.
- Navigate toΒ Server managementΒ βΒ SecurityΒ βΒ Users.
- ClickΒ Create userΒ orΒ Add new user, depending on the Wazuh version.
- Enter a dedicated username, for example:Β
airmdr-api. - Enter and confirm a strong password. Wazuh requires API user passwords to contain between 8 and 64 characters, including uppercase and lowercase letters, a number, and a symbol.
- Save the user.
- Securely record the username and password. These values must be entered in AirMDR.
Do not use the defaultΒ
wazuhΒ orΒwazuh-wuiΒ administrative accounts for the AirMDR integration.
Create the required API policies
- In the Wazuh dashboard, navigate to Server managementΒ βΒ SecurityΒ βΒ Policies.
- ClickΒ Create policy.
- Enter a descriptive policy name, such as
airmdr-investigation-read. - Set the policy effect to
allow. - Add the read actions required by the AirMDR skills, such as:
agent:readsyscheck:readrootcheck:readsca:readsyscollector:readrules:readdecoders:readmitre:readgroup:readcluster:readmanager:read - Select the Wazuh resources that AirMDR is permitted to access. For access to all applicable agents, groups, and nodes, the corresponding resource definitions can use wildcards such as:
agent:id:*agent:group:*group:id:*node:id:* - Save the policy.
- If response skills are required, create a separate policy, for example:
airmdr-response-actions. - Add only the approved response actions to the response policy.
Keep investigation permissions and response permissions in separate policies. This makes access reviews and troubleshooting easier.
Create a role and attach the policies
- Navigate to Server managementΒ βΒ SecurityΒ βΒ Roles.Β
- ClickΒ Create role.
- Enter a role name, for example:
airmdr-integration. - Attach theΒ
airmdr-investigation-readΒ policy. - If response actions are approved, attach theΒ
airmdr-response-actionsΒ policy. - Save the role.
Assign the role to the API user
- Navigate toΒ Server managementΒ βΒ SecurityΒ βΒ Users.
- Open theΒ
airmdr-apiΒ user. - Select the role-assignment option.
- Assign theΒ
airmdr-integrationΒ role. - Save the changes.
- Confirm that the user shows the assigned role.
Wazuh permissions are endpoint-specific. A successful authentication does not confirm that the user is authorized to run every AirMDR skill.
Determine the Base URL
https://<WAZUH_MANAGER_HOSTNAME_OR_IP>:<API_PORT>Example:Β https://wazuh-manager.example.com:55000The default Wazuh server API port isΒ 55000. It can be changed inΒ /var/ossec/api/configuration/api.yamlWazuh Credential Reference Table
Validate Connectivity
From a system that can reach the Wazuh manager, run:Sample Request
Sample Request
For a self-signed certificate during testing only:
For a self-signed certificate during testing only:
Sample Response
Sample Response
-kΒ option bypasses certificate validation and corresponds conceptually to settingΒ Verify SSLΒ toΒ false.Configure Wazuh in AirMDR Integrations Dashboard
- Navigate to AirMDR, provide the credentials and click Login
- Navigate to the AirMDR Integrations Dashboard in the left navigation pane and select ADMIN β Integrations.
- Use the search option, enter the keyword βWazuhβ, select the Connections tab, and click + New Connection button.
- Use the following values in the AirMDR integration configuration screen:
Use the WazuhΒ server API URL, not the Wazuh dashboard URL. The default Wazuh server API port isΒ
55000.ExpandΒ Advanced ConfigurationΒ if required. (Optional)
- InΒ Remote Agent, select an AirMDR Remote Agent when the Wazuh server API is hosted on a private network or is not directly accessible from AirMDR. Ensure that the selected Remote Agent can reach the configured WazuhΒ Base URLΒ and API port.
- InΒ Expiry, select the date on which AirMDR should treat the stored Wazuh credentials as expired, according to your organisationβs credential-rotation policy.
TheΒ ExpiryΒ setting does not rotate or expire the password in Wazuh automatically. After rotating the password in Wazuh, update the connection credentials in AirMDR.
- Click Save.
Integration Requirements
Required Permissions
Create a dedicated Wazuh API user for AirMDR and assign RBAC policies that include both the requiredΒ actionΒ andΒ resource scope.The permission format is: RBAC action β resource
For Example:
agent:read β agent:id:*, agent:group:*
*) grants access to all resources of that type. Replace wildcard resources with specific agent, group, node, role, policy, or user IDs when AirMDR requires access to only part of the Wazuh environment.Mandatory connection-test permission
AirMDR validates the connection by calling:GET /manager/info
Therefore, every AirMDR Wazuh connection requires:manager:read β ::*
Skills provided by this Integration
Agent and Fleet Visibility
Agent and Fleet Visibility
Investigation, Detection, and Compliance
Investigation, Detection, and Compliance
Response and Remediation
Response and Remediation
Platform Operations and Access Governance
Platform Operations and Access Governance
Additional Information
π§° Error Handling
π§° Error Handling
π Monitoring & Logs
π Monitoring & Logs
/var/ossec/logs/api.logThe default API log level isΒ info. Supported levels include:2026/08/19 12:30:10 INFO: airmdr-api 10.10.20.15 "POST /security/user/authenticate" with parameters {"raw": "true"} and body {} done in 0.210s: 200Example authorized request:Β 2026/08/19 12:30:11 INFO: airmdr-api 10.10.20.15 "GET /agents" with parameters {} and body {} done in 0.095s: 200Recommended logging
- UseΒ
infoΒ for normal operation. - Temporarily useΒ
debugΒ when investigating an integration issue. - Return toΒ
infoΒ after troubleshooting to reduce unnecessary log volume. - Review repeatedΒ
401,Β403,Β429, andΒ5xxΒ responses. - Do not include passwords or JWT values in troubleshooting tickets or shared logs.
π Security & Access Best Practices
π Security & Access Best Practices
β Do
- Create a dedicated Wazuh API user for AirMDR.
- Apply least-privilege policies based on enabled skills.
- Use a trusted TLS certificate.
- KeepΒ Verify SSLΒ set toΒ
trueΒ whenever possible. - Restrict the API port to approved AirMDR or Remote Agent source addresses.
- Store and rotate the password according to organizational policy.
- Monitor authentication, authorization, and response-action events.
β Donβt
- Using the defaultΒ
wazuhΒ orΒwazuh-wuiΒ account. - Assigning administrator access only to avoid permission errors.
- Reusing a personal administrator account.
- Disabling SSL verification permanently.
- Exposing portΒ
55000Β directly to the public internet. - Sharing API credentials or JWTs in documentation, screenshots, tickets, or logs.
- Granting response permissions when the integration uses only read operations.
π Support & Maintenance
π Support & Maintenance
- π§ Contact AirMDR Support through your designated support channel.
- π Rotate credentials (dedicated API-user password) regularly. Recommended cadence:Β As per your internal security policy
- π Reconnect with AirMDR immediately when secrets are changed.
- Monitor the Wazuh API certificate expiration date.
- Renew the certificate before it expires.
- Ensure that the certificate contains the hostname used in the AirMDR Base URL.
- Test the integration after certificate or certificate-authority changes.
- Review the assigned policies periodically.
- Remove permissions for disabled AirMDR skills.
- Separate read permissions from response permissions.
- ReviewΒ
active-response:commandΒ more frequently because it permits operational actions on endpoints. - Revalidate permissions after Wazuh or AirMDR upgrades.
π Data Flow & Security
π Data Flow & Security
- Wazuh agent information and status
- Agent groups and assignments
- File Integrity Monitoring results
- Rootcheck results
- Security Configuration Assessment results
- System and software inventory
- Wazuh rules and decoders
- MITRE ATT&CK metadata
- Wazuh manager and cluster information
- Wazuh server API communication uses HTTPS by default.
- AirMDR exchanges the configured credentials for a JWT and uses the JWT for subsequent API calls.
- The connection password is handled as a secret by AirMDR.
- SSL verification should remain enabled whenever a trusted certificate is available.
- Wazuhβs certificate files are normally stored under:Β
/var/ossec/api/configuration/ssl/

