Back to Wazuh

Configuration

docs/ref/modules/sca/configuration.md

4.14.44.2 KB
Original Source

Configuration

The SCA module configuration defines how security configuration assessments are performed, including scan intervals, policy selection, and operational parameters.


Basic Configuration

Minimal Configuration

xml
<sca>
  <enabled>yes</enabled>
</sca>

This enables the SCA module with default settings:

  • Scan on start: enabled
  • Scan interval: inherited from scheduling
  • Default policies: auto-detected based on OS

Full Configuration Example

xml
<sca>
  <enabled>yes</enabled>
  <scan_on_start>yes</scan_on_start>
  <interval>12h</interval>
  <max_eps>100</max_eps>
  <policies>
    <policy>/var/ossec/etc/shared/cis_debian10.yml</policy>
    <policy>/var/ossec/etc/shared/cis_apache_24.yml</policy>
    <policy enabled="no">/custom/policies/disabled_policy.yml</policy>
  </policies>
  <synchronization>
    <enabled>yes</enabled>
    <interval>300</interval>
    <response_timeout>60</response_timeout>
    <max_eps>50</max_eps>
    <integrity_interval>86400</integrity_interval>
  </synchronization>
</sca>

Configuration Options

Core Settings

OptionTypeDefaultDescription
enabledbooleanyesEnable or disable the SCA module
scan_on_startbooleanyesRun assessment when agent starts
intervaltimeinherited from scan scheduleTime between scans (scheduling tags)
max_epsnumber50Maximum events per second

Policy Management

OptionTypeDefaultDescription
policiessectionauto-loadedConfiguration section for policy files
policystringIndividual policy file path (can have enabled attribute)

Synchronization Settings

OptionTypeDefaultDescription
synchronization/enabledbooleanyesEnable database synchronization
synchronization/intervaltime300sDatabase synchronization interval
synchronization/response_timeouttime60sSynchronization response timeout
synchronization/max_epsnumber50Max events per second for sync
synchronization/integrity_intervaltime86400sInterval between integrity checks for recovery (0 = disabled)

Time Interval Format

The interval option supports various time formats:

FormatExampleDescription
Seconds3600sScan every 3600 seconds
Minutes60mScan every 60 minutes
Hours2hScan every 2 hours
Days1dScan once per day

Valid ranges:

  • Minimum: 60s (1 minute)
  • Maximum: 1d (1 day)

Policy Configuration

Policy File Structure

Policy files are YAML documents containing:

  • Policy metadata (name, description, requirements)
  • Security checks with rules and conditions
  • Compliance mappings

Policy Paths

Policies can be specified using:

  • Absolute paths: /var/ossec/etc/policies/custom.yml
  • Relative paths: etc/shared/cis_debian10.yml (relative to Wazuh installation)
  • Shared paths: Policies in the shared folder distributed by manager

Operating System Specific Defaults

Linux Systems

Default policies based on distribution:

  • Debian/Ubuntu: cis_debian*.yml, cis_ubuntu*.yml
  • RHEL/CentOS: cis_rhel*.yml, cis_centos*.yml
  • Amazon Linux: cis_amazon*.yml

Windows Systems

Default policies:

  • Windows Server: cis_win2016.yml, cis_win2019.yml
  • Windows Desktop: cis_win10_enterprise.yml, cis_win11_enterprise.yml

macOS Systems

Default policies:

  • macOS: cis_apple_macOS*.yml

Configuration Validation

Validation Rules

The SCA module validates configuration at startup:

  1. Policy file existence: All specified policy files must exist
  2. YAML syntax: Policy files must be valid YAML
  3. Required fields: Policies must contain required metadata
  4. Time intervals: Must be within valid ranges
  5. Path permissions: Agent must have read access to policy files

Error Handling

Invalid configuration results in:

  • Warning messages in logs for non-critical issues
  • Module disabled for critical configuration errors
  • Default values used for invalid optional parameters