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:
- Jelentkezzen be az Azure Portalra , és nyissa meg az Azure Front Door-profilját.
- A Figyelés alatti bal szélső panelen válassza a Metrikák lapot.
- 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 Log
az összes műveletet.
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
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.
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:
|
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.