Newly Observed High Severity Suricata Alert

This rule detects Suricata high severity alerts that are observed for the first time in the previous 5 days of alert history. Analysts can use this to prioritize triage and response.

Elastic rule (View on GitHub)

 1[metadata]
 2creation_date = "2026/01/20"
 3integration = ["suricata"]
 4maturity = "production"
 5updated_date = "2026/09/18"
 6
 7[rule]
 8author = ["Elastic"]
 9description = """
10This rule detects Suricata high severity alerts that are observed for the first time in the previous 5 days of alert history.
11Analysts can use this to prioritize triage and response.
12"""
13from = "now-7205m"
14interval = "5m"
15language = "esql"
16license = "Elastic License v2"
17name = "Newly Observed High Severity Suricata Alert"
18risk_score = 99
19rule_id = "d591d7af-399b-4888-b705-ae612690c48d"
20severity = "critical"
21tags = [
22    "Use Case: Threat Detection",
23    "Rule Type: Higher-Order Rule",
24    "Resources: Investigation Guide",
25    "Domain: Network",
26    "Data Source: Suricata",
27    "Noise: Low",
28    "Performance: Normal",
29    "Profile: Recommended",
30    "Rule Type: ES|QL",
31]
32timestamp_override = "event.ingested"
33type = "esql"
34
35query = '''
36FROM logs-suricata.*
37
38  // high severity alerts
39| where event.module == "suricata" and event.kind == "signal" and event.severity == 1 and
40        rule.name is not null and
41        not rule.name like "SURICATA STREAM*"
42
43| STATS Esql.alerts_count = count(*),
44        Esql.first_time_seen = MIN(@timestamp),
45        Esql.distinct_count_src_ip = COUNT_DISTINCT(source.ip),
46        Esql.distinct_count_dst_ip = COUNT_DISTINCT(destination.ip),
47        src_ip_values = VALUES(source.ip),
48        dst_ip_values = VALUES(destination.ip),
49        url_dom = VALUES(url.domain),
50        url_path = VALUES(url.path) by rule.name, event.type
51
52| eval Esql.recent = DATE_DIFF("minute", Esql.first_time_seen, now())
53  // first time seen is within 10m of the rule execution time
54| where Esql.recent <= 10 and
55// exclude high volume alerts such as vuln-scanners
56  Esql.alerts_count <= 5 and Esql.distinct_count_src_ip <= 2 and Esql.distinct_count_dst_ip <= 2
57
58// move dynamic fields to ECS quivalent for rule exceptions
59| eval source.ip = MV_FIRST(src_ip_values),
60       destination.ip = MV_FIRST(dst_ip_values),
61       url.domain = MV_FIRST(url_dom),
62       url.path = MV_FIRST(url_path)
63| keep rule.name, event.type, Esql.*, source.ip, destination.ip, url.domain, url.path
64'''
65note = """## Triage and analysis
66
67### Investigating Newly Observed High Severity Suricata Alert
68
69This rule surfaces newly observed, low-frequency high severity suricata alerts within the last 5 days.
70
71Because the alert has not been seen previously for this rule and host, it should be prioritized for validation to determine
72whether it represents a true compromise or rare benign activity.
73
74### Investigation Steps
75
76- Identify the source address, affected host and review the associated rule name to understand the behavior that triggered the alert.
77- Validate the source address under which the activity occurred and assess whether it aligns with normal behavior.
78- Refer to the specific alert details like event.original to get more context.
79
80### False Positive Considerations
81
82- Vulnerability scanners and pentesting.
83- Administrative scripts or automation tools can trigger detections when first introduced.
84- Development or testing environments may produce one-off behaviors that resemble malicious techniques.
85
86### Response and Remediation
87
88- If the activity is confirmed malicious, isolate the affected host to prevent further execution or lateral movement.
89- Terminate malicious processes and remove any dropped files or persistence mechanisms.
90- Collect forensic artifacts to understand initial access and execution flow.
91- Patch or remediate any vulnerabilities or misconfigurations that enabled the behavior.
92- If benign, document the finding and consider tuning or exception handling to reduce future noise.
93- Continue monitoring the host and environment for recurrence of the behavior or related alerts."""
94references = ["https://www.elastic.co/docs/reference/integrations/suricata"]

Triage and analysis

Investigating Newly Observed High Severity Suricata Alert

This rule surfaces newly observed, low-frequency high severity suricata alerts within the last 5 days.

Because the alert has not been seen previously for this rule and host, it should be prioritized for validation to determine whether it represents a true compromise or rare benign activity.

Investigation Steps

  • Identify the source address, affected host and review the associated rule name to understand the behavior that triggered the alert.
  • Validate the source address under which the activity occurred and assess whether it aligns with normal behavior.
  • Refer to the specific alert details like event.original to get more context.

False Positive Considerations

  • Vulnerability scanners and pentesting.
  • Administrative scripts or automation tools can trigger detections when first introduced.
  • Development or testing environments may produce one-off behaviors that resemble malicious techniques.

Response and Remediation

  • If the activity is confirmed malicious, isolate the affected host to prevent further execution or lateral movement.
  • Terminate malicious processes and remove any dropped files or persistence mechanisms.
  • Collect forensic artifacts to understand initial access and execution flow.
  • Patch or remediate any vulnerabilities or misconfigurations that enabled the behavior.
  • If benign, document the finding and consider tuning or exception handling to reduce future noise.
  • Continue monitoring the host and environment for recurrence of the behavior or related alerts.

References

Related rules

to-top