Övervakning och loggning av brand vägg för Azure-webbprogramAzure Web Application Firewall monitoring and logging

Övervakning och loggning av Azure Web Application-brandväggen (WAF) tillhandahålls genom loggning och integrering med Azure Monitor-och Azure Monitor-loggar.Azure Web Application Firewall (WAF) monitoring and logging are provided through logging and integration with Azure Monitor and Azure Monitor logs.

Azure MonitorAzure Monitor

WAF med ytterdörr-loggen är integrerad med Azure Monitor.WAF with FrontDoor log is integrated with Azure Monitor. Med Azure Monitor kan du spåra diagnostikinformation, inklusive WAF-aviseringar och loggar.Azure Monitor allows you to track diagnostic information including WAF alerts and logs. Du kan konfigurera WAF övervakning i den främre dörren i portalen under fliken diagnostik eller via tjänsten Azure Monitor direkt.You can configure WAF monitoring within the Front Door resource in the portal under the Diagnostics tab or through the Azure Monitor service directly.

Från Azure Portal går du till resurs typen frontend-dörr.From Azure portal, go to Front Door resource type. Från fliken övervakning / av mått till vänster kan du lägga till WebApplicationFirewallRequestCount för att spåra antalet förfrågningar som matchar WAF-regler.From Monitoring/Metrics tab on the left, you can add WebApplicationFirewallRequestCount to track number of requests that match WAF rules. Anpassade filter kan skapas baserat på åtgärds typer och regel namn.Custom filters can be created based on action types and rule names.

WAFMetrics

Loggar och diagnostikLogs and diagnostics

WAF med front dörren ger detaljerad rapportering om varje hot som identifieras.WAF with Front Door provides detailed reporting on each threat it detects. Loggningen är integrerad med loggar och varningar för Azure Diagnostics och registreras i JSON-format.Logging is integrated with Azure Diagnostics logs and alerts are recorded in a json format. Dessa loggar kan integreras med Azure Monitor loggar.These logs can be integrated with Azure Monitor logs.

WAFDiag

FrontdoorAccessLog loggar alla begär Anden.FrontdoorAccessLog logs all requests. FrontdoorWebApplicationFirewallLog loggar alla förfrågningar som matchar en WAF-regel med schemat nedan:FrontdoorWebApplicationFirewallLog logs any request that matches a WAF rule having the below schema:

EgenskapProperty BeskrivningDescription
ÅtgärdAction Åtgärd som vidtas på begäranAction taken on the request
ClientIpClientIp IP-adressen för klienten som gjorde begäran.The IP address of the client that made the request. Om det fanns ett X-vidarebefordrat – för huvud i begäran, plockas klientens IP-adress från fältet Rubrik.If there was an X-Forwarded-For header in the request, then the Client IP is picked from the header field.
ClientPortClientPort IP-porten för den klient som gjorde begäran.The IP port of the client that made the request.
InformationDetails Ytterligare information om den matchande begäranAdditional details on the matched request
matchVariableName: http-parameter namn för begäran matchad, till exempel rubrik namnmatchVariableName: http parameter name of the request matched, for example, header names
matchVariableValue: värden som utlöste matchningenmatchVariableValue: values that triggered the match
VärdHost Värd rubriken för matchande begäranThe host header of the matched request
PolicyPolicy Namnet på den WAF-princip som begäran matchade.The name of the WAF policy that the request matched.
PolicyModePolicyMode Operations mode i WAF-principen.Operations mode of the WAF policy. Möjliga värden är "förebyggande" och "identifiering"Possible values are "Prevention" and "Detection"
RequestUriRequestUri Fullständig URI för matchad begäran.Full URI of the matched request.
RuleNameRuleName Namnet på WAF-regeln som begäran matchade.The name of the WAF rule that the request matched.
SocketIpSocketIp Käll-IP-adressen som visas av WAF.The source IP address seen by WAF. Den här IP-adressen baseras på TCP-session, oberoende av eventuella begärandehuvuden.This IP address is based on TCP session, independent of any request headers.
TrackingReferenceTrackingReference Den unika referens strängen som identifierar en begäran som betjänas av en front dörr, som också skickas som X-Azure-ref-huvud till klienten.The unique reference string that identifies a request served by Front Door, also sent as X-Azure-Ref header to the client. Krävs för att söka efter information i åtkomst loggarna för en speciell begäran.Required for searching details in the access logs for a specific request.

Följande exempel på frågor returnerar WAF-loggar på blockerade begär Anden:The following query example returns WAF logs on blocked requests:

AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"

Här är ett exempel på en loggad begäran i WAF-loggen:Here is an example of a logged request in WAF log:

{
    "time":  "2020-06-09T22:32:17.8376810Z",
    "category": "FrontdoorWebApplicationFirewallLog",
    "operationName": "Microsoft.Network/FrontDoorWebApplicationFirewallLog/Write",
    "properties":
    {
        "clientIP":"xxx.xxx.xxx.xxx",
        "clientPort":"52097",
        "socketIP":"xxx.xxx.xxx.xxx",
        "requestUri":"https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
        "ruleName":"Microsoft_DefaultRuleSet-1.1-SQLI-942100",
        "policy":"WafDemoCustomPolicy",
        "action":"Block",
        "host":"wafdemofrontdoorwebapp.azurefd.net",
        "trackingReference":"08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
        "policyMode":"prevention",
        "details":
            {
            "matches":
                [{
                "matchVariableName":"QueryParamValue:q",
                "matchVariableValue":"' or 1=1"
                }]
            }
     }
}

Följande exempel fråga returnerar AccessLogs-poster:The following example query returns AccessLogs entries:

AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorAccessLog"

Här är ett exempel på en loggad begäran i Access logg:Here is an example of a logged request in Access log:

{
"time": "2020-06-09T22:32:17.8383427Z",
"category": "FrontdoorAccessLog",
"operationName": "Microsoft.Network/FrontDoor/AccessLog/Write",
 "properties":
    {
    "trackingReference":"08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
    "httpMethod":"GET",
    "httpVersion":"2.0",
    "requestUri":"https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
    "requestBytes":"715",
    "responseBytes":"380",
    "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4157.0 Safari/537.36 Edg/85.0.531.1",
    "clientIp":"xxx.xxx.xxx.xxx",
    "socketIp":"xxx.xxx.xxx.xxx",
    "clientPort":"52097",
    "timeTaken":"0.003",
    "securityProtocol":"TLS 1.2",
    "routingRuleName":"WAFdemoWebAppRouting",
    "rulesEngineMatchNames":[],
    "backendHostname":"wafdemowebappuscentral.azurewebsites.net:443",
    "sentToOriginShield":false,
    "httpStatusCode":"403",
    "httpStatusDetails":"403",
    "pop":"SJC",
    "cacheStatus":"CONFIG_NOCACHE"
    }
}

Nästa stegNext steps