Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Web Application Firewall erőforrásait naplók használatával figyelheti. Mentheti a teljesítményt, a hozzáférést és az egyéb adatokat, vagy felhasználhatja őket egy erőforrásból monitorozási célokra.
Megjegyzés:
Javasoljuk az Azure Az PowerShell modult használni az Azure-val való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulba való migrálásról további információt az Azure PowerShell migrálása az AzureRM-ből az Az-be című témakörben talál.
Diagnosztikai naplók
Az Azure-ban különböző típusú naplókat használhat az alkalmazásátjárók kezeléséhez és hibaelhárításához. Ezen naplók egy része a portálról érhető el. Minden napló kinyerhető az Azure Blob Storage-ból, és különböző eszközökben tekinthető meg, például az Azure Monitor naplóiban, az Excelben és a Power BI-ban. A naplók különböző típusairól az alábbi listából tudhat meg többet:
- Tevékenységnapló: Az Azure-tevékenységnaplók használatával megtekintheti az Azure-előfizetésbe küldött összes műveletet és azok állapotát. A tevékenységnaplók bejegyzéseit alapértelmezés szerint gyűjti a rendszer, ezeket az Azure Portalon tekintheti meg.
- Hozzáférési erőforrásnapló: Ezzel a naplóval megtekintheti Application Gateway hozzáférési mintákat, és elemezheti a fontos információkat. Ez magában foglalja a hívó IP-címét, a kért URL-címet, a válasz késleltetését, a visszatérési kódot, valamint a be- és kimenő bájtokat. Ez a napló az egyes kérések egyedi rekordjait tartalmazza, és a kérést feldolgozó egyedi Application Gateway társítja. Az egyedi Application Gateway példányok az instanceId tulajdonság alapján azonosíthatók.
- Teljesítményerőforrás-napló: Ezzel a naplóval megtekintheti, hogyan teljesítenek Application Gateway példányok. Ez a napló rögzíti az egyes példányok teljesítményadatait, beleértve a kiszolgált kérelmek teljes számát, az átviteli sebességet bájtban, az összes kiszolgált kérést, a sikertelen kérelmek számát, valamint a kifogástalan és nem megfelelő állapotú háttérpéldányok számát. A rendszer 60 másodpercenként gyűjti a teljesítménynaplót. A teljesítménynapló csak a v1 termékváltozathoz érhető el. A v2 termékváltozathoz használja a Metrikák a teljesítményadatokhoz.
- Tűzfal erőforrásnaplója: Ezzel a naplóval megtekintheti a webalkalmazási tűzfallal konfigurált Application Gateway észlelési vagy megelőzési módjában naplózott kéréseket.
Megjegyzés:
A naplók csak az Azure Resource Manager-alapú üzemi modellben üzembe helyezett erőforrásokhoz érhetők el. A klasszikus üzemi modellben nem használhatók naplók az erőforrásokhoz. A két modell jobb megértéséhez tekintse meg a Resource Manager üzembe helyezésének ismertetése és a klasszikus üzembe helyezésről szóló cikket.
A naplók tárolására három lehetőség közül választhat:
- Tárfiók: A tárfiókok akkor használhatók a naplókhoz, ha a naplókat hosszabb ideig tárolják, és szükség esetén felülvizsgálják.
- Eseményközpontok: Az eseményközpontok nagyszerű lehetőséget kínálnak más biztonsági információkkal és eseménykezelési (SIEM) eszközökkel való integrációra, hogy riasztásokat kapjanak az erőforrásokról.
- Azure Monitor naplók: Azure Monitor naplók az alkalmazás általános valós idejű monitorozására vagy trendek megtekintésére használhatók.
Naplózás engedélyezése a PowerShell-lel
A tevékenységnaplózás automatikusan engedélyezve van minden Resource Manager-erőforráshoz. Engedélyeznie kell a hozzáférés- és teljesítménynaplózást a naplókon keresztül elérhető adatok gyűjtésének megkezdéséhez. A naplózás engedélyezéséhez kövesse az alábbi lépéseket:
Jegyezze fel azon Storage-fiók erőforrás-azonosítóját, ahol a naplóadatokat tárolja. Ez az érték a következő formában jelenik meg: /subscriptions/<subscriptionId>/resourceGroups/<erőforráscsoport neve>/providers/Microsoft.Storage/storageAccounts/<tárfiók neve>. Az előfizetés bármilyen tárfiókját használhatja. Ezeket az információkat az Azure Portalon találhatja meg.
Jegyezze fel az Application Gateway erőforrás-azonosítóját, amelyhez engedélyezve van a naplózás. Ez az érték a következő formában jelenik meg: /subscriptions/<subscriptionId>/resourceGroups/<erőforráscsoport neve>/providers/Microsoft.Network/applicationGateways/<alkalmazásátjáró neve>. Ezeket az információkat a portálon találhatja meg.
Engedélyezze az erőforrás-naplózást a következő PowerShell-parancsmag használatával:
Set-AzDiagnosticSetting -ResourceId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Network/applicationGateways/<application gateway name> -StorageAccountId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name> -Enabled $true
Jótanács
A tevékenységnaplókhoz nincs szükség külön tárfiókra. A Storage hozzáférés- és teljesítménynaplózásra való használata szolgáltatási díjjal jár.
Naplózás engedélyezése az Azure Portalon
Az Azure Portalon keresse meg az erőforrást, és válassza a Diagnosztikai beállítások lehetőséget.
Az Application Gateway esetében három napló érhető el:
- Hozzáférési napló
- Teljesítménynapló
- Tűzfalnapló
Válassza a Diagnosztikai beállítások megadása lehetőséget.
A Diagnosztikai beállítások lap az erőforrásnaplók beállításait tartalmazza. Ebben a példában a Log Analytics tárolja a naplókat. Az erőforrásnaplók mentéséhez eseményközpontot, tárfiókot vagy partnermegoldást is használhat.
Írja be a beállítások nevét, erősítse meg a beállításokat, és válassza a Mentés lehetőséget.
Tevékenységnapló
Az Azure alapértelmezés szerint létrehozza a tevékenységnaplót. A naplókat a rendszer 90 napig megőrzi az Azure-eseménynaplók tárolójában. Ezekről a naplókról az Események és tevékenységnapló megtekintése cikkben olvashat bővebben.
Hozzáférési napló
Az elérési napló csak akkor jön létre, ha engedélyezte azt minden Application Gateway példányon, a korábbi lépésekben leírt módon. Az adatok a naplózás engedélyezésekor megadott tárfiókban vannak tárolva. A Application Gateway minden hozzáférése JSON formátumban van naplózva, ahogy az a v1 alábbi példájában látható:
| Érték | Leírás |
|---|---|
| instanceId | A kérést kiszolgáló Application Gateway-példány. |
| ügyfél IP-címe | A kérés eredeti IP-címe. |
| clientPort | A kérés eredeti feladóportja. |
| httpMethod | A kérés által használt HTTP-metódus. |
| requestUri | A kapott kérelem URI-ja. |
| KérésLekérdezés |
Server-Routed: A háttér-pool példány, amely megkapta a kérést. X-AzureApplicationGateway-LOG-ID: A kéréshez használt korrelációs azonosító. Használható a háttérkiszolgálók forgalmi problémáinak elhárítására. SERVER-STATUS: HTTP-válaszkód, amelyet Application Gateway kapott a háttérből. |
| Felhasználói Ügynök (UserAgent) | Az HTTP-kérelem fejlécéből származó felhasználói ügynök. |
| HTTP-állapot | Az ügyfélnek visszaadott HTTP-állapotkód az Application Gateway által. |
| HTTP-verzió | A kérés HTTP-verziója. |
| FogadottBájtok | A fogadott csomagok mérete bájtban. |
| elküldött byte-ok | Az elküldött csomagok mérete bájtban. |
| eltöltött idő | A kérés feldolgozásához és a válasz elküldéséhez szükséges idő (ezredmásodpercben). Ez úgy van kiszámítva, hogy az időtartam megegyezik azzal az időközzel, amely az HTTP-kérés első bájtjának az Application Gateway általi fogadásától a válaszküldési művelet befejezéséig tart. Fontos megjegyezni, hogy az Időalapú mező általában azt az időt tartalmazza, amikor a kérés- és válaszcsomagok a hálózaton keresztül haladnak. |
| SSL engedélyezve | Azt határozza meg, hogy a háttérkészletekkel való kommunikáció TLS/SSL-t használt-e. Az érvényes értékek be- és ki vannak kapcsolva. |
| állomás | Az a gazdagépnév, amellyel a kérést elküldték a háttérkiszolgálónak. Ha a háttérbeli állomásnév felülírásra kerül, ez a név ezt tükrözni fogja. |
| eredetiHázigazda | Az az állomásnév, amellyel a Application Gateway megkapta a kérést az ügyféltől. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayAccess",
"timestamp": "2017-04-26T19:27:38Z",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "ApplicationGatewayRole_IN_0",
"clientIP": "203.0.113.97",
"clientPort": 46886,
"httpMethod": "GET",
"requestUri": "/phpmyadmin/scripts/setup.php",
"requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e&SERVER-STATUS=404",
"userAgent": "-",
"httpStatus": 404,
"httpVersion": "HTTP/1.0",
"receivedBytes": 65,
"sentBytes": 553,
"timeTaken": 205,
"sslEnabled": "off",
"host": "www.contoso.com",
"originalHost": "www.contoso.com"
}
}
A Application Gateway és a WAF v2 esetében a naplók egy kicsit több információt mutatnak:
| Érték | Leírás |
|---|---|
| instanceId | A kérést kiszolgáló Application Gateway-példány. |
| ügyfél IP-címe | A kérés eredeti IP-címe. |
| clientPort | A kérés eredeti feladóportja. |
| httpMethod | A kérés által használt HTTP-metódus. |
| requestUri | A kapott kérelem URI-ja. |
| Felhasználói Ügynök (UserAgent) | Az HTTP-kérelem fejlécéből származó felhasználói ügynök. |
| HTTP-állapot | Az ügyfélnek visszaadott HTTP-állapotkód az Application Gateway által. |
| HTTP-verzió | A kérés HTTP-verziója. |
| FogadottBájtok | A fogadott csomagok mérete bájtban. |
| elküldött byte-ok | Az elküldött csomagok mérete bájtban. |
| eltöltött idő | A kérés feldolgozásához és a válasz elküldéséhez szükséges idő (ezredmásodpercben). Ez úgy van kiszámítva, hogy az időtartam megegyezik azzal az időközzel, amely az HTTP-kérés első bájtjának az Application Gateway általi fogadásától a válaszküldési művelet befejezéséig tart. Fontos megjegyezni, hogy az Időalapú mező általában azt az időt tartalmazza, amikor a kérés- és válaszcsomagok a hálózaton keresztül haladnak. |
| SSL engedélyezve | Azt határozza meg, hogy a háttérkészletekkel való kommunikáció TLS-t használt-e. Az érvényes értékek be- és ki vannak kapcsolva. |
| sslCipher | A TLS-kommunikációhoz használt titkosítási csomag (ha a TLS engedélyezve van). |
| SSL-protokoll | TLS protokoll használata (ha a TLS engedélyezve van). |
| szerver által irányított | Az a háttérkiszolgáló, amelybe az Application Gateway átirányítja a kérést. |
| szerver állapota | A háttérkiszolgáló HTTP-állapotkódja. |
| szerverválasz-késleltetés | A háttérkiszolgáló válaszának késése. |
| állomás | A kérés hoszt fejlécében felsorolt cím. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayAccess",
"time": "2017-04-26T19:27:38Z",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "appgw_1",
"clientIP": "203.0.113.97",
"clientPort": 46886,
"httpMethod": "GET",
"requestUri": "/phpmyadmin/scripts/setup.php",
"userAgent": "-",
"httpStatus": 404,
"httpVersion": "HTTP/1.0",
"receivedBytes": 65,
"sentBytes": 553,
"timeTaken": 205,
"sslEnabled": "off",
"sslCipher": "",
"sslProtocol": "",
"serverRouted": "104.41.114.59:80",
"serverStatus": "200",
"serverResponseLatency": "0.023",
"host": "www.contoso.com",
}
}
Teljesítménynapló
A teljesítménynapló csak akkor jön létre, ha minden Application Gateway példányon engedélyezte az előző lépésekben részletezettek szerint. Az adatok a naplózás engedélyezésekor megadott tárfiókban vannak tárolva. A teljesítménynapló adatai 1 perces időközönként jönnek létre. Csak a v1 termékváltozathoz érhető el. A v2 termékváltozathoz használja a Metrikák a teljesítményadatokhoz. A rendszer a következő adatokat naplózza:
| Érték | Leírás |
|---|---|
| instanceId | Application Gateway-példány, amelyhez teljesítményadatok jönnek létre. Több példányos alkalmazás átjáró esetén minden példányhoz tartozik egy sor. |
| healthyHostCount | Az egészséges gazdagépek száma a háttérrendszerben. |
| unHealthyHostCount | A háttérkészletben lévő nem megfelelő állapotú gazdagépek száma. |
| kérésszám | A kézbesített kérelmek száma. |
| késés | A példánytól a kéréseket kiszolgáló háttérrendszerig érkező kérések átlagos késése (ezredmásodpercben). |
| sikertelenKérésSzám | Sikertelen kérelmek száma. |
| átviteli sebesség | Átlagos átviteli sebesség az utolsó napló óta, másodpercenként bájtban mérve. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayPerformance",
"time": "2016-04-09T00:00:00Z",
"category": "ApplicationGatewayPerformanceLog",
"properties":
{
"instanceId":"ApplicationGatewayRole_IN_1",
"healthyHostCount":"4",
"unHealthyHostCount":"0",
"requestCount":"185",
"latency":"0",
"failedRequestCount":"0",
"throughput":"119427"
}
}
Megjegyzés:
A késést a HTTP-kérés első bájtjának fogadásától a HTTP-válasz utolsó bájtjának elküldéséig számítja ki a rendszer. Ez a Application Gateway feldolgozási idő és a háttér hálózati költsége, valamint a háttér kérésének feldolgozásához szükséges idő összege.
Tűzfalnapló
A tűzfalnapló csak akkor jön létre, ha az alkalmazási átjáró esetében engedélyezte, ahogyan az előző lépések során részleteztük. Ehhez a naplóhoz szükséges, hogy a webalkalmazási tűzfal egy alkalmazási átjárón legyen konfigurálva. Az adatok a naplózás engedélyezésekor megadott célhelyen vannak tárolva. A rendszer a következő adatokat naplózza:
Application Gateway
Naplóformátum
| Érték | Leírás |
|---|---|
| instanceId | Application Gateway-példány, amely számára tűzfaladatok kerülnek létrehozásra. Több példányos alkalmazás átjáró esetén minden példányhoz tartozik egy sor. |
| clientIp | A kérés eredeti IP-címe. |
| requestUri | A fogadott kérelem URL-címe. |
| szabálykészlettípus | Szabálykészlet típusa. Az elérhető érték az OWASP. |
| ruleSetVersion | A szabálykészlet használt verziója. A rendelkezésre álló értékek a 2.2.9 és a 3.0. |
| szabály azonosítója | Az eseményindító esemény szabályazonosítója. |
| üzenet | Felhasználóbarát üzenet az eseményindító eseményhez. További részleteket a részletek szakaszban talál. |
| művelet |
Házirend mód: Észlelés - észlelve – Ez az egyetlen művelet a WAF esetében észlelési módban. Egy adott szabály összes feltétele megfelelt, és a kérést naplózta, majd átadta a hátrérrendszernek. Házirend mód: Megelőzés - Engedélyezve – Egy adott szabály összes feltétele megfelelt, és a kérés átadva lett a hátrérrendszernek. - Letiltva – Egy adott szabály összes feltétele megfelelt, és a kérés le lett tiltva. - Egyeztetés – Egy adott szabályhoz egy/több feltétel teljesült, de a kérelem letiltására vagy átadására vonatkozó döntés további értékelést igényel, és a végső anomáliapontozási szabály alapján lesz kiértékelve. Házirend mód: JavaScript kihívás - JSChallengeIssued: A kihívási engedély hiánya/érvénytelensége és a válasz hiánya miatt került kiadásra. Ez a napló akkor jön létre, amikor egy ügyfél első alkalommal kéri egy webalkalmazás hozzáférését, és korábban még nem volt hitelesítési kihívása. 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. - JSChallengePass: Érvényes kihívásra adott válasz miatt sikeres. 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. - JSChallengeValid: Érvényes kihívás miatt naplózva/átmenő 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. - JSChallengeBlock: Blokkolva Ez a napló akkor jön létre, ha egy JS-feladat számítása meghiúsul. |
| hely | Az a webhely, amelyhez a naplót létrehozták. Jelenleg csak a Globális lista jelenik meg, mert a szabályok globálisak. |
| Részletek | A kiváltó esemény részletei. |
| részletek.üzenet | A szabály leírása. |
| részletadatok | A kérelemben talált konkrét adatok, amelyek megfelelnek a szabálynak. |
| adatok.fájl | A szabályt tartalmazó konfigurációs fájlt. |
| részletek.sor | Az eseményt aktiváló konfigurációs fájl sorszáma. |
| állomásnév | Az Application Gateway állomásneve vagy IP-címe. |
| transactionId | Egyedi azonosító egy adott tranzakcióhoz, amely segít az ugyanazon a kérésen belül előforduló több szabálysértés csoportosításában. |
| policyId | Az Alkalmazásátjáróhoz, figyelőhöz vagy elérési úthoz társított tűzfal-szabályzat egyedi azonosítója. |
| szabályzati hatókör | A szabályzat helye – az értékek lehetnek "Globális", "Figyelő" vagy "Hely". |
| politikaHatókörNeve | Annak az objektumnak a neve, amelyre a szabályzatot alkalmazzák. |
példa
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayFirewall",
"time": "2017-03-20T15:52:09.1494499Z",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "ApplicationGatewayRole_IN_0",
"clientIp": "203.0.113.147",
"requestUri": "/",
"ruleSetType": "OWASP",
"ruleSetVersion": "3.0",
"ruleId": "920350",
"ruleGroup": "920-PROTOCOL-ENFORCEMENT",
"message": "Host header is a numeric IP address",
"action": "Matched",
"site": "Global",
"details": {
"message": "Warning. Pattern match \"^[\\\\d.:]+$\" at REQUEST_HEADERS:Host ....",
"data": "127.0.0.1",
"file": "rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
"line": "791"
},
"hostname": "127.0.0.1",
"transactionId": "16861477007022634343",
"policyId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/drewRG/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/perListener",
"policyScope": "Listener",
"policyScopeName": "httpListener1"
}
}
}
A tevékenységnapló megtekintése és elemzése
A tevékenységnaplók adatainak megtekintéséhez és elemzéséhez használja az alábbi módszerek bármelyikét:
- Azure-eszközök: Adatok lekérése a tevékenységnaplóból a Azure PowerShell, az Azure CLI, az Azure REST API vagy a Azure Portal. Az egyes metódusok részletes utasításait a Tevékenységműveletek a Resource Manager cikkben találja.
- Power BI: Ha még nem rendelkezik Power BI-fiókkal , ingyenesen kipróbálhatja. A Power BI-sablonalkalmazások használatával elemezheti az adatokat.
A hozzáférési, teljesítmény- és tűzfalnaplók megtekintése és elemzése
Az Azure Monitor-naplók összegyűjthetik a számláló- és eseménynapló-fájlokat a Blob Storage-fiókból. Vizualizációkat és hatékony keresési lehetőségeket tartalmaz a naplók elemzéséhez.
A Storage-fiókjához is csatlakozhat, és lekérheti a hozzáférés- és teljesítménynaplók JSON-naplóbejegyzéseit. A letöltött JSON-fájlokat átalakíthatja CSV-fájlokká, és ezeket megtekintheti az Excelben, Power BI-ban vagy bármely más adatvizualizációs eszközben.
Jótanács
Ha ismeri a Visual Studiót, illetve C#-állandók és -változók módosításának alapfogalmait, használja a GitHubról elérhető naplókonvertáló eszközöket.
Hozzáférési naplók elemzése a GoAccess segítségével
Közzétettünk egy Resource Manager sablont, amely telepíti és futtatja a népszerű GoAccess naplóelemzőt Application Gateway hozzáférési naplókhoz. A GoAccess értékes HTTP-forgalmi statisztikákat biztosít, például egyedi látogatókat, kért fájlokat, gazdagépeket, operációs rendszereket, böngészőket, HTTP-állapotkódokat és még sok mást. További részletekért tekintse meg a Readme fájlt a Resource Manager sablonmappában a GitHubon.
Következő lépések
- Számláló- és eseménynaplók vizualizációja az Azure Monitor-naplók használatával.
- Az Azure-tevékenységnapló vizualizációja a Power BI blogbejegyzésével.
- Azure-tevékenységnaplók megtekintése és elemzése a Power BI-ban és további blogbejegyzések.