Back
Id15f5a956-3af9-11ec-8d3d-0242ac130003
RulenameApache - Multiple client errors from single IP
DescriptionDetects multiple client errors from one source in short timeframe
SeverityMedium
TacticsInitialAccess
TechniquesT1190
T1133
Required data connectorsCustomLogsAma
KindScheduled
Query frequency1h
Query period1h
Trigger threshold0
Trigger operatorgt
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ApacheHTTPServer/Analytic%20Rules/ApacheMultipleClientErrorsFromSingleIP.yaml
Version1.0.3
Arm template15f5a956-3af9-11ec-8d3d-0242ac130003.json
Deploy To Azure
let threshold = 100;
ApacheHTTPServer
| where HttpStatusCode >= 400 and HttpStatusCode <= 499
| summarize MultipleClientErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)
| where MultipleClientErrors > threshold
| extend IPCustomEntity = SrcIpAddr
queryPeriod: 1h
status: Available
kind: Scheduled
description: |
  'Detects multiple client errors from one source in short timeframe'
queryFrequency: 1h
version: 1.0.3
id: 15f5a956-3af9-11ec-8d3d-0242ac130003
entityMappings:
- fieldMappings:
  - columnName: IPCustomEntity
    identifier: Address
  entityType: IP
relevantTechniques:
- T1190
- T1133
triggerThreshold: 0
tactics:
- InitialAccess
requiredDataConnectors:
- connectorId: CustomLogsAma
  datatypes:
  - ApacheHTTPServer_CL
query: |
  let threshold = 100;
  ApacheHTTPServer
  | where HttpStatusCode >= 400 and HttpStatusCode <= 499
  | summarize MultipleClientErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)
  | where MultipleClientErrors > threshold
  | extend IPCustomEntity = SrcIpAddr
severity: Medium
triggerOperator: gt
name: Apache - Multiple client errors from single IP
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ApacheHTTPServer/Analytic%20Rules/ApacheMultipleClientErrorsFromSingleIP.yaml
{
  "$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/15f5a956-3af9-11ec-8d3d-0242ac130003')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/15f5a956-3af9-11ec-8d3d-0242ac130003')]",
      "properties": {
        "alertRuleTemplateName": "15f5a956-3af9-11ec-8d3d-0242ac130003",
        "customDetails": null,
        "description": "'Detects multiple client errors from one source in short timeframe'\n",
        "displayName": "Apache - Multiple client errors from single IP",
        "enabled": true,
        "entityMappings": [
          {
            "entityType": "IP",
            "fieldMappings": [
              {
                "columnName": "IPCustomEntity",
                "identifier": "Address"
              }
            ]
          }
        ],
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ApacheHTTPServer/Analytic%20Rules/ApacheMultipleClientErrorsFromSingleIP.yaml",
        "query": "let threshold = 100;\nApacheHTTPServer\n| where HttpStatusCode >= 400 and HttpStatusCode <= 499\n| summarize MultipleClientErrors = count() by SrcIpAddr, bin(TimeGenerated, 5m)\n| where MultipleClientErrors > threshold\n| extend IPCustomEntity = SrcIpAddr\n",
        "queryFrequency": "PT1H",
        "queryPeriod": "PT1H",
        "severity": "Medium",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [
          "InitialAccess"
        ],
        "techniques": [
          "T1133",
          "T1190"
        ],
        "templateVersion": "1.0.3",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}