Share via


Bewaking en logboekregistratie van Azure Web Application Firewall

Azure Web Application Firewall in Azure Front Door biedt uitgebreide logboekregistratie en telemetrie om u te helpen begrijpen hoe uw Web Application Firewall (WAF) presteert en welke acties er worden uitgevoerd.

Het Azure Front Door WAF-logboek is geïntegreerd met Azure Monitor. Met Azure Monitor kunt u diagnostische gegevens bijhouden, waaronder WAF-waarschuwingen en logboeken. U kunt WAF-bewaking configureren in de Azure Front Door-resource in Azure Portal op het tabblad Diagnostische gegevens, via infrastructuur als codebenaderingen of door Azure Monitor rechtstreeks te gebruiken.

Metrische gegevens voor

Azure Front Door registreert automatisch metrische gegevens om inzicht te verkrijgen in het gedrag van uw WAF.

Ga als volgt te werk om toegang te krijgen tot de metrische gegevens van uw WAF:

  1. Meld u aan bij Azure Portal en ga naar uw Azure Front Door-profiel.
  2. Selecteer in het meest linkse deelvenster onder Bewaking het tabblad Metrische gegevens .
  3. Voeg de meetwaarde Web Application Firewall-aanvraagaantal toe om het aantal aanvragen bij te houden dat overeenkomt met WAF-regels.

U kunt aangepaste filters maken op basis van actietypen en regelnamen. Metrische gegevens omvatten aanvragen met alle acties, behalve Log.

Schermopname van de metrische gegevens voor een Azure Front Door WAF.

Metrische gegevens voor JavaScript-uitdaging (preview)

Ga als volgende te werk om toegang te krijgen tot uw WAF-metrische gegevens van uw JavaScript-uitdaging:

  • Voeg de metrische gegevens van Web Application Firewall JS Challenge Request Count toe om het aantal aanvragen bij te houden dat overeenkomt met WAF-regels voor JavaScript-uitdagingen.

De volgende filters worden geleverd als onderdeel van deze metrische waarde:

  • PolicyName: dit is de naam van het WAF-beleid
  • Regel: dit kan elke aangepaste regel of botregel zijn
  • Actie: Er zijn vier mogelijke waarden voor de actie JS-uitdaging
    • Uitgegeven: JS-uitdaging wordt de eerste keer aangeroepen
    • Geslaagd: JS Challenge-berekening is geslaagd en er is een antwoord ontvangen
    • Geldig: JS Challenge geldigheid cookie was aanwezig
    • Geblokkeerd: berekening van JS-uitdaging is mislukt

Schermopname van de metrische gegevens van de JavaScript-uitdaging.

Logboeken en diagnostische gegevens

De Azure Front Door WAF biedt gedetailleerde rapportage over elke aanvraag en elke bedreiging die wordt gedetecteerd. Logboekregistratie is geïntegreerd met diagnostische logboeken en waarschuwingen van Azure met behulp van Azure Monitor-logboeken.

Logboeken zijn niet standaard ingeschakeld. U moet logboeken expliciet inschakelen. U kunt logboeken configureren in Azure Portal met behulp van het tabblad Diagnostische instellingen .

Schermopname van het inschakelen van de WAF-logboeken.

Als logboekregistratie is ingeschakeld en er een WAF-regel wordt geactiveerd, worden overeenkomende patronen vastgelegd in tekst zonder opmaak om u te helpen bij het analyseren en opsporen van fouten in het WAF-beleid. U kunt uitsluitingen gebruiken om regels af te stemmen en gegevens uit te sluiten die u wilt uitsluiten van de logboeken. Zie uitsluitingslijsten van Web Application Firewall in Azure Front Door voor meer informatie.

U kunt drie typen Azure Front Door-logboeken inschakelen:

  • WAF-logboeken
  • Toegangslogboeken
  • Statustestlogboeken

Activiteitenlogboeken zijn standaard ingeschakeld en bieden inzicht in de bewerkingen die worden uitgevoerd op uw Azure-resources, zoals configuratiewijzigingen in uw Azure Front Door-profiel.

WAF-logboeken

Het logboek FrontDoorWebApplicationFirewallLog bevat aanvragen die overeenkomen met een WAF-regel.

Het logboek FrontdoorWebApplicationFirewallLog bevat een aanvraag die overeenkomt met een WAF-regel.

In de volgende tabel ziet u de waarden die voor elke aanvraag zijn geregistreerd.

Eigenschappen Beschrijving
Actie Actie ondernomen op het verzoek. Logboeken bevatten aanvragen met alle acties. Acties zijn:
  • Allow en allow: De aanvraag is toegestaan om de verwerking voort te zetten.
  • Block en block: de aanvraag heeft een WAF-regel gevonden die is geconfigureerd om de aanvraag te blokkeren. U kunt ook de drempelwaarde voor anomaliescores bereiken en de aanvraag is geblokkeerd.
  • Log en log: de aanvraag heeft een WAF-regel gevonden die is geconfigureerd voor het gebruik van de Log actie.
  • AnomalyScoring en logandscore: de aanvraag heeft een WAF-regel gevonden. De regel draagt bij aan de anomaliescore. De aanvraag kan al dan niet worden geblokkeerd, afhankelijk van andere regels die op dezelfde aanvraag worden uitgevoerd.
  • JS Challenge en JSChallengeIssued: Uitgegeven vanwege ontbrekende/ongeldige toestemming voor uitdaging, ontbrekend antwoord.

    Het logboek wordt gemaakt wanneer een client de eerste keer toegang tot een webtoepassing aanvraagt en nog niet eerder is gevraagd. Deze client ontvangt de pagina JS-uitdaging en gaat verder met het berekenen van de JS-uitdaging. Na een geslaagde berekening krijgt de client de geldigheidscookis.
  • JS Challenge en JSChallengePass: Doorgegeven vanwege een geldig antwoord op de uitdaging.

    Dit logboek wordt gemaakt wanneer een client de JS-uitdaging oplost en de aanvraag opnieuw indient met het juiste antwoord. In dit geval valideert Azure WAF de cookie en gaat verder met het verwerken van de resterende regels zonder dat er een andere JS-uitdaging wordt gegenereerd.
  • JS Challenge en JSChallengeValid: Geregistreerd/passthrough vanwege een geldige uitdaging.

    Dit logboek wordt gemaakt wanneer een client eerder een uitdaging heeft opgelost. In dit geval registreert Azure WAF de aanvraag en verwerkt de resterende regels.
  • JS Challenge en JSChallengeBlock: Geblokkeerd

    Dit logboek wordt gemaakt wanneer een JS-uitdagingsberekening mislukt.
ClientIP Het IP-adres van de client die de aanvraag heeft ingediend. Als de aanvraag een X-Forwarded-For header bevat, wordt het IP-adres van de client uit dat headerveld gehaald.
ClientPort De IP-poort van de client die de aanvraag heeft ingediend.
DETAILS Meer informatie over de aanvraag, inclusief eventuele bedreigingen die zijn gedetecteerd.
matchVariableName: HTTP-parameternaam van de aanvraag die overeenkomt, bijvoorbeeld headernamen (maximaal 100 tekens).
matchVariableValue: Waarden die de overeenkomst hebben geactiveerd (maximaal 100 tekens).
Host De Host header van de aanvraag.
Beleid De naam van het WAF-beleid dat de aanvraag heeft verwerkt.
PolicyMode Bewerkingsmodus van het WAF-beleid. Mogelijke waarden zijn Prevention en Detection.
RequestUri Volledige URI van de aanvraag.
RuleName De naam van de WAF-regel die overeenkomt met de aanvraag.
SocketIP Het bron-IP-adres dat door WAF wordt gezien. Dit IP-adres is gebaseerd op de TCP-sessie en beschouwt geen aanvraagheaders.
TrackingReference De unieke referentietekenreeks die een aanvraag identificeert die wordt geleverd door Azure Front Door. Deze waarde wordt verzonden naar de client in de X-Azure-Ref antwoordheader. Gebruik dit veld wanneer u zoekt naar een specifieke aanvraag in het logboek.

In de volgende voorbeeldquery ziet u de aanvragen die door azure Front Door WAF zijn geblokkeerd:

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog" 
| where action_s == "Block" 
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"

In het volgende fragment ziet u een voorbeeld van een logboekvermelding, met inbegrip van de reden dat de aanvraag is geblokkeerd:

{
  "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"
        }
      ]
    }
  }
}

Zie Metrische gegevens en logboeken bewaken in Azure Front Door voor meer informatie over de andere Azure Front Door-logboeken.

Volgende stappen

Meer informatie over Azure Front Door.