Megosztás a következőn keresztül:


Az Azure Web Application Firewall monitorozása és naplózása

Az Azure Web Application Firewall az Azure Front Dooron átfogó naplózást és telemetriát biztosít, amely segít megérteni a webalkalmazási tűzfal (WAF) működését és a szükséges műveleteket.

Az Azure Front Door WAF-naplója integrálva van az Azure Monitorral. Az Azure Monitor lehetővé teszi a diagnosztikai adatok nyomon követését, beleértve a WAF-riasztásokat és a naplókat. A WAF-monitorozást az Azure Portal Azure Front Door-erőforrásában, a Diagnosztika lapon, az infrastruktúrán keresztül, kód megközelítéseként vagy közvetlenül az Azure Monitor használatával konfigurálhatja.

Mérőszámok

Az Azure Front Door automatikusan rögzíti a metrikákat, hogy segítsen megérteni a WAF viselkedését.

A WAF metrikáinak elérése:

  1. Jelentkezzen be az Azure Portalra , és nyissa meg az Azure Front Door-profilját.
  2. A Figyelés alatti bal szélső panelen válassza a Metrikák lapot.
  3. Adja hozzá a webalkalmazási tűzfal kéréseinek száma metrikát a WAF-szabályoknak megfelelő kérések számának nyomon követéséhez.

Egyéni szűrőket művelettípusok és szabálynevek alapján hozhat létre. A metrikák a kéréseket tartalmazzák, kivéve Logaz összes műveletet.

Képernyőkép az Azure Front Door WAF metrikáiról.

JavaScript-kihívás (előzetes verzió) metrikák

A JavaScript-feladat WAF-metrikáinak elérése:

  • Adja hozzá a webalkalmazási tűzfal JS Challenge Request Count metrikát a JavaScript-kihívás WAF-szabályainak megfelelő kérések számának nyomon követéséhez.

A metrika részeként a következő szűrőket biztosítjuk:

  • PolicyName: Ez a WAF-házirend neve
  • Szabály: Ez lehet egyéni szabály vagy robotszabály
  • Művelet: A JS Challenge műveletnek négy lehetséges értéke van
    • Kiállítva: A JS Challenge meghívása az első alkalommal történik
    • Megfelelt: A JS Challenge számítása sikeres volt, és válasz érkezett
    • Érvényes: JS Challenge érvényességi cookie volt jelen
    • Letiltva: A JS Challenge számítása nem sikerült

Képernyőkép a JavaScript-kihívások metrikáiról.

Naplók és diagnosztikák

Az Azure Front Door WAF részletes jelentést nyújt az egyes kérésekről és az általa észlelt fenyegetésekről. A naplózás integrálva van az Azure diagnosztikai naplóival és riasztásaival az Azure Monitor-naplók használatával.

A naplók alapértelmezés szerint nincsenek engedélyezve. Explicit módon engedélyeznie kell a naplókat. A naplókat a Diagnosztikai beállítások lapon konfigurálhatja az Azure Portalon.

Képernyőkép a WAF-naplók engedélyezéséről.

Ha a naplózás engedélyezve van, és egy WAF-szabály aktiválódik, a rendszer egyszerű szövegben naplózza az egyező mintákat a WAF-házirend viselkedésének elemzéséhez és hibakereséséhez. A kizárásokkal finomhangolhatja a szabályokat, és kizárhat minden olyan adatot, amelyet ki szeretne zárni a naplókból. További információ: Webalkalmazási tűzfalkizárási listák az Azure Front Doorban.

Az Azure Front Door-naplók három típusát engedélyezheti:

  • WAF-naplók
  • Hozzáférési naplók
  • Állapotadat-mintavételi naplók

A tevékenységnaplók alapértelmezés szerint engedélyezve vannak, és betekintést nyújtanak az Azure-erőforrásokon végrehajtott műveletekbe, például az Azure Front Door-profil konfigurációs változásaiba.

WAF-naplók

A napló FrontDoorWebApplicationFirewallLog waf-szabálynak megfelelő kéréseket tartalmaz.

A napló FrontdoorWebApplicationFirewallLog tartalmazza a WAF-szabálynak megfelelő kéréseket.

Az alábbi táblázat az egyes kérésekhez naplózott értékeket mutatja.

Tulajdonság Leírás
Művelet A kérésen végrehajtott művelet. A naplók az összes művelettel rendelkező kéréseket tartalmazzák. A műveletek a következők:
  • Allow és allow: A kérés tovább folytathatta a feldolgozást.
  • Block és block: A kérés megfelelt a kérés letiltására konfigurált WAF-szabálynak. Azt is megteheti, hogy elérte az anomáliadetektáció küszöbértékét , és a kérés le lett tiltva.
  • Log és log: A kérés megfelelt a művelet használatára Log konfigurált WAF-szabálynak.
  • AnomalyScoring és logandscore: A kérelem megfelelt egy WAF-szabálynak. A szabály hozzájárul az anomáliák pontszámához. Előfordulhat, hogy a kérés le van tiltva, vagy nem, attól függően, hogy más szabályok futnak-e ugyanazon a kérésen.
  • JS Challenge és JSChallengeIssued: Hiányzó/érvénytelen feladatkezelés, hiányzó válasz miatt kiadva.

    A napló akkor jön létre, amikor egy ügyfél először kér hozzáférést egy webalkalmazáshoz, és korábban még nem támadták meg. Ez az ügyfél megkapja a JS-feladatoldalt, és folytatja a JS-feladat kiszámítását. Sikeres számítás esetén az ügyfél megkapja az érvényességi cookie-t.
  • JS Challenge és JSChallengePass: Az érvényes válasz miatt át lett adva.

    Ez a napló akkor jön létre, amikor egy ügyfél megoldja a JS-feladatot, és a megfelelő választ adja vissza a kérésnek. Ebben az esetben az Azure WAF ellenőrzi a cookie-t, és folytatja a fennmaradó szabályok feldolgozását anélkül, hogy újabb JS-kihívást hoz létre.
  • JS Challenge és JSChallengeValid: Naplózott/átengedés az érvényes kihívás miatt.

    Ez a napló akkor jön létre, ha egy ügyfél korábban megoldott egy feladatot. Ebben az esetben az Azure WAF naplózza a kérést, és folytatja a fennmaradó szabályok feldolgozását.
  • JS Challenge és JSChallengeBlock: Letiltva

    Ez a napló akkor jön létre, ha egy JS-feladat számítása meghiúsul.
ClientIP A kérést küldő ügyfél IP-címe. Ha a kérelemben volt egy X-Forwarded-For fejléc, az ügyfél IP-címét a rendszer az adott fejlécmezőből veszi át.
ClientPort A kérést küldő ügyfél IP-portja.
Részletek További részletek a kérésről, beleértve az észlelt fenyegetéseket is.
matchVariableName: A kérelem HTTP-paraméterneve megfelelt, például fejlécnevek (legfeljebb 100 karakterig).
matchVariableValue: Az egyezést aktiváló értékek (legfeljebb 100 karakterig).
Gazdagép A Host kérés fejléce.
Szabályzat A kérést feldolgozó WAF-szabályzat neve.
PolicyMode A WAF-szabályzat műveleti módja. A lehetséges értékek a következők: Prevention és Detection.
RequestUri A kérelem teljes URI-ja.
RuleName Annak a WAF-szabálynak a neve, amelyet a kérés megfelelt.
SocketIP A WAF által látott forrás IP-cím. Ez az IP-cím a TCP-munkameneten alapul, és nem veszi figyelembe a kérésfejléceket.
TrackingReference Az Azure Front Door által kiszolgált kérést azonosító egyedi referenciasztring. Ezt az értéket a rendszer elküldi az ügyfélnek a X-Azure-Ref válaszfejlécen. Ezt a mezőt akkor használja, ha egy adott kérést keres a naplóban.

Az alábbi példa lekérdezés azOkat a kéréseket mutatja be, amelyeket az Azure Front Door WAF blokkolt:

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

Az alábbi kódrészlet egy példanapló-bejegyzést mutat be, beleértve a kérés letiltésének okát is:

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

A többi Azure Front Door-naplóról további információt az Azure Front Door metrikáinak és naplóinak monitorozása című témakörben talál.

Következő lépések

További információ az Azure Front Doorról.