ids: add DNS, flow, stats EVE output types and community-id toggle - #10136
Open
mbedworth wants to merge 2 commits into
Open
ids: add DNS, flow, stats EVE output types and community-id toggle#10136mbedworth wants to merge 2 commits into
mbedworth wants to merge 2 commits into
Conversation
Extends the EVE log configuration with additional output types, following the pattern established for HTTP and TLS in PR opnsense#7775. New configurable EVE output types (all disabled by default): - DNS: logs DNS transactions with optional query/answer filtering - Flow: logs network flow records (duration, bytes, protocol) - Stats: logs Suricata engine statistics (capture, decoder, memory) Also makes the community-id field configurable via the GUI. Community ID is a standardised flow hash (https://github.com/corelight/community-id-spec) that enables cross-tool correlation between Suricata, Zeek, and other network security tools. All new fields are exposed under the Advanced toggle in Services > IDS > Administration, consistent with the existing HTTP/TLS controls. Model version bumped from 1.1.2 to 1.1.3 with a no-op migration, as new fields use sensible defaults.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the EVE log configuration with additional output types, following the pattern established for HTTP and TLS in #7775.
New configurable EVE output types (all disabled by default, under Advanced):
Community ID — makes the
community-idfield configurable via the GUI (was hardcoded tofalse). Community ID is a standardised flow hash that enables cross-tool correlation between Suricata, Zeek, and other network security tools.Changes
IDS.xmldns,flow,stats,communityIdfields undereveLog; bump version 1.1.2 → 1.1.3suricata.yamlcommunity-idconfigurablegeneralSettings.xmlM1_1_3.phpMotivation
SIEM integrations (Wazuh, Elastic, Splunk) benefit from richer EVE output beyond alerts. DNS logging enables threat hunting (tunneling, DGA detection), flow records provide network visibility, and stats enable performance monitoring. Community ID is increasingly expected by correlation tools.
The existing
custom.yamlescape hatch cannot be used for this because Suricata's YAML merge fully overrides theoutputskey rather than merging lists, so anycustom.yamlapproach would lose the default alert/anomaly/drop/ssh types.This was originally raised in #2038 (2018, closed as timeout). PR #7775 solved it for HTTP and TLS — this PR extends the same pattern to the remaining commonly-requested types.
Testing
Verified on OPNsense 26.1.6 / Suricata 8.0.4:
/api/ids/settings/get)flow: 1,357 events withcommunity_idhashesdns: 53 events with query/answer andcommunity_idstats: engine statistics logged to EVEcommunity_idpresent in 1,412/1,413 events (all network events; stats correctly excluded)