Getting Started with Sysmon in ICS/OT

This guide covers what Sysmon is, why it matters for ICS/OT environments, and how to deploy it.

What is Sysmon?

Microsoft Sysinternals Sysmon (System Monitor) is a Windows system service and device driver that logs detailed system activity to the Windows Event Log. Once installed with a configuration file, Sysmon monitors and logs events such as:

Sysmon runs as a background service and survives reboots. It does not require a SIEM or centralized logging to be useful -- the events are viewable directly in Windows Event Viewer.

Why Sysmon for ICS/OT?

Many ICS/OT environments have limited visibility into what happens on Windows-based systems such as HMIs, engineering workstations, historians, and domain controllers. Common challenges include:

Sysmon addresses these challenges because:

How to Deploy Sysmon

1. Download Sysmon

Download Sysmon from Microsoft: https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon

Extract the archive to a location on the target system (e.g., C:\Tools\Sysmon\).

2. Choose a Configuration File

Visit the Configuration Files page and select the config that matches your environment. For first-time deployments, start with the IT Workstation Baseline for desktops/laptops or the IT Server Baseline for servers.

Download the XML configuration file to the same directory as Sysmon (e.g., C:\Tools\Sysmon\sysmonconfig-baseline-it-workstation.xml).

3. Install Sysmon

Open an elevated (Administrator) command prompt and run:

sysmon.exe -accepteula -i sysmonconfig-baseline-it-workstation.xml

Replace sysmonconfig-baseline-it-workstation.xml with the name of your chosen configuration file.

4. Verify Installation

Open Windows Event Viewer and navigate to:

Applications and Services Logs > Microsoft > Windows > Sysmon > Operational

You should see events appearing. If the log is empty, wait a few minutes for activity to generate events.

You can also verify Sysmon is running:

sc query Sysmon64

5. Update a Configuration

To change the configuration on a system where Sysmon is already installed:

sysmon.exe -c sysmonconfig-new.xml

6. Uninstall Sysmon

If you need to remove Sysmon:

sysmon.exe -u

Centralized Log Collection (Optional)

While Sysmon works without centralized logging, forwarding events to a central location improves visibility across multiple systems. Options include:

To allow the Network Service to access Sysmon logs for forwarding:

wevtutil.exe sl Microsoft-Windows-Sysmon/Operational /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS)

Performance and Latency

A common concern in ICS/OT environments is whether Sysmon will impact system performance or introduce network latency. Key points:

For detailed guidance on phased deployment, system criticality decisions, and tuning, see the Deployment Considerations page.

Next: Choose a configuration for your system role, then review Deployment Considerations before deploying to production.