OSSEC HIDS Data in Graylog

OSSEC HIDS Data In Graylog

Host-based intrusion detection often lives at the edge of a SOC’s attention, generating a steady stream of file integrity alerts, authentication events, and active response actions that rarely get the same scrutiny as firewall or EDR data. OSSEC HIDS has been quietly filling that role on Unix, Linux, and Windows systems for years, watching log files, checking file and registry integrity, and triggering active responses when something looks wrong.

The OSSEC HIDS Content Pack for Graylog parses that data into Graylog schema-compatible fields, maps it to the Graylog Information Model (GIM), and ships with an Illuminate spotlight dashboard so your team gets structured visibility instead of a wall of raw alert text. This pack is available with a Graylog Illuminate license and Graylog Enterprise or Graylog Security.

What Is OSSEC?

OSSEC is a free and open source host-based intrusion detection system (HIDS) that performs log analysis, file integrity checking, rootkit detection, and active response across Unix, Linux, and Windows systems. A central OSSEC manager collects data from agents installed on monitored hosts and evaluates it against a ruleset to generate alerts.

Because OSSEC sits directly on the host, it captures activity that network-based tools never see:

  • Was a log entry on the host itself flagged as suspicious?
  • Did a file or registry key change unexpectedly?
  • Was an authentication attempt on the host successful or a failure?
  • Did OSSEC take an active response action, such as blocking an IP?

That combination of log-based detection, integrity monitoring, and automated response makes OSSEC a useful source of host-centric security telemetry, not just a system administration tool.

 

OSSEC HIDS Overview

 

What This Pack Does

The content pack takes the four log files an OSSEC deployment produces and turns them into normalized, searchable, correlatable fields. It includes:

Included In This Pack Details
Parsing rules Extract OSSEC log messages into Graylog schema-compatible fields
GIM categorization Event type codes, categories, subcategories, and event types for authentication, IAM, network, audit, and detection alerts
Illuminate spotlight dashboard One tab: Overview
Stream “Illuminate:OSSEC Log Messages”, created and configured automatically if it does not already exist
Index set “OSSEC Log Messages”, created with daily rotation and 90 days retention if it does not already exist

 

Requirements
Graylog Server Version 7.0.0 or later with a valid Enterprise license
OSSEC manager Configured to generate alerts.json
Log delivery Graylog Sidecar or a stand-alone Filebeat agent installed on OSSEC system(s)
Supported versions OSSEC 3.7.0 and later

 

Getting OSSEC Logs Into Graylog

OSSEC logs reach Graylog through the Elastic Filebeat agent, most easily configured using the Graylog Sidecar. Collection should be configured from the manager and from all agents.

Step 1: Configure OSSEC to Generate JSON Alerts

On the OSSEC manager, edit ossec.conf and add jsonout_output inside the <global> section:

<global>
<email_notification>no</email_notification>
<jsonout_output>yes</jsonout_output>
</global>

OSSEC does not rotate the alerts JSON file on its own, so plan a logrotate strategy for it.

Step 2: Configure Sidecar

Set up Graylog Sidecar for Filebeat following the official documentation, then create a matching Beats input in Graylog. Ensure the option “Do not add Beats type as prefix” is disabled.

Linux systems:

- type: filestream
id: ossec-filestream
enabled: true
paths:
- /var/ossec/logs/alerts/alerts.json
- /var/ossec/logs/active-responses.log
- /var/ossec/logs/firewall/firewall.log
- /var/ossec/logs/ossec.log
fields_under_root: true
fields:
event_source_product: ossec

Windows systems:

filebeat.inputs:
- type: filestream
id: ossec-agent-filestream
enabled: true
paths:
- 'C:\Program Files (x86)\ossec-agent\ossec.log'
- 'C:\Program Files\ossec-agent\logs\ossec.log'
parsers:
- multiline:
pattern: '^\d{4}/\d{2}/\d{2}'
negate: true
match: after
fields_under_root: true
fields:
event_source_product: ossec

These snippets add OSSEC ingestion to an existing Filebeat configuration using the default OSSEC paths; they are not complete, stand-alone configurations. Illuminate also does not support the OSSEC Syslog output, since OSSEC sends syslog messages over UDP, which can truncate larger log messages.

Events Processed

The pack recognizes and parses all four log files an OSSEC deployment generates:

  • json – JSON-formatted alert records from the OSSEC analysis engine, representing rule and decoder detections. Generated on the manager only.
  • log – Plain text service log covering component startup, shutdown, internal state changes, errors, and warnings. Present on the manager and all agents.
  • active-responses.log – Plain text record of active response actions, such as command invocation, target address, and result. Present on any system with active responses enabled.
  • log – Plain text record of firewall-related active response activity, such as IP blocking performed via firewall-drop.sh. Present on systems where firewall-based active responses execute.

Each of these is parsed into individual fields, such as source_ip, alert_signature_id, vendor_action, and destination_reference, rather than left as unstructured text.

 

GIM Categorization

Categorization is assigned according to the OSSEC alert signature ID, stored in rule.sidid on the source message and normalized to alert_signature_id, based on the default OSSEC ruleset.

SIDID / Property Event Description Category Subcategory Event Type
authentication_failed / success, invalid_login Authentication events authentication authentication.logon logon
adduser group New user account created iam iam.object create account created
account_changed group Existing account modified iam iam.object modify account modified
Firewall log events Firewall allow/deny events network network.connection network connection
593, 18118 Windows audit log cleared audit audit.integrity audit log cleared
policy_violation group Policy violation alerts audit audit.policy audit policy changed
594–598, registry syscheck Windows registry integrity events registry registry.default registry event
Ossec agent * signature Agent lifecycle events agent agent.default agent default
web, attacks, ids, recon groups Web attack and recon detection detection detection.network_detection network detection
rootcheck / rootkit groups Rootkit and host anomaly detection detection detection.host_detection host malware detection
550–555, file syscheck events File integrity finding detection detection.host_detection fim detection
All other OSSEC SIDs Implicit mapping for remaining alerts detection detection.host_detection hips detection

 

Why Log OSSEC Events?

Host-based detection data is easy to leave siloed on the box that generated it. Centralizing OSSEC logs in Graylog puts file integrity, authentication, and active response activity alongside every other GIM-mapped source in your environment.

Security Monitoring

The pack’s Security Core coverage maps authentication events with event_outcome distinguishing success from failure, giving analysts a fast way to spot brute-force attempts and credential abuse across every monitored host, not just the ones someone happens to be watching that day.

Threat Hunting

Fields like vendor_source_ip and vendor_source_port, extracted from SSH authentication log lines in vendor_full_log, let hunters pivot from a single suspicious login attempt to every other host that saw traffic from the same source. Rootcheck and rootkit alerts, mapped to host_detection, surface anomalies worth chasing before they escalate.

Incident Response

The active-responses.log and firewall.log data record what OSSEC attempted to do in response to an alert, such as invoking host-deny.sh to block an IP. The log reflects the action OSSEC took, not necessarily what the underlying system ultimately enforced. Centralizing that data in Graylog gives responders a searchable record of those response attempts to review alongside the alert activity from the same time window, rather than reconstructing the sequence by hand from raw text logs on the host.

Compliance

The pack’s default 90-day retention, combined with structured file integrity monitoring (FIM) and audit policy change detection, supports audit requirements under frameworks like SOC 2, PCI DSS, and CIS Controls that call for demonstrable oversight of host integrity and account changes.

Ready to get started? Graylog Security and Graylog Enterprise with Illuminate give you this content pack plus coverage for dozens of other critical log sources out of the box, with no manual parsing required.

Categories

Get the Monthly Tech Blog Roundup

Subscribe to the latest in log management, security, and all things Graylog blog delivered to your inbox once a month.