Övervakning och loggning av Azure Web Application Firewall
Azure Web Application Firewall på Azure Front Door tillhandahåller omfattande loggning och telemetri som hjälper dig att förstå hur brandväggen för webbprogram (WAF) fungerar och vilka åtgärder den vidtar.
Azure Front Door WAF-loggen är integrerad med Azure Monitor. Med Azure Monitor kan du spåra diagnostikinformation, inklusive WAF-aviseringar och loggar. Du kan konfigurera WAF-övervakning i Azure Front Door-resursen i Azure-portalen under fliken Diagnostik , via infrastruktur som kodmetoder eller genom att använda Azure Monitor direkt.
Mått
Azure Front Door registrerar automatiskt mått som hjälper dig att förstå waf-beteendet.
Så här kommer du åt waf-måtten:
- Logga in på Azure-portalen och gå till din Azure Front Door-profil.
- I det vänstra fönstret under Övervakning väljer du fliken Mått.
- Lägg till måttet Antal begäranden för webprogrambrandvägg för att spåra antalet begäranden som matchar WAF-regler.
Du kan skapa anpassade filter baserat på åtgärdstyper och regelnamn. Mått inkluderar begäranden med alla åtgärder utom Log
.
JavaScript-utmaningsmått (förhandsversion)
Så här kommer du åt waf-mått för JavaScript-utmaningen:
- Lägg till måttet Brandvägg
JS Challenge Request Count
för webbprogram för att spåra antalet begäranden som matchar WAF-regler för JavaScript-utmaning.
Följande filter tillhandahålls som en del av det här måttet:
- PolicyName: Det här är WAF-principnamnet
- Regel: Detta kan vara en anpassad regel eller robotregel
- Åtgärd: Det finns fyra möjliga värden för JS Challenge-åtgärden
- Utfärdat: JS Challenge anropas första gången
- Godkänd: JS Challenge-beräkningen lyckades och ett svar togs emot
- Giltigt: JS Challenge-giltighetscookie fanns
- Blockerad: JS Challenge-beräkningen misslyckades
Loggar och diagnostik
Azure Front Door WAF innehåller detaljerad rapportering om varje begäran och varje hot som identifieras. Loggning är integrerad med Azures diagnostikloggar och aviseringar med hjälp av Azure Monitor-loggar.
Loggar är inte aktiverade som standard. Du måste uttryckligen aktivera loggar. Du kan konfigurera loggar i Azure-portalen med hjälp av fliken Diagnostikinställningar .
Om loggning är aktiverat och en WAF-regel utlöses loggas matchande mönster i oformaterad text som hjälper dig att analysera och felsöka WAF-principbeteendet. Du kan använda undantag för att finjustera regler och exkludera data som du vill undantas från loggarna. Mer information finns i undantagslistor för brandvägg för webbprogram i Azure Front Door.
Du kan aktivera tre typer av Azure Front Door-loggar:
- WAF-loggar
- Åtkomstloggar
- Hälsoavsökningsloggar
Aktivitetsloggar är aktiverade som standard och ger insyn i de åtgärder som utförs på dina Azure-resurser, till exempel konfigurationsändringar i din Azure Front Door-profil.
WAF-loggar
Loggen FrontDoorWebApplicationFirewallLog
innehåller begäranden som matchar en WAF-regel.
Loggen FrontdoorWebApplicationFirewallLog
innehåller alla begäranden som matchar en WAF-regel.
I följande tabell visas de värden som loggas för varje begäran.
Property | beskrivning |
---|---|
Åtgärd | Åtgärd som vidtagits på begäran. Loggar inkluderar begäranden med alla åtgärder. Åtgärderna är:
|
ClientIP | IP-adressen för klienten som gjorde begäran. Om det fanns ett X-Forwarded-For huvud i begäran hämtas klientens IP-adress från det rubrikfältet i stället. |
ClientPort | IP-porten för klienten som gjorde begäran. |
Details | Mer information om begäran, inklusive eventuella hot som har identifierats. matchVariableName : HTTP-parameternamnet för begäran matchade, till exempel rubriknamn (högst 100 tecken).matchVariableValue : Värden som utlöste matchningen (högst 100 tecken). |
Host | Rubriken Host för begäran. |
Policy | Namnet på WAF-principen som bearbetade begäran. |
PolicyMode | Driftläge för WAF-principen. Möjliga värden är Prevention och Detection . |
RequestUri | Fullständig URI för begäran. |
RuleName | Namnet på WAF-regeln som begäran matchade. |
SocketIP | Käll-IP-adressen som waf ser. Den här IP-adressen baseras på TCP-sessionen och tar inte hänsyn till några begärandehuvuden. |
TrackingReference | Den unika referenssträngen som identifierar en begäran som hanteras av Azure Front Door. Det här värdet skickas till klienten i svarshuvudet X-Azure-Ref . Använd det här fältet när du söker efter en specifik begäran i loggen. |
Följande exempelfråga visar de begäranden som Azure Front Door WAF blockerade:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
Följande kodfragment visar en exempelloggpost, inklusive orsaken till att begäran blockerades:
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Cdn/Profiles/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"
}
]
}
}
}
{
"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"
}
]
}
}
}
Mer information om de andra Azure Front Door-loggarna finns i Övervaka mått och loggar i Azure Front Door.
Nästa steg
Läs mer om Azure Front Door.