Dont import correlation rules without esql

This commit is contained in:
defensivedepth committed 2026-10-02 07:41:10 -04:00
1 parent 3d4f53b741
commit c9053dd564
4 files changed
+19 -4

No files matched your search

+3 -3
View File
@@ -1445,7 +1445,7 @@ soc:
default:
- repo: https://github.com/Security-Onion-Solutions/securityonion-resources
license: Elastic-2.0
folder: sigma
folder: sigma/stable
community: true
rulesetName: securityonion-resources
- repo: file:///nsm/rules/custom-local-repos/local-sigma
@@ -1455,7 +1455,7 @@ soc:
airgap:
- repo: file:///nsm/rules/detect-sigma/repos/securityonion-resources
license: Elastic-2.0
folder: sigma
folder: sigma/stable
community: true
rulesetName: securityonion-resources
- repo: file:///nsm/rules/custom-local-repos/local-sigma
@@ -1465,7 +1465,7 @@ soc:
sigmaRulePackages:
- core
- emerging_threats_addon
useEsql: true
useEsql: false
esqlCaseInsensitive: true
esqlQueryDelaySeconds: 30
esqlCorrelationAllowanceSeconds: 600
@@ -129,6 +129,9 @@ transformations:
valid_hash_algos: ["MD5", "SHA1", "SHA256", "SHA512", "IMPHASH"]
field_prefix: "file"
drop_algo_prefix: False
# ecs_windows has already renamed Hashes; pySigma 1.5+ only parses the fields listed here
field_to_parse:
- winlog.event_data.Hashes
field_name_conditions:
- type: include_fields
fields:
+12
View File
@@ -85,6 +85,18 @@
{% do SOCMERGED.config.server.update({'airgapEnabled': false}) %}
{% endif %}
{# Sigma correlations require ES|QL: load the community correlations and offer correlation authoring only when it is on #}
{% set use_esql = SOCMERGED.config.server.modules.elastalertengine.useEsql %}
{% for repo in SOCMERGED.config.server.modules.elastalertengine.rulesRepos %}
{% if repo.get('rulesetName') == 'securityonion-resources' and repo.get('folder') in ['sigma', 'sigma/stable'] %}
{% do repo.update({'folder': 'sigma' if use_esql else 'sigma/stable'}) %}
{% endif %}
{% endfor %}
{% if not use_esql %}
{% do SOCMERGED.config.server.client.detection.templateDetections.pop('elastalert_correlation', None) %}
{% do SOCMERGED.config.server.client.detections.update({'queries': SOCMERGED.config.server.client.detections.queries | rejectattr('name', 'equalto', 'Detection Type - Sigma (Elastalert) - Correlations') | list}) %}
{% endif %}
{# Define the postgresmetrics module if telegraf is setup to only use Postgres #}
{% if TELEGRAFMERGED.output != 'INFLUXDB' and PG_USER and PG_PASS %}
{% do SOCMERGED.config.server.modules.update({
+1 -1
View File
@@ -400,7 +400,7 @@ soc:
advanced: False
helpLink: sigma
useEsql:
description: "(Pre-release) Use Elasticsearch Piped Query Language (ES|QL) instead of EQL (Elastic Query Language) for Elasticsearch queries. The Sigma converter will output ES|QL instead of EQL, allowing support for correlations. Switching back to EQL is not supported for correlations: they stay enabled but stop running until ES|QL is turned on again."
description: "(Pre-release) Use Elasticsearch Piped Query Language (ES|QL) instead of EQL (Elastic Query Language) for Elasticsearch queries. The Sigma converter will output ES|QL instead of EQL, allowing support for correlations. Switching back to EQL is not supported for correlations."
global: True
advanced: True
forcedType: bool