Back
Id1e6a8802-9129-44d4-a4f9-c6010b5725e8
RulenameFortiNDR Cloud - Security Event Detected
DescriptionTriggers an alert for High, Medium, or Low severity FortiNDR events grouped by target device and alert severity.
SeverityHigh
TacticsInitialAccess
Execution
LateralMovement
CommandAndControl
Exfiltration
Discovery
Impact
TechniquesT1190
T1059
T1021
T1071
T1568
T1041
T1046
T1486
Required data connectorsFortinetFortiNdrCloudDataConnector
KindScheduled
Query frequency5m
Query period5m
Trigger threshold0
Trigger operatorGreaterThan
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Fortinet%20FortiNDR%20Cloud/Analytic%20Rules/FortiNDR_Events_Detected.yaml
Version1.0.0
Arm template1e6a8802-9129-44d4-a4f9-c6010b5725e8.json
Deploy To Azure
Fortinet_FortiNDR_Cloud
| extend AlertSeverity = case(Type == 'FncEventsDetections_CL' and de_severity in~ ('high', 'critical'), 'High', Type == 'FncEventsSuricata_CL' and su_sig_severity <= 2, 'High', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('high', 'critical'), 'High', Type == 'FncEventsDetections_CL' and de_severity in~ ('medium', 'moderate'), 'Medium', Type == 'FncEventsSuricata_CL' and su_sig_severity == 3, 'Medium', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('medium', 'moderate'), 'Medium', 'Low')
| extend IncidentDevice = coalesce(de_device_ip, su_src_ip, ob_src_ip)
| extend Description = coalesce(de_rule_name, su_sig_name, ob_observation_title)
| summarize EventCount = count(), Descriptions = strcat_array(make_set(Description), '; '), EventTypes = strcat_array(make_set(Type), ', '), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by IncidentDevice, AlertSeverity
alertDetailsOverride:
  alertSeverityColumnName: AlertSeverity
  alertDisplayNameFormat: FortiNDR {{AlertSeverity}} Alert on {{IncidentDevice}} ({{EventCount}} events)
displayName: FortiNDR Cloud - Security Event Detected
id: 1e6a8802-9129-44d4-a4f9-c6010b5725e8
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Fortinet%20FortiNDR%20Cloud/Analytic%20Rules/FortiNDR_Events_Detected.yaml
tactics:
- InitialAccess
- Execution
- LateralMovement
- CommandAndControl
- Exfiltration
- Discovery
- Impact
kind: Scheduled
requiredDataConnectors:
- dataTypes:
  - FncEventsSuricata_CL
  - FncEventsObservation_CL
  - FncEventsDetections_CL
  connectorId: FortinetFortiNdrCloudDataConnector
queryPeriod: 5m
severity: High
relevantTechniques:
- T1190
- T1059
- T1021
- T1071
- T1568
- T1041
- T1046
- T1486
triggerThreshold: 0
version: 1.0.0
customDetails:
  EventDescriptions: Descriptions
  EventTypes: EventTypes
  EventCount: EventCount
name: FortiNDR Cloud - Security Event Detected
triggerOperator: GreaterThan
query: |
  Fortinet_FortiNDR_Cloud
  | extend AlertSeverity = case(Type == 'FncEventsDetections_CL' and de_severity in~ ('high', 'critical'), 'High', Type == 'FncEventsSuricata_CL' and su_sig_severity <= 2, 'High', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('high', 'critical'), 'High', Type == 'FncEventsDetections_CL' and de_severity in~ ('medium', 'moderate'), 'Medium', Type == 'FncEventsSuricata_CL' and su_sig_severity == 3, 'Medium', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('medium', 'moderate'), 'Medium', 'Low')
  | extend IncidentDevice = coalesce(de_device_ip, su_src_ip, ob_src_ip)
  | extend Description = coalesce(de_rule_name, su_sig_name, ob_observation_title)
  | summarize EventCount = count(), Descriptions = strcat_array(make_set(Description), '; '), EventTypes = strcat_array(make_set(Type), ', '), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by IncidentDevice, AlertSeverity
status: Available
description: |
  'Triggers an alert for High, Medium, or Low severity FortiNDR events grouped by target device and alert severity.'
queryFrequency: 5m
entityMappings:
- fieldMappings:
  - identifier: Address
    columnName: IncidentDevice
  entityType: IP
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspace": {
      "type": "String"
    }
  },
  "resources": [
    {
      "apiVersion": "2024-01-01-preview",
      "id": "[concat(resourceId('Microsoft.OperationalInsights/workspaces/providers', parameters('workspace'), 'Microsoft.SecurityInsights'),'/alertRules/1e6a8802-9129-44d4-a4f9-c6010b5725e8')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/1e6a8802-9129-44d4-a4f9-c6010b5725e8')]",
      "properties": {
        "alertDetailsOverride": {
          "alertDisplayNameFormat": "FortiNDR {{AlertSeverity}} Alert on {{IncidentDevice}} ({{EventCount}} events)",
          "alertSeverityColumnName": "AlertSeverity"
        },
        "alertRuleTemplateName": "1e6a8802-9129-44d4-a4f9-c6010b5725e8",
        "customDetails": {
          "EventCount": "EventCount",
          "EventDescriptions": "Descriptions",
          "EventTypes": "EventTypes"
        },
        "description": "'Triggers an alert for High, Medium, or Low severity FortiNDR events grouped by target device and alert severity.'\n",
        "displayName": "FortiNDR Cloud - Security Event Detected",
        "enabled": true,
        "entityMappings": [
          {
            "entityType": "IP",
            "fieldMappings": [
              {
                "columnName": "IncidentDevice",
                "identifier": "Address"
              }
            ]
          }
        ],
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Fortinet%20FortiNDR%20Cloud/Analytic%20Rules/FortiNDR_Events_Detected.yaml",
        "query": "Fortinet_FortiNDR_Cloud\n| extend AlertSeverity = case(Type == 'FncEventsDetections_CL' and de_severity in~ ('high', 'critical'), 'High', Type == 'FncEventsSuricata_CL' and su_sig_severity <= 2, 'High', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('high', 'critical'), 'High', Type == 'FncEventsDetections_CL' and de_severity in~ ('medium', 'moderate'), 'Medium', Type == 'FncEventsSuricata_CL' and su_sig_severity == 3, 'Medium', Type == 'FncEventsObservation_CL' and ob_confidence in~ ('medium', 'moderate'), 'Medium', 'Low')\n| extend IncidentDevice = coalesce(de_device_ip, su_src_ip, ob_src_ip)\n| extend Description = coalesce(de_rule_name, su_sig_name, ob_observation_title)\n| summarize EventCount = count(), Descriptions = strcat_array(make_set(Description), '; '), EventTypes = strcat_array(make_set(Type), ', '), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by IncidentDevice, AlertSeverity\n",
        "queryFrequency": "PT5M",
        "queryPeriod": "PT5M",
        "severity": "High",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [
          "CommandAndControl",
          "Discovery",
          "Execution",
          "Exfiltration",
          "Impact",
          "InitialAccess",
          "LateralMovement"
        ],
        "techniques": [
          "T1021",
          "T1041",
          "T1046",
          "T1059",
          "T1071",
          "T1190",
          "T1486",
          "T1568"
        ],
        "templateVersion": "1.0.0",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}