Back
Idde9df79c-4872-11ec-81d3-0242ac130003
RulenameTomcat - Multiple server errors from single IP address
DescriptionDetects multiple server errors from one source in short timeframe
SeverityMedium
TacticsImpact
InitialAccess
TechniquesT1498
T1190
T1133
Required data connectorsCustomLogsAma
KindScheduled
Query frequency1h
Query period1h
Trigger threshold0
Trigger operatorgt
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Tomcat/Analytic%20Rules/TomcatMultipleServerErrorsFromSingleIP.yaml
Version1.0.2
Arm templatede9df79c-4872-11ec-81d3-0242ac130003.json
Deploy To Azure
let threshold = 100;
TomcatEvent
| where HttpStatusCode >= 500 and HttpStatusCode <= 599 
| summarize MultipleServerErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)
| where MultipleServerErrors > threshold
| extend IPCustomEntity = SrcIpAddr
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Tomcat/Analytic%20Rules/TomcatMultipleServerErrorsFromSingleIP.yaml
entityMappings:
- fieldMappings:
  - columnName: IPCustomEntity
    identifier: Address
  entityType: IP
relevantTechniques:
- T1498
- T1190
- T1133
triggerOperator: gt
queryPeriod: 1h
severity: Medium
query: |
  let threshold = 100;
  TomcatEvent
  | where HttpStatusCode >= 500 and HttpStatusCode <= 599 
  | summarize MultipleServerErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)
  | where MultipleServerErrors > threshold
  | extend IPCustomEntity = SrcIpAddr
id: de9df79c-4872-11ec-81d3-0242ac130003
triggerThreshold: 0
requiredDataConnectors:
- connectorId: CustomLogsAma
  datatypes:
  - Tomcat_CL
queryFrequency: 1h
kind: Scheduled
status: Available
version: 1.0.2
description: |
  'Detects multiple server errors from one source in short timeframe'
tactics:
- Impact
- InitialAccess
name: Tomcat - Multiple server errors from single IP address
{
  "$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/de9df79c-4872-11ec-81d3-0242ac130003')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/de9df79c-4872-11ec-81d3-0242ac130003')]",
      "properties": {
        "alertRuleTemplateName": "de9df79c-4872-11ec-81d3-0242ac130003",
        "customDetails": null,
        "description": "'Detects multiple server errors from one source in short timeframe'\n",
        "displayName": "Tomcat - Multiple server errors from single IP address",
        "enabled": true,
        "entityMappings": [
          {
            "entityType": "IP",
            "fieldMappings": [
              {
                "columnName": "IPCustomEntity",
                "identifier": "Address"
              }
            ]
          }
        ],
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Tomcat/Analytic%20Rules/TomcatMultipleServerErrorsFromSingleIP.yaml",
        "query": "let threshold = 100;\nTomcatEvent\n| where HttpStatusCode >= 500 and HttpStatusCode <= 599 \n| summarize MultipleServerErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)\n| where MultipleServerErrors > threshold\n| extend IPCustomEntity = SrcIpAddr\n",
        "queryFrequency": "PT1H",
        "queryPeriod": "PT1H",
        "severity": "Medium",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [
          "Impact",
          "InitialAccess"
        ],
        "techniques": [
          "T1133",
          "T1190",
          "T1498"
        ],
        "templateVersion": "1.0.2",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}