Retour aux articles • CLOUD • • 3 min de lecture

Azure Application Gateway

Monitorer les Load Balancer des cloud provider

Azure Application Gateway

Introduction

Les Applications gateways (SKU2) sont des reverses proxy ( LB7) managés par Azure.

ℹ️ Bon à savoir
Contrairement au SKUv1 qui était sous IIS, les SKUv2 sont sous NGINX.

Supervision de l’Application Gateway avec Grafana

Notre objectif consiste à surveiller notre AppsGW (Application Gateway) en utilisant Grafana grace à Azure Monitor.

LB7.png

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.

diag.png

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.
    grafana.png

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

QueryExample.png

ex1.png

ex2.png

ex3.png

Un autre exemple avec le plugin mermaid :

draw-mermaid.png

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
Animation exécution CLI dans le terminal

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}]'

Sources