Compare commits

..
Author SHA1 Message Date
defensivedepth d2251d0cbc Refactor correlation template 2026-10-19 12:55:51 -04:00
coreyogburn 78013aa5bc Merge pull request #16333 from Security-Onion-Solutions/cogburn/automation-turn-timeout
Automation Turn Timeout
2026-10-15 15:12:52 -06:00
Corey Ogburn 69b2cb2b02 Automation Turn Timeout
Simplified to turnTimeoutSeconds as it sits on automationSettings and doesn't need to stutter.
2026-10-15 13:06:09 -06:00
Mike Reeves c13085ba71 Merge pull request #16332 from Security-Onion-Solutions/TOoSmOotH-patch-6
Change readonly to readonlyUi in YAML configuration
2026-10-15 11:44:49 -04:00
2 changed files with 30 additions and 20 deletions

No files matched your search

+24 -20
View File
@@ -1571,6 +1571,7 @@ soc:
tickIntervalSeconds: 60 tickIntervalSeconds: 60
maxConcurrentItems: 4 maxConcurrentItems: 4
maxQueuedItems: 0 maxQueuedItems: 0
turnTimeoutSeconds: 300
alertTriageEpoch: "2026-09-24T00:00:00Z" alertTriageEpoch: "2026-09-24T00:00:00Z"
tools: tools:
filterEventFields: filterEventFields:
@@ -2808,6 +2809,10 @@ soc:
# Sigma correlation rule; requires ES|QL (useEsql). # Sigma correlation rule; requires ES|QL (useEsql).
# First document: the correlation. Following documents: the rules it references. # First document: the correlation. Following documents: the rules it references.
# #
# This example mirrors the shipped rule c448c9f6 (Repeated SOC Login Failures For One Account).
# Change it before enabling, or you will get two alerts for the same activity.
# To test: log out of SOC and enter a wrong password 5 times for one username.
#
# Types: event_count, value_count, temporal, value_sum, value_avg, value_median, value_percentile. # Types: event_count, value_count, temporal, value_sum, value_avg, value_median, value_percentile.
# Correlation Guide: https://sigmahq.io/docs/meta/correlations.html # Correlation Guide: https://sigmahq.io/docs/meta/correlations.html
# Logsources: https://sigmahq.io/docs/basics/log-sources.html # Logsources: https://sigmahq.io/docs/basics/log-sources.html
@@ -2816,46 +2821,45 @@ soc:
id: [publicId] id: [publicId]
status: 'experimental' status: 'experimental'
description: | description: |
Describe what the correlation finds and, importantly, why relating these Describe what the correlation finds and why relating these events is more
events is more meaningful than either of them alone. meaningful than any one of them alone.
Example: 5 or more failed SOC logins for one username in 10 minutes.
references: references:
- 'https://local.invalid' - 'https://attack.mitre.org/techniques/T1110/001/'
author: '@SecurityOnion' author: '@SecurityOnion'
date: '[today]' date: '[today]'
tags: tags:
- detection.threat_hunting - attack.credential-access
- attack.technique_id - attack.t1110.001
correlation: correlation:
type: value_count type: event_count # count the base rule's events...
rules: rules:
- example_base_rule # the 'name' of the rule below - example_base_rule # ...by the 'name' of the rule below
group-by: group-by:
- source.ip - user.name # ...separately for each username
# Xs, Xm, Xh, Xd or Xw. timespan: 10m # Xs, Xm, Xh
timespan: 10m
condition: condition:
field: dns.query.name gte: 5
gte: 40
falsepositives: falsepositives:
- 'Describe the benign activity that also produces this pattern' - 'A user entering an old password after a password change'
# Placeholders: %count%, %start%, %end%, %duration%, or any field. # Placeholders: %count%, %start%, %end%, %duration%, or any field.
summary: '%count% distinct names queried by %source.ip% in %duration%' summary: '%count% failed SOC logins for %user.name% in %duration%, from %http.request.headers.x-real-ip%'
level: 'medium' # info | low | medium | high | critical level: 'medium' # info | low | medium | high | critical
--- ---
title: 'Base Event' title: 'SOC Login Failure'
# referenced by 'name' (or 'id') # referenced by 'name' (or 'id')
name: example_base_rule name: example_base_rule
description: 'The single event that the correlation aggregates.' description: 'One failed SOC login. Put filters here, not in the correlation.'
logsource: logsource:
category: network product: kratos
service: dns service: application
detection: detection:
selection: selection:
dns.query.name|exists: true msg: 'Encountered self-service login error.'
condition: selection condition: selection
# Carried into the alert. # Carried into the alert.
fields: fields:
- dns.query.name - http.request.headers.x-real-ip
assistant: assistant:
enabled: false enabled: false
investigationPrompt: Investigate Alert ID {socId} investigationPrompt: Investigate Alert ID {socId}
+6
View File
@@ -1058,6 +1058,12 @@ soc:
global: True global: True
advanced: True advanced: True
forcedType: int forcedType: int
turnTimeoutSeconds:
description: Maximum number of seconds a single model turn of an automation's agent session may run, even while the model is still producing output. A turn that exceeds this limit is abandoned and the session is recorded as failed. Set to 0 to disable the timeout. Edit this setting via the Agent Studio.
global: True
advanced: True
forcedType: int
readonlyUi: True
alertTriageEpoch: alertTriageEpoch:
description: The earliest alert time the Alert Triage automation will consider. Alerts before this time are never triaged, which keeps a first run on an existing deployment from working through old history. Must be in UTC format (2026-09-24T00:00:00Z). description: The earliest alert time the Alert Triage automation will consider. Alerts before this time are never triaged, which keeps a first run on an existing deployment from working through old history. Must be in UTC format (2026-09-24T00:00:00Z).
regex: '^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z)?$' regex: '^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z)?$'