What Wazuh security configuration assessment checks and when teams need it
Wazuh security configuration assessment (SCA) evaluates endpoint configuration against policy checks and reports each check as a pass or fail result. The results travel through the Wazuh agent and server, so a security or platform lead who must show that endpoints match a hardening standard and an internal baseline can review the outcome in the same place as other security data. The check itself runs on the endpoint, the server analyzes what the agent reports, and the dashboard presents the results to the team.
Wazuh has four components: the Wazuh indexer, which stores alerts and supports search and analytics; the Wazuh server, which analyzes agent data with decoders and rules; the Wazuh dashboard, which is the web interface; and the Wazuh agents installed on endpoints. SCA results flow through the same pipeline as other alerts, which means a failed check can be filtered, grouped by endpoint or policy, and handled with the same ownership and retention rules you apply to other security events. Confirm with your own environment how your team wants SCA findings routed, since the dashboard and indexer settings determine who sees what.
Teams usually reach for SCA in three situations. The first is as a hardening baseline: a policy is loaded, the endpoints are scored against it, and the failing checks become the work list for remediation. The second is as a drift check after builds: when a new image or a configuration change goes out, the same policies show whether a host has moved away from the expected state. The third is as input to compliance evidence, where the pass and fail history supports a control narrative. Before you commit to any of these uses, ask which policies your standard requires, who approves exceptions, and how long results must be kept.
SCA reports configuration state. It does not replace a hardening project, which decides what the target configuration should be and who changes it. It does not replace a configuration management tool, which applies and keeps settings in place. It does not replace an independent audit, which tests whether your controls work and issues any opinion about them. A failing check tells you where a host differs from the policy, not why the difference exists or whether the policy itself is right for your environment.
Plan the first project around those limits. Decide which endpoint groups are in scope, which policies apply to each group, and who owns the response when a check fails. Record exceptions with a reason and an expiry so that a deliberate deviation does not look like an unnoticed gap. The default policies are a starting point, and the effort to tune them to your builds is part of the work to plan, not something SCA handles on its own.
Configuration options and when each fits
This table compares four ways to configure Wazuh SCA on the 4.14 release line. Read each row for the conditions where it fits, the ownership the team must accept and the trade-off that usually decides the choice. Confirm policy file locations, agent group mechanics and scheduling parameters against the Wazuh documentation for your exact 4.14 patch before you build.
| Option | When it fits | What the team needs | Main trade-off |
|---|---|---|---|
| Default CIS-based policies as shipped | Early assessments, or teams that have no documented internal baseline yet | Someone to review results and triage failed checks, plus test endpoints to confirm findings | Broad coverage with little setup, but failed checks may differ from your approved settings and create false positives |
| Adapt a default policy | Most checks apply, but a few settings differ from your own standard | A named baseline owner, documented exceptions and test endpoints for each change | Fewer false positives, but every edit needs review when the default policy is updated |
| Custom YAML policy for an internal baseline | Organizations with an approved internal hardening standard to measure against | YAML authoring skills, a baseline owner, change control and a representative test group | Closest match to your standard, but the team carries all maintenance and the policy drifts without review |
| SCA on all agents | Uniform fleets where one policy set applies to every endpoint | An agreed policy scope per platform and capacity planned for scan load | Simplest to operate, but mixed server roles produce noise that hides real gaps |
| SCA on a defined agent group | Hosts with different roles, such as domain controllers, database servers or web tier | Group membership ownership, a mapping of roles to policies and change control for moves between groups | Precise coverage per role, but misplaced agents go unchecked and group upkeep adds ongoing work |
Setting up Wazuh security configuration assessment step by step
This sequence takes SCA from a version and scope decision to a documented baseline with a named owner and a change process. Each step closes with a check the team can run, so the output is evidence that the assessment works on your endpoints.
Confirm the Wazuh version and agent platforms
The platform team records the Wazuh server, indexer, dashboard and agent versions in use, then lists every operating system and version that will run agents in scope, including any Windows, macOS, Solaris, AIX or HP-UX hosts. SCA coverage can differ by agent platform and version, so the team checks the Wazuh documentation for SCA on each platform and notes any gaps. Check: an inventory table with one row per operating system family, where each row is confirmed against the documentation and by a test agent that reports to the server.
Map default policies to endpoint groups
The security engineer reviews the default SCA policies that ship with Wazuh, which are based on CIS benchmarks, and matches each policy to an agent group such as web servers, domain controllers or developer workstations. Groups are defined on the Wazuh server, and the mapping is written down with the reason for each policy. Some policies will not fit a host's role, so the engineer decides which to disable for that group and records the decision. Check: a group-to-policy matrix signed off by the platform and security leads.
Enable SCA through centralized agent configuration
The platform engineer enables the SCA module in the agent configuration that the Wazuh server manages for each group, so changes reach agents from one place and can be versioned with the rest of the configuration. The engineer confirms the scan settings in the Wazuh documentation for the version in use. Check: each test agent in the group shows its SCA policies as loaded and reports a scan result back to the server.
Author and pilot custom policies
Where the internal baseline differs from the default CIS-based policies, the security engineer writes custom YAML policy files that describe each check, its condition and its expected result, following the policy format in the Wazuh documentation. The custom policy is loaded first only on a pilot group of representative hosts. Check: the team deliberately misconfigures one test endpoint, for example by changing a setting the policy inspects, and confirms the check fails with the expected description. It then confirms that a correctly configured host passes the same check.
Schedule scans and confirm first results
The platform engineer sets the scan interval for each group, weighing coverage against load on production hosts, and then runs or waits for the first scan. Ask the vendor or the documentation for the default interval in your version before changing it. The team confirms that the scan completes on every operating system family in the inventory and that failed checks carry their policy and check identifiers. Check: a completion record for each platform family, plus passed and failed counts that the team can reproduce on a second scan run.
Verify results in the dashboard and alerts
The analyst opens the SCA view in the Wazuh dashboard and checks that the pilot agents appear with their policies, scores and failed checks. The analyst then searches the alert data in the Wazuh indexer for SCA events and confirms that the fields match what the dashboard shows. Check: one deliberately failed check on the test endpoint appears in both places with the same policy and check identifiers. If the events do not reach the indexer, the team reviews the path from agent to server to indexer before moving on.
Document the baseline owner and change process
The security lead names an owner for each baseline and records who approves policy changes, how custom policies are versioned, and how a change is piloted before it reaches production groups. The document also states how SCA results serve as configuration evidence for internal reviews and which framework controls the team maps them to, using control IDs and the team's own wording. Check: one pilot change that the owner has approved and recorded, with the dashboard evidence attached.
Turning SCA results into configuration evidence an auditor can follow
An SCA result is a record of what a check found on one endpoint at one moment. It is not a finding that the organization is compliant, and it is not a decision about what to do next. Auditors look for the chain that connects the two: a named control, the check that tests it, the evidence showing the result, and a documented decision for every failure. Build that chain before the first scan goes into a report, because reconstructing it after an assessment starts is slow and often incomplete. Start by mapping each policy check to a control in the framework or internal standard you are assessed against. The Wazuh SCA policies are based on CIS benchmark recommendations, so the check titles and IDs do not map one to one onto control IDs in PCI DSS, GDPR, HIPAA or NIST 800-53. Keep the mapping in a version-controlled table with the policy file name, the check ID, the control ID and the mapping owner. Where one check supports several controls, record all of them. Where a control needs evidence that no SCA check provides, say so in the table rather than leaving a gap that looks covered. Retain results in a form that carries its own context. Each exported record should include the scan date and time, the endpoint identifier and hostname, the agent ID, the policy name and version, and the result for each check. Confirm with your Wazuh team which fields the dashboard export and the indexer API return in your release, and test one export against a known endpoint before relying on it. Store the exports in a location with its own retention period and access controls, and keep a copy of the policy files used for each scan, since a result is only interpretable against the policy that produced it. A failing check is an input to a decision, not the decision itself. For each failure, the organization chooses one of three paths: remediate the setting, accept the risk with a documented rationale, or exclude the check because it does not apply to that system. Record the chosen path, the approver and the reason. Exceptions need an owner, a compensating control where one exists, and a review date that forces the question to be asked again. Auditors tend to test exceptions closely, so an exception with no review date or an owner who has left the organization is a common finding. The Wazuh dashboard includes prebuilt compliance views for PCI DSS, GDPR, HIPAA and NIST 800-53, which can speed up the first review of results. Treat those views as a starting point and confirm how each one maps SCA results to the framework requirements in your version. DeployOpen can plan the mapping, prepare the evidence set and document the exception process for your environment. DeployOpen does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations.
Security and operational considerations for SCA deployments
Security Configuration Assessment results describe how each endpoint is configured, and custom policies run checks on those endpoints. The points below cover the access, change control, scheduling, release and licensing decisions that a CISO or platform lead should settle before SCA runs across the estate.
Access to SCA results
SCA findings describe configuration detail for each endpoint, including which checks passed and which failed. Treat the Wazuh dashboard and the Wazuh indexer as holding that data, and map read and export access to your existing access model so that only staff who need endpoint configuration detail can query it. Confirm who can view agent-level SCA results, who can export them and how that access is logged and reviewed.
Custom policy change control
Custom SCA policies are YAML files that define the checks Wazuh runs on endpoints, so a policy change alters what runs on production hosts. Keep policy files under version control and send edits through the same review and approval path as other configuration changes. Ask who approves a new check, how a policy is rolled back and where the approved version is recorded for auditors.
Scheduling scan load on endpoints
SCA evaluates its checks on the endpoint itself, so scan frequency and timing add load to hosts that run business workloads. Set scan schedules per host group, keep them out of peak processing windows and test the effect on representative hosts before enabling a policy across the fleet. Record the schedule and the observed impact so that operations can explain any change in host performance.
Testing updates against the release cadence
Wazuh shipped 4.14 patch releases on 17 March, 23 April, 1 July, 29 July, 23 September and 14 October 2026, so the 4.14 line changes several times a year. Subscribe to the release notes, schedule a review for each patch and test agent and policy updates in a non-production group before rollout. Confirm the compatibility rules in the upgrade documentation for each component you run, including the server, indexer, dashboard and agents.
Open-source license obligations
Wazuh is distributed under the GNU General Public License version 2, with an exception that permits linking with the OpenSSL library. The self-hosted software carries no license fee, but if you modify Wazuh source code and distribute the modified binaries outside your organization, GPLv2 obligations apply to that distribution. Ask counsel whether your custom policy files and integrations count as modifications before you package or ship any changed build.
Scheduling scans and keeping policies current over time
After go-live, Security Configuration Assessment stops being a project and becomes a recurring schedule of reviews. The first decision is scan frequency per endpoint group. Set the SCA scan interval through the agent group configuration that the Wazuh server pushes to agents, not host by host. Base each group's frequency on two factors: how often the host's configuration changes and how much damage a drift would cause. Domain controllers, bastion hosts and internet-facing servers usually justify more frequent scans than stable build hosts. Confirm the interval options and their defaults in the documentation for the version you run before you publish the schedule.
Once scans run, the operational load shifts to the results. Review checks that fail on a large share of hosts and sort them into two groups. Some failures point to a baseline that does not fit your environment, such as a service your platform team requires. Others point to real drift. Only the first group should lead to policy changes. Keep every change to a custom YAML policy under version control with a written reason, and retire checks that no longer match the approved baseline in the same way. Renew each documented exception on a fixed review date so that accepted failures do not quietly become permanent.
Operating system releases and Wazuh agent upgrades can change check results without any change to your hosts. A new OS release may alter a file path, a default setting or a service name that a check reads. An agent or server upgrade may change how SCA evaluates a check. Test every agent and server update against your full policy set on a pilot group that matches your production mix before wide rollout. Compare pass and fail results on the same hosts before and after the change, and treat unexplained movement as a defect in the policy until someone proves otherwise.
Wazuh publishes 4.14 patch releases in its release notes, with dated releases on 17 March, 23 April, 1 July, 29 July, 23 September and 14 October 2026. Each release may change SCA behavior, so do not assume that a patch is neutral. For every release you adopt, read the notes, confirm which SCA behavior changed and record the result of your pilot comparison. Ask your Wazuh contact or support channel to confirm any change that the notes do not describe clearly. Keep this record with your evidence so that an auditor can see why a result moved between two assessment periods.
The one-time work covers policy design, the pilot, baseline sign-off and the scheduling model for each endpoint group. The recurring work covers periodic review of noisy and retired checks, schedule changes as systems change, exception renewal and regression testing for each OS release or agent upgrade. When you request a quote from DeployOpen or any other partner, ask for the one-time and recurring effort separately, and ask which upgrade tests and exception reviews are included in each. A quote that lists only the initial build leaves the ongoing work unpriced.
Limits of SCA and what to confirm in your environment
SCA answers one question well: does this endpoint match the configuration checks in its policy? The items below are where buyers most often assume more than the feature delivers. Check each one against your operating systems, benchmark choices and network design before you commit to a scan schedule or a compliance claim.
SCA checks configuration, not exploitability
SCA evaluates whether settings match the checks in a policy. It does not determine whether a weakness can be exploited, and it does not identify vulnerable software versions on its own. Vulnerability detection correlates the software inventory with vulnerability data, and runtime security tooling watches behavior as it happens. Plan these functions alongside SCA, and confirm with your security team which control must cover each one.
Confirm OS and agent version coverage
SCA results depend on which operating systems and agent versions your fleet runs. Coverage can differ by platform, so list every OS family, distribution and version in scope, along with the agent version on each. Check each entry against the Wazuh documentation for the release line you deploy, which is currently the 4.14 line. Test a representative host from each group before you rely on its results.
Match benchmark versions to each OS
The default policies are based on CIS Benchmarks, and each benchmark is written for specific operating systems and versions. Confirm which benchmark version applies to every OS in scope, and whether your security standard requires a different baseline, a stricter profile or a documented deviation. Record each decision, because auditors will ask why a host was measured against a particular benchmark.
Plan offline policy content delivery
Air-gapped or offline networks need an installation approach that works without internet access. The Wazuh offline installation guide covers systems without internet connectivity. Confirm how SCA policy content reaches the server and agents in your network, who transfers it, how it is verified, and how updates are approved through your change process. Vulnerability data follows a separate offline path through an offline repository.
Test custom policies in your environment
Custom YAML policies produce results based on the checks you write and the systems they run on, so they can behave differently from the default policies. Test each new or changed policy on a staging group that matches production OS versions, hardening and configuration management. Confirm that passing and failing hosts are classified as expected. Illustrative: a check that reads a file present only on golden images will report every other host as failing.
Questions buyers ask before hiring help with Wazuh SCA
What drives the cost of a Wazuh SCA rollout?
The main drivers are the number of operating system types, the number of endpoints in each group, the number of custom baselines and how much evidence mapping the assessment must produce. Each one changes the work. Every OS family needs its own policy checks, validated on systems you actually run, so more platforms means more testing. Endpoint count affects scan scheduling, dashboard load and pilot coverage. Custom YAML policies take authoring, review and test time. Evidence mapping adds effort when results must line up with specific control IDs in your framework. Cost is mainly labor and infrastructure, since the software carries no license fee. Most engagements are fixed-scope, with deliverables and timeline agreed in writing before work starts. Ongoing tuning and updates can be arranged as a retainer.
Can our own team run Wazuh SCA without a partner?
Yes, if your team has Wazuh administration skills and a named policy owner. Running SCA is more than enabling a module. Engineers must deploy and maintain the Wazuh server, indexer, dashboard and agents, schedule scans, read results and tune policies. The policy owner decides which baselines apply, which deviations are accepted and what counts as a pass for each system. Without that owner, findings pile up and nobody can explain them during an assessment. Teams new to Wazuh may want training or a scoped engagement first. Check that you have capacity for pilots, change windows and regular review. A partner can plan and build the work, but ownership of your environment and decisions stays with your organization.
How long does a Wazuh SCA engagement take?
The timeline depends on scope, and DeployOpen states it in the written scope before work starts. The main factors are the number of OS types and endpoint groups, the number of custom policies, the evidence deliverables and how many pilot windows your change process allows. Delays also come from slow access to endpoints or late baseline documents. A useful quote breaks the schedule into milestones: scope confirmation, policy build, pilot on representative endpoints, policy review, full rollout and evidence handover. Ask how each milestone depends on your team's reviews. A retained arrangement follows a different rhythm, with recurring review cycles rather than one delivery window. Confirm the calendar with your change advisory board early, since it often sets the pace.
What does DeployOpen need from our team to start?
Access: representative endpoints for each OS and endpoint group, including test machines for pilots. Documents: the baseline documents your organization uses, such as internal hardening standards and any approved deviations. Ownership: a named policy owner who approves policy decisions and signs off on accepted results. Change windows: time for pilot scans and any configuration changes on production systems. Environment: access to the Wazuh deployment in infrastructure you control, including the server, indexer and dashboard. Confirm these items in writing during scoping. Missing access or documents is one of the most common causes of schedule slip, so list the owner for each item in the scope.
Does the Wazuh software have a license fee?
No license fee applies to the self-hosted Wazuh software. It is open source and distributed under the GNU General Public License version 2, with an exception that permits linking with the OpenSSL library. Your costs are infrastructure for the server, indexer, dashboard and storage, labor for deployment and tuning, and any support arrangement you choose. Wazuh Cloud is the vendor's managed service, and its paid plans include at least Standard support. Whether a separate support plan exists for self-hosted deployments is something to confirm with the vendor. Have your legal team review the GPL terms before you modify or redistribute the software. Ask any implementation partner to separate infrastructure, labor and support costs in the quote.
What should we ask for in a Wazuh SCA quote?
Ask for the scope broken out by OS and endpoint group, including the versions in each group. Request the custom policy count, with a short description of the requirement each policy checks. List the evidence deliverables, their format and how each result maps to the control IDs you need. Ask for the test plan, including pilot scope and the acceptance criteria. Require a clear exclusions list, covering systems, platforms and checks that are out of scope. Confirm the assumptions about access, documents, change windows and your policy owner. Finally, ask which costs are one-time and which recur, and whether the work is fixed-scope or retained. A quote that lacks any of these items is hard to compare.
How do custom SCA policies change the work?
Custom policies express your internal baseline as checks that Wazuh runs against endpoints, written in YAML. Each check needs a clear requirement, an expected result and the operating systems it applies to. Authoring is only the first step. The policy owner must review each check, and the team must test it on representative systems to catch false positives and checks that cannot run on a given platform. Keep the policy files under version control so changes are traceable. Plan time for updates when your baseline changes or Wazuh releases new check behavior. Ask the implementation partner how many custom policies are included in the scope and how changes after handover are handled.
How DeployOpen scopes, delivers and supports Wazuh SCA
DeployOpen plans, implements, documents and supports Wazuh Security Configuration Assessment inside your own infrastructure, including the Wazuh server, indexer, dashboard and agents. Each engagement starts from a written scope that sets which endpoints, policies and evidence outputs are covered. Ask for that scope in writing before any work begins.
How we scope
- The written scope lists the endpoint groups and operating systems where SCA policies run.
- It names which default CIS-based policies apply and which internal baselines need custom YAML policies.
- Engagements are fixed-scope, so deliverables and timelines are agreed in writing before work starts.
How we build
- Agents are deployed to the pilot endpoint group first, then expanded once check results look consistent.
- Default policies are enabled and reviewed, then custom YAML policies are written and tested against a known-good test host.
- Scan schedules, rule settings and dashboard views are configured in the Wazuh server and dashboard.
How we hand over
- Handover includes the policy files, schedules and a written runbook for changing checks.
- Each custom check carries a documented purpose, so auditors can trace it to the control it supports.
- Results are documented as configuration evidence, and the independent auditor decides whether it satisfies a requirement.
How we support
- Retainers cover ongoing support, rule and policy reviews, and upgrades when your team needs them.
- Policy reviews check that default CIS-based policies still match the operating systems you run.
- Upgrades of the Wazuh server and agents follow the release notes, in the order the documentation describes.

