Back-endpools configureren voor versleuteling

Voltooid

De back-endpool bevat de servers die de toepassing implementeren. Azure Application Gateway routeert aanvragen naar deze servers en kan het verkeer op deze servers verdelen.

In de verzendportal moeten de toepassingsservers in de back-endpool SSL gebruiken om de gegevens te versleutelen die worden doorgegeven tussen Application Gateway en de servers in de back-endpool. Application Gateway gebruikt een SSL-certificaat met een openbare sleutel om de gegevens te versleutelen. De servers gebruiken de bijbehorende persoonlijke sleutel om de gegevens te ontsleutelen terwijl ze worden ontvangen. In deze les ziet u hoe u de back-endpool maakt en de benodigde certificaten installeert in Application Gateway. Deze certificaten helpen de berichten te beveiligen die naar en van de back-endpool worden verzonden.

Versleuteling van Application Gateway naar de back-endpool

Een back-endpool kan verwijzen naar afzonderlijke virtuele machines, een virtuele-machineschaalset, de IP-adressen van fysieke computers (zowel on-premises als extern uitgevoerd) of services die worden gehost via Azure App Service. Alle servers in de back-endpool moeten op dezelfde manier worden geconfigureerd, inclusief hun beveiligingsinstellingen.

diagram waarin wordt getoond hoe Application Gateway een aanvraag naar een webserver routeert.

Als het verkeer dat wordt omgeleid naar de back-endpool wordt beveiligd via SSL, moet elke server in de back-endpool een geschikt certificaat opgeven. Voor testdoeleinden kunt u een zelfondertekend certificaat maken. In een productieomgeving moet u altijd een certificaat genereren of aanschaffen dat een certificeringsinstantie (CA) kan verifiëren.

Er zijn momenteel twee versies van Application Gateway: v1 en v2. Ze hebben vergelijkbare mogelijkheden, maar hebben iets andere implementatiedetails. De versie v2 biedt meer functies en prestatieverbeteringen.

Certificaatconfiguratie in Application Gateway v1

Application Gateway v1 vereist dat u het verificatiecertificaat voor de servers in de gatewayconfiguratie installeert. Dit certificaat bevat de openbare sleutel die Application Gateway gebruikt om berichten te versleutelen en uw servers te verifiëren. U kunt dit certificaat maken door het te exporteren vanaf de server. De toepassingsserver gebruikt de bijbehorende persoonlijke sleutel voor het ontsleutelen van deze berichten. Deze persoonlijke sleutel mag alleen worden opgeslagen op uw toepassingsservers.

U kunt een verificatiecertificaat toevoegen aan Application Gateway met behulp van de opdracht az network application-gateway auth-cert create vanuit de Azure CLI. In het volgende voorbeeld ziet u de syntaxis van deze opdracht. Het certificaat moet de CER-indeling (Claim, Evidence en Reasoning) hebben.

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 biedt andere opdrachten die u kunt gebruiken om verificatiecertificaten weer te geven en te beheren. Bijvoorbeeld:

  • De opdracht az network application-gateway auth-cert list toont de certificaten die zijn geïnstalleerd.
  • U kunt de opdracht az network application-gateway auth-cert update gebruiken om het certificaat te wijzigen.
  • Met de opdracht az network application-gateway auth-cert delete wordt een certificaat verwijderd.

Certificaatconfiguratie in Application Gateway v2

Application Gateway v2 heeft iets andere verificatievereisten. U geeft het certificaat op voor de certificeringsinstantie die het SSL-certificaat heeft geverifieerd voor de servers in de back-endpool. U voegt dit certificaat toe als een vertrouwd basiscertificaat aan Application Gateway. Gebruik de opdracht az network application-gateway root-cert create vanuit de Azure CLI.

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>

Als uw servers een zelfondertekend certificaat gebruiken, voegt u dit certificaat toe als het vertrouwde basiscertificaat in Application Gateway.

HTTP-instellingen

Application Gateway maakt gebruik van een regel om op te geven hoe de berichten die worden ontvangen op de binnenkomende poort naar de servers in de back-endpool worden doorgestuurd. Als de servers SSL gebruiken, moet u de regel configureren om het volgende aan te geven:

  • De servers verwachten verkeer via het HTTPS-protocol.
  • Welk certificaat moet worden gebruikt om verkeer te versleutelen en de verbinding met een server te verifiëren.

U definieert deze configuratiegegevens met behulp van een HTTP-instelling.

U kunt een HTTP-instelling definiëren met behulp van de opdracht az network application-gateway http-settings create in de Azure CLI. In het volgende voorbeeld ziet u de syntaxis voor het maken van een instelling waarmee verkeer wordt gerouteerd met behulp van het HTTPS-protocol naar poort 443 op de servers in de back-endpool. Als u Application Gateway v1 gebruikt, is de parameter --auth-certs de naam van het verificatiecertificaat dat u eerder aan Application Gateway hebt toegevoegd.

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>

Als u Application Gateway v2 gebruikt, laat u de parameter --auth-certs weg. Application Gateway neemt contact op met de back-endserver. Het verifieert de echtheid van het certificaat dat door de server wordt gepresenteerd op basis van de CA's die zijn opgegeven door een lijst met vertrouwde basiscertificaten. Als er geen overeenkomst is, maakt Application Gateway geen verbinding met de back-endserver en mislukt het met een HTTP 502-fout (Ongeldige gateway).