Oefening: back-endpools configureren voor versleuteling
U wilt end-to-end-versleuteling implementeren voor de verzendportaltoepassing. Door alle gegevens tussen gebruikers en servers te versleutelen, zorgt u ervoor dat de gegevens niet door onbevoegden kunnen worden onderschept en gelezen.
In deze les stelt u de webtoepassing en de toepassingsgateway in. Vervolgens maakt u enkele zelfondertekende SSL-certificaten en schakelt u versleuteling in uw back-endpool in om het verkeer van de toepassingsgateway naar uw servers te beveiligen.
In de volgende afbeelding worden de elementen gemarkeerd die u in deze oefening configureert. U stelt een toepassingsgateway in met behulp van Azure Application Gateway v2.
Een virtuele machine en een toepassingsgateway implementeren
Open de Azure Cloud Shell in uw browser en meld u aan bij de map met toegang tot het abonnement waarin u resources wilt maken. Voor deze oefening gebruiken we de Bash-shell-omgeving.
Voer de volgende opdracht uit in Cloud Shell om een resourcegroep voor uw resources te maken. Vervang
<resource group name>
door een naam voor uw resourcegroep en<location>
door de Azure-regio waarin u uw resources wilt implementeren.az group create --resource-group <resource group name> --location <location>
Voer de volgende opdracht uit in Cloud Shell om een variabele te maken om de naam van uw resourcegroep op te slaan:
export rgName=<resource group name>
Voer in Azure Cloud Shell de volgende opdracht uit om de broncode voor de verzendportal te downloaden:
git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
Verplaats naar de map shippingportal:
cd shippingportal
Voer het volgende installatiescript uit om de virtuele machine, certificaten en toepassingsgateway te maken:
bash setup-infra.sh
Notitie
Het duurt enkele minuten voordat dit script is voltooid. Hiermee kunt u meerdere processen uitvoeren om de gateway en resources uit te pakken en te configureren. U ziet dat het proces is geslaagd met nulwaarschuwingen en nulfouten.
Controleer of de webserver juist is geconfigureerd
Voer de volgende opdracht uit om de URL weer te geven van de webserver die door het installatiescript is gemaakt.
echo https://"$(az vm show \ --name webservervm1 \ --resource-group $rgName \ --show-details \ --query [publicIps] \ --output tsv)"
Kopieer en plak de URL in uw webbrowser en ga naar de URL.
In uw browser wordt waarschijnlijk een waarschuwingsbericht weergegeven dat lijkt op de volgende afbeelding. De exacte inhoud in het waarschuwingsbericht kan variëren, afhankelijk van uw browser. De voorbeeldafbeelding is afkomstig van Microsoft Edge.
Deze waarschuwing treedt op omdat de webserver is geconfigureerd via een zelfondertekend certificaat dat niet kan worden geverifieerd. Zoek en selecteer op deze waarschuwingspagina de koppeling om door te gaan naar de website; selecteer bijvoorbeeld ga naar de webpagina of selecteer Geavanceerd en dan doorgaanof het equivalent. Met het resultaat gaat u naar de startpagina van de verzendportal, zoals wordt weergegeven in de volgende afbeelding. Het is een voorbeeld-app om te testen of de server correct is geconfigureerd.
De back-endpool configureren voor versleuteling
Voer de volgende opdracht uit om het privé-IP-adres op te halen van de virtuele machine die fungeert als de webserver.
echo privateip="$(az vm list-ip-addresses \ --resource-group $rgName \ --name webservervm1 \ --query "[0].virtualMachine.network.privateIpAddresses[0]" \ --output tsv)"
Maak een variabele om uw privé-IP-adres op te slaan. Vervang
<privateIP>
door het IP-adres uit de vorige stap.export privateip=<privateIP>
Stel de back-endpool voor Application Gateway in met behulp van het privé-IP-adres van de virtuele machine.
az network application-gateway address-pool create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name ap-backend \ --servers $privateip
Upload het VM-certificaat in de back-endpool naar Application Gateway als een vertrouwd basiscertificaat. Het installatiescript heeft dit certificaat gegenereerd en opgeslagen in het bestand shipping-ssl.crt.
az network application-gateway root-cert create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name shipping-root-cert \ --cert-file server-config/shipping-ssl.crt
Configureer de HTTP-instellingen voor het gebruik van het certificaat:
az network application-gateway http-settings create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --port 443 \ --protocol Https \ --host-name $privateip
Voer de volgende opdrachten uit om het vertrouwde certificaat voor de back-endpool in te stellen op het certificaat dat op de back-end-VM is geïnstalleerd:
export rgID="$(az group show --name $rgName --query id --output tsv)" az network application-gateway http-settings update \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --set trustedRootCertificates='[{"id": "'$rgID'/providers/Microsoft.Network/applicationGateways/gw-shipping/trustedRootCertificates/shipping-root-cert"}]'
U hebt nu een virtuele machine waarop de verzendportalsite en een toepassingsgateway worden uitgevoerd. U hebt SSL-versleuteling tussen Application Gateway en uw toepassingsserver geconfigureerd.