Övning – Konfigurera serverdelspooler för kryptering

Slutförd

Du vill implementera kryptering från slutpunkt till slutpunkt för leveransportalprogrammet. Genom att kryptera alla data mellan användare och servrar ser du till att ingen obehörig användare kan fånga upp och läsa data.

I den här lektionen konfigurerar du webbappen och programgatewayen. Sedan ska du skapa några självsignerade SSL-certifikat och aktivera kryptering för serverdelspoolen så att trafiken från programgatewayen till dina servrar också skyddas.

Följande bild visar de element som du konfigurerar i den här övningen. Du konfigurerar en programgateway med hjälp av Azure Application Gateway v2.

Diagram that highlights the elements (backend pool, SSL certificate, and HTTP settings) created in this exercise.

Distribuera en virtuell dator och en programgateway

  1. Öppna Azure Cloud Shell i webbläsaren och logga in på katalogen med åtkomst till prenumerationen där du vill skapa resurser. Vi använder Bash Shell-miljön för den här övningen.

  2. Kör följande kommando i Cloud Shell för att skapa en resursgrupp för dina resurser. Ersätt <resource group name> med ett namn för resursgruppen och <location> med den Azure-region där du vill distribuera dina resurser.

    az group create --resource-group <resource group name> --location <location>
    
  3. Kör följande kommando i Cloud Shell för att skapa en variabel för att lagra resursgruppens namn:

    export rgName=<resource group name>
    
    
  4. I Azure Cloud Shell kör du följande kommando för att ladda ned källkoden för leveransportalen:

    git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
    
  5. Flytta till mappen shippingportal :

    cd shippingportal
    
  6. Kör följande installationsskript för att skapa den virtuella datorn, certifikaten och programgatewayen:

    bash setup-infra.sh
    

    Kommentar

    Det tar flera minuter att slutföra det här skriptet. Låt den arbeta igenom flera processer för att packa upp och konfigurera gatewayen och resurserna. Du bör se att processen lyckades med noll varningar och noll fel.

Kontrollera att webbservern är korrekt konfigurerad

  1. Kör följande kommando för att visa webbadressen till webbservern som skapades med konfigureringsskriptet.

    echo https://"$(az vm show \
      --name webservervm1 \
      --resource-group $rgName \
      --show-details \
      --query [publicIps] \
      --output tsv)"
    
  2. Kopiera och klistra in URL:en i webbläsaren och gå till URL:en.

    Webbläsaren visar troligen ett varningsmeddelande som liknar följande bild. Det exakta innehållet i varningsmeddelandet kan variera beroende på webbläsaren. Exempelbilden är från Microsoft Edge.

    Screenshot of a warning about an unauthenticated server in Microsoft Edge.

    Den här varningen visas eftersom webbservern är konfigurerad med ett självsignerat certifikat som inte kan autentiseras. På den här varningssidan letar du upp och väljer länken för att gå vidare till webbplatsen. Välj till exempel Gå vidare till webbsidan eller välj Avancerat och sedan Fortsätt, eller motsvarande. Resultatet tar dig till startsidan för leveransportalen, som du ser i följande bild. Det är en exempelapp för att testa att servern är korrekt konfigurerad.

    Screenshot of the shipping portal home page Microsoft Edge.

Konfigurera kryptering för serverdelspoolen

  1. Kör följande kommando för att hämta den privata IP-adressen till den virtuella dator som används som webbserver.

    echo privateip="$(az vm list-ip-addresses \
      --resource-group $rgName \
      --name webservervm1 \
      --query "[0].virtualMachine.network.privateIpAddresses[0]" \
      --output tsv)"
    
  2. Skapa en variabel för att lagra din privata IP-adress. Ersätt <privateIP> med IP-adressen från föregående steg.

    export privateip=<privateIP>
    
    
  3. Konfigurera serverdelspoolen för Application Gateway med hjälp av den virtuella datorns privata IP-adress.

    az network application-gateway address-pool create \
      --resource-group $rgName \
      --gateway-name gw-shipping \
      --name ap-backend \
      --servers $privateip
    
  4. Ladda upp det virtuella datorcertifikatet i serverdelspoolen till Application Gateway som ett betrott rotcertifikat. Installationsskriptet genererade det här certifikatet och lagrade det i filen 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
    
  5. Konfigurera HTTP-inställningarna för att använda certifikatet:

    az network application-gateway http-settings create \
      --resource-group $rgName \
      --gateway-name gw-shipping \
      --name https-settings \
      --port 443 \
      --protocol Https \
      --host-name $privateip
    
  6. Kör följande kommandon för att ange det betrodda certifikatet för serverdelspoolen till certifikatet som är installerat på den virtuella serverdelsdatorn:

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

Nu har du en virtuell dator som kör webbplatsen för leveransportalen och en programgateway. Du har konfigurerat SSL-kryptering mellan Application Gateway och din programserver.