FortiGate SSL VPN Login Followed by SIEM Alert by User
Detects when a FortiGate SSL VPN login event is followed by any SIEM detection alert for the same user name within a short time window. This correlation can indicate abuse of VPN access for malicious activity, credential compromise used from a VPN session, or initial access via VPN followed by post-compromise behavior.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/02/20"
3integration = ["fortinet_fortigate"]
4maturity = "production"
5updated_date = "2026/03/09"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects when a FortiGate SSL VPN login event is followed by any SIEM detection alert for the same user name within a
11short time window. This correlation can indicate abuse of VPN access for malicious activity, credential compromise
12used from a VPN session, or initial access via VPN followed by post-compromise behavior.
13"""
14from = "now-9m"
15index = ["logs-fortinet_fortigate.log-*", ".alerts-security.*"]
16language = "eql"
17license = "Elastic License v2"
18name = "FortiGate SSL VPN Login Followed by SIEM Alert by User"
19references = [
20 "https://attack.mitre.org/tactics/TA0001/",
21 "https://www.elastic.co/docs/reference/integrations/fortinet_fortigate",
22]
23risk_score = 47
24rule_id = "a7f2c1b4-5d8e-4f3a-9b0c-2e1d4a6b8f3e"
25severity = "medium"
26tags = [
27 "Use Case: Threat Detection",
28 "Rule Type: Higher-Order Rule",
29 "Tactic: Initial Access",
30 "Data Source: Fortinet",
31 "Resources: Investigation Guide",
32]
33timestamp_override = "event.ingested"
34type = "eql"
35
36query = '''
37sequence by user.name with maxspan=10m
38 [authentication where event.dataset == "fortinet_fortigate.log" and event.action == "login" and event.code in ("0101039426", "0101039427") and
39 user.name != "root"]
40 [any where event.kind == "signal" and kibana.alert.rule.name != null and event.dataset != "fortinet_fortigate.log" and
41 kibana.alert.risk_score > 21 and kibana.alert.rule.rule_id != "a7f2c1b4-5d8e-4f3a-9b0c-2e1d4a6b8f3e" and user.name != null]
42'''
43note = """## Triage and analysis
44
45### Investigating FortiGate SSL VPN Login Followed by SIEM Alert by User
46
47This rule correlates a FortiGate SSL VPN login with a subsequent security alert for the same user name, highlighting possible abuse of VPN access or activity shortly after remote access.
48
49### Possible investigation steps
50
51- Review the FortiGate login event (source IP, user, time) and the SIEM alert(s) that followed for the same user.
52- Determine whether the user is expected to use VPN and whether the subsequent alert is related to legitimate work (e.g. admin tools, updates).
53- Check for other alerts or logins for the same user in the same time window to assess scope.
54- Correlate with authentication logs to identify impossible travel or credential reuse from the VPN session.
55
56### False positive analysis
57
58- Legitimate VPN users triggering detections (e.g. scripted tasks, admin tooling) after login.
59- Security scans or automated jobs that run in the context of a VPN-authenticated user.
60
61### Response and remediation
62
63- If abuse or compromise is suspected, disable or reset the user’s VPN access and credentials.
64- Investigate the host and process associated with the SIEM alert.
65- Escalate to the security or incident response team if the alert indicates malicious activity.
66"""
67
68
69[[rule.threat]]
70framework = "MITRE ATT&CK"
71[[rule.threat.technique]]
72id = "T1078"
73name = "Valid Accounts"
74reference = "https://attack.mitre.org/techniques/T1078/"
75
76
77[rule.threat.tactic]
78id = "TA0001"
79name = "Initial Access"
80reference = "https://attack.mitre.org/tactics/TA0001/"```
Triage and analysis
Investigating FortiGate SSL VPN Login Followed by SIEM Alert by User
This rule correlates a FortiGate SSL VPN login with a subsequent security alert for the same user name, highlighting possible abuse of VPN access or activity shortly after remote access.
Possible investigation steps
- Review the FortiGate login event (source IP, user, time) and the SIEM alert(s) that followed for the same user.
- Determine whether the user is expected to use VPN and whether the subsequent alert is related to legitimate work (e.g. admin tools, updates).
- Check for other alerts or logins for the same user in the same time window to assess scope.
- Correlate with authentication logs to identify impossible travel or credential reuse from the VPN session.
False positive analysis
- Legitimate VPN users triggering detections (e.g. scripted tasks, admin tooling) after login.
- Security scans or automated jobs that run in the context of a VPN-authenticated user.
Response and remediation
- If abuse or compromise is suspected, disable or reset the user’s VPN access and credentials.
- Investigate the host and process associated with the SIEM alert.
- Escalate to the security or incident response team if the alert indicates malicious activity.
References
Related rules
- Elastic Defend Alert from GenAI Utility or Descendant
- Okta Alerts Following Unusual Proxy Authentication
- Newly Observed FortiGate Alert
- Okta Successful Login After Credential Attack
- Accepted Default Telnet Port Connection