Introduction
Les Applications gateways (SKU2) sont des reverses proxy ( LB7) managés par Azure.
Supervision de l’Application Gateway avec Grafana
Notre objectif consiste à surveiller notre AppsGW (Application Gateway) en utilisant Grafana grace à Azure Monitor.
1. Prérequis
- Assurez-vous d’avoir un compte Azure avec l’Application Gateway déployée.
- Installez Grafana sur un serveur ou utilisez la version hébergée de Grafana.
2. Configuration d’Azure Monitor
- Accédez au portail Azure.
- Créez un tableau de bord Azure Monitor pour surveiller l’Application Gateway.
- Obtenez les clés d’API Azure Monitor pour l’authentification.
3. Installation du plugin Azure Monitor pour Grafana
- Ouvrez votre instance de Grafana.
- Accédez à “Configuration” dans le menu latéral.
- Sélectionnez “Plugins” et recherchez “Azure Monitor”.
- Installez le plugin Azure Monitor.
4. Configuration du plugin Azure Monitor
- Dans Grafana, cliquez sur “Configuration” dans le menu latéral.
- Sélectionnez “Data Sources” et ajoutez une nouvelle source de données.
- Choisissez “Azure Monitor” comme type de source de données.
- Configurez la source de données avec vos clés d’API Azure Monitor.
5. Création de dashboard
Ci dessous quelques exemple de dashboard que l’on peut faire à partir des métriques mise à disposition par AZure monitor
Un autre exemple avec le plugin mermaid :
Configuration via Terraform
On peut aussi le faire avec Terrform. Ci dessous un exemple de code gracieusement fournit par Alexandre COMET :
Query Logs analytics
Ci dessous un exemple de métrique :
AzureMetrics
| where $__timeFilter(TimeGenerated) and Resource == "MyLB" and MetricName == "VipAvailability"
| project TimeGenerated, Count
| order by TimeGenerated asc
Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome
Hardening Azure Application Gateway WAF_v2 (Azure CLI az)
Selon les recommandations officielles Microsoft Learn : Application Gateway Security Baseline [1], le durcissement maximal impose la politique cryptographique AppGwSslPolicy20220101S (TLS 1.2/1.3 uniquement, suites ECDHE-RSA/ECDSA-AESGCM) [2] et le mode Prevention sur le moteur WAF OWASP :
# Appliquer la politique TLS stricte AppGwSslPolicy20220101S
az network application-gateway ssl-policy set \
--resource-group rg-prod-sec \
--gateway-name appgw-prod-01 \
--policy-type Predefined \
--policy-name AppGwSslPolicy20220101S
# Activer les logs de diagnostic WAF et Access vers Log Analytics
az monitor diagnostic-settings create \
--name diag-appgw-sec \
--resource $(az network application-gateway show -g rg-prod-sec -n appgw-prod-01 --query id -o tsv) \
--workspace $(az monitor log-analytics workspace show -g rg-prod-sec -n law-secops --query id -o tsv) \
--logs '[{"category":"ApplicationGatewayAccessLog","enabled":true},{"category":"ApplicationGatewayFirewallLog","enabled":true}]'
