Utiliser Azure Log Analytics pour examiner les journaux du pare-feu d’applications web (WAF) sur Application Gateway

Une fois que votre WAF Application Gateway est opérationnel, vous pouvez activer les journaux pour examiner ce qui se produit avec chaque requête. Les journaux de pare-feu donnent des informations sur ce que le WAF évalue, met en correspondance et bloque. Avec Log Analytics, vous pouvez examiner les données contenues dans les journaux de pare-feu pour obtenir encore plus d’informations. Pour plus d’informations sur les requêtes de journal, consultez Vue d’ensemble des requêtes de journal dans Azure Monitor.

Prérequis

Importer les journaux du WAF

Pour importer les journaux du pare-feu dans Log Analytics, consultez Intégrité du serveur back-end, journaux de diagnostic et métriques pour la passerelle Application Gateway. Une fois les journaux du pare-feu dans votre espace de travail Log Analytics, vous pouvez afficher les données, écrire des requêtes, créer des visualisations, et ajouter ces dernières au tableau de bord de votre portail.

Explorer les données avec des exemples

Pour afficher les données brutes dans le journal du pare-feu, vous pouvez exécuter la requête suivante :

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"

Cela ressemble à la requête suivante :

Screenshot of Log Analytics query.

Vous pouvez explorer les données et tracer des graphiques ou créer des visualisations à partir d’ici. Consultez les requêtes suivantes comme point de départ :

Requêtes mises en correspondance/bloquées par adresse IP

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by clientIp_s, bin(TimeGenerated, 1m)
| render timechart

Requêtes mises en correspondance/bloquées par URI

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by requestUri_s, bin(TimeGenerated, 1m)
| render timechart

Principales règles mises en correspondance

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by ruleId_s, bin(TimeGenerated, 1m)
| where count_ > 10
| render timechart

Cinq principaux groupes de règles mis en correspondance

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize Count=count() by details_file_s, action_s
| top 5 by Count desc
| render piechart

Ajouter à votre tableau de bord

Une fois que vous créez une requête, vous pouvez l’ajouter à votre tableau de bord. Sélectionnez Épingler au tableau de bord dans le coin supérieur droit de l’espace de travail Log Analytics. Avec les quatre requêtes précédentes épinglées à un exemple de tableau de bord, voici les données que vous pouvez voir en un coup d’œil :

Screenshot shows an Azure dashboard where you can add your query.

Étapes suivantes

Intégrité du serveur back-end, journaux de diagnostic et métriques pour Application Gateway