Configurer les pools de back-ends pour le chiffrement

Effectué

Le pool de back-ends contient les serveurs qui implémentent l’application. Azure Application Gateway route les demandes vers ces serveurs et peut équilibrer la charge du trafic entre ces serveurs.

Dans le portail d’expédition, les serveurs d’applications dans le pool de back-ends doivent utiliser SSL pour chiffrer les données qui transitent entre Application Gateway et les serveurs du pool de back-ends. Application Gateway utilise un certificat SSL avec une clé publique pour chiffrer les données. Les serveurs utilisent la clé privée correspondante pour déchiffrer les données à mesure qu’elles sont reçues. Dans cette unité, vous voyez comment créer le pool de backends et installer les certificats nécessaires dans Application Gateway. Ces certificats permettent de protéger les messages envoyés à destination et en provenance du pool de backends.

Chiffrement d’Application Gateway au pool de back-ends

Un pool de back-ends peut référencer des machines virtuelles individuelles, un groupe de machines virtuelles identiques, les adresses IP d’ordinateurs réels (en local ou exécutés à distance) ou des services hébergés via Azure App Service. Tous les serveurs du pool de back-ends doivent être configurés de la même façon, y compris leurs paramètres de sécurité.

Diagram showing how Application Gateway routes a request to a web server.

Si le trafic dirigé vers le pool de back-ends est protégé avec SSL, chaque serveur du pool de back-ends doit fournir un certificat approprié. Dans le cadre d’un test, vous pouvez créer un certificat auto-signé. Dans un environnement de production, vous devez toujours générer ou acheter un certificat qu’une autorité de certification (CA) peut authentifier.

Application Gateway est actuellement disponible en deux versions : v1 et v2. Ils ont des fonctionnalités similaires mais diffèrent légèrement au niveau des détails d’implémentation. La version v2 offre plus de fonctionnalités et de meilleures performances.

Configuration de certificat dans Application Gateway v1

Application Gateway v1 nécessite l’installation du certificat d’authentification pour les serveurs dans la configuration de la passerelle. Ce certificat contient la clé publique utilisée par Application Gateway pour chiffrer les messages et authentifier vos serveurs. Vous pouvez créer ce certificat en l’exportant à partir du serveur. Le serveur d’applications utilise la clé privée correspondante pour déchiffrer ces messages. Cette clé privée doit être stockée sur vos serveurs d’application uniquement.

Vous pouvez ajouter un certificat d’authentification dans Application Gateway en utilisant la commande az network application-gateway auth-cert create de l’interface Azure CLI. L’exemple suivant illustre la syntaxe de cette commande. Le certificat doit être au format CER (Claim, Evidence, and Reasoning).

az network application-gateway auth-cert create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <certificate name> \
    --cert-file <path to authentication certificate>

Application Gateway fournit d’autres commandes que vous pouvez utiliser pour lister et gérer des certificats d’authentification. Par exemple :

  • La commande az network application-gateway auth-cert list montre les certificats qui ont été installés.
  • Vous pouvez utiliser la commande az network application-gateway auth-cert update pour changer le certificat.
  • La commande az network application-gateway auth-cert delete supprime un certificat.

Configuration de certificat dans Application Gateway v2

Application Gateway v2 a des exigences d’authentification légèrement différentes. Vous fournissez le certificat à l’autorité de certification qui a authentifié le certificat SSL pour les serveurs du pool de back-ends. Vous ajoutez ce certificat comme certificat racine approuvé dans Application Gateway. Dans Azure CLI, utilisez la commande az network application-gateway root-cert create.

az network application-gateway root-cert create \
      --resource-group <resource group name> \
      --gateway-name <application gateway name> \
      --name <certificate name> \
      --cert-file <path to trusted CA certificate>

Si vos serveurs utilisent un certificat auto-signé, ajoutez ce certificat comme certificat racine approuvé dans Application Gateway.

Paramètres HTTP

Application Gateway utilise une règle pour indiquer comment diriger les messages reçus sur son port entrant vers les serveurs du pool de backends. Si les serveurs utilisent SSL, vous devez configurer la règle pour indiquer :

  • Les serveurs attendent le trafic sur le protocole HTTPS.
  • Quel certificat utiliser pour chiffrer le trafic et authentifier la connexion à un serveur.

Vous définissez ces informations de configuration à l’aide d’un paramètre HTTP.

Vous pouvez définir un paramètre HTTP en utilisant la commande az network application-gateway http-settings create dans l’interface Azure CLI. L’exemple suivant montre la syntaxe permettant de créer un paramètre qui route le trafic à l’aide du protocole HTTPS vers le port 443 sur les serveurs du pool de back-ends. Si vous utilisez Application Gateway v1, le paramètre --auth-certs est le nom du certificat d’authentification que vous avez précédemment ajouté dans Application Gateway.

az network application-gateway http-settings create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <HTTPS settings name> \
    --port 443 \
    --protocol Https \
    --auth-certs <certificate name>

Si vous utilisez Application Gateway v2, omettez le paramètre --auth-certs. Application Gateway contacte le serveur back-end. Il vérifie l’authenticité du certificat présenté par le serveur par rapport aux autorités de certification spécifiées par une liste de certificats racines approuvés. Si aucune correspondance n’est trouvée, Application Gateway ne se connecte pas au serveur back-end et échoue avec une erreur HTTP 502 (Passerelle incorrecte).