Configuration

    Wazuh File Integrity Monitoring (FIM) Setup Guide

    Configure Wazuh File Integrity Monitoring (syscheck) to detect changes to critical files in real time, directories, who-data and alert tuning.

    WazuGuardix Team June 16, 2026 8 min read

    Wazuh File Integrity Monitoring (FIM), powered by the syscheck module, watches files and directories for additions, modifications and deletions. It is required for PCI DSS 11.5, HIPAA, NIST 800-53 and most other compliance frameworks.

    1. Enable syscheck in agent.conf

    <syscheck>
      <disabled>no</disabled>
      <frequency>43200</frequency>
      <directories check_all="yes" realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
      <directories check_all="yes" whodata="yes">/root</directories>
      <ignore>/etc/mtab</ignore>
      <ignore type="sre">^/etc/.*\.tmp$</ignore>
    </syscheck>

    2. Real-time vs scheduled scans

    • realtime="yes", uses inotify on Linux / ReadDirectoryChangesW on Windows for instant alerts
    • whodata="yes", adds the user, process and PID that made the change (requires auditd on Linux)
    • frequency, baseline rescan interval in seconds (default 12 hours)

    3. Apply changes

    systemctl restart wazuh-agent

    4. Test an alert

    Touch a monitored file and verify the alert in the dashboard under Threat Hunting -> Events:

    echo "test" >> /etc/hosts

    Note: Avoid monitoring /var/log or /tmp in real time, they generate huge volumes of noise. Whitelist them with <ignore>.

    We build PCI/HIPAA-ready FIM policies that pass audits without alert fatigue, contact us for a hardening review.

    Official reference

    Commands and configuration in this guide are based on the official Wazuh documentation. For the canonical source, see:

    WazuhFIMSyscheckCompliance

    Need help running Wazuh in production?

    Our team designs, deploys and operates Wazuh end to end, from indexer sizing to custom rules and 24/7 SOC monitoring.