Übung: Konfigurieren von Back-End-Pools für die Verschlüsselung

Abgeschlossen

Sie möchten die End-to-End-Verschlüsselung für die Versandportalanwendung implementieren. Durch das Verschlüsseln aller Daten zwischen Benutzer*innen und Servern wird sichergestellt, dass kein*e nicht autorisierte*r Benutzer*in diese Daten abfangen und lesen kann.

In dieser Lerneinheit richten Sie die Webanwendung und Application Gateway ein. Als Nächstes erstellen Sie selbstsignierte SSL-Zertifikate und aktivieren die Verschlüsselung in Ihrem Back-End-Pool, um den Datenverkehr zwischen der Application Gateway-Instanz und Ihren Servern zu schützen.

Im folgenden Bild sind die Elemente hervorgehoben, die Sie in dieser Übung konfigurieren. Sie werden mithilfe von Azure Application Gateway (v2) eine Application Gateway-Instanz einrichten.

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

Bereitstellen einer VM und einer Application Gateway-Instanz

  1. Öffnen Sie Azure Cloud Shell in Ihrem Browser, und melden Sie sich beim Verzeichnis mit Zugriff auf das Abonnement an, in dem Sie Ressourcen erstellen möchten. Für diese Übung verwenden wir die Bash-Shellumgebung.

  2. Führen Sie den folgenden Befehl in der Cloud Shell-Instanz aus, um eine Ressourcengruppe für Ihre Ressourcen zu erstellen. Ersetzen Sie <resource group name> durch einen Namen für Ihre Ressourcengruppe und <location> durch die Azure-Region, in der Sie Ihre Ressourcen bereitstellen möchten.

    az group create --resource-group <resource group name> --location <location>
    
  3. Führen Sie den folgenden Befehl in der Cloud Shell-Instanz aus, um eine Variable zum Speichern Ihres Ressourcengruppennamens zu erstellen:

    export rgName=<resource group name>
    
    
  4. Führen Sie den folgenden Befehl in Azure Cloud Shell aus, um den Quellcode für das Versandportal herunterzuladen:

    git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
    
  5. Öffnen Sie den Ordner shippingportal:

    cd shippingportal
    
  6. Führen Sie das folgende Setupskript zum Erstellen der VM, der Zertifikate und der Application Gateway-Instanz aus:

    bash setup-infra.sh
    

    Hinweis

    Die Skriptausführung kann einige Minuten dauern. Dabei werden mehrere Prozesse zum Entpacken und Konfigurieren des Gateways und der Ressourcen durchlaufen. Anschließend sollte angezeigt werden, dass der Prozess ohne Warnungen und Fehler erfolgreich war.

Überprüfen der ordnungsgemäßen Konfiguration des Webservers

  1. Führen Sie den folgenden Befehl aus, um die URL des Webservers anzuzeigen, der vom Setupskript erstellt wurde.

    echo https://"$(az vm show \
      --name webservervm1 \
      --resource-group $rgName \
      --show-details \
      --query [publicIps] \
      --output tsv)"
    
  2. Kopieren Sie die URL, fügen Sie sie in Ihren Webbrowser ein, und wechseln Sie zur URL.

    In Ihrem Browser wird höchstwahrscheinlich eine Warnmeldung ähnlich der folgenden Abbildung angezeigt. Der genaue Inhalt der Warnmeldung kann je nach Browser variieren. Im Beispielbild wird Microsoft Edge gezeigt.

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

    Diese Warnung tritt auf, weil der Webserver über ein selbstsigniertes Zertifikat konfiguriert ist, das nicht authentifiziert werden kann. Suchen Sie auf dieser Warnungsseite nach dem Link, und wählen Sie diesen aus, um mit der Website fortzufahren. Wählen Sie beispielsweise Webseite trotzdem laden oder Erweitert und dann Fortfahren oder die entsprechende Option aus. Das Ergebnis führt Sie zur Willkommensseite des Versandportals, wie in der folgenden Abbildung dargestellt. Es handelt sich um eine Beispiel-App, mit der Sie testen können, ob der Server ordnungsgemäß konfiguriert ist.

    Screenshot of the shipping portal home page Microsoft Edge.

Konfigurieren des Back-End-Pools für die Verschlüsselung

  1. Führen Sie den folgenden Befehl aus, um die private IP-Adresse der VM abzurufen, die als Webserver fungiert.

    echo privateip="$(az vm list-ip-addresses \
      --resource-group $rgName \
      --name webservervm1 \
      --query "[0].virtualMachine.network.privateIpAddresses[0]" \
      --output tsv)"
    
  2. Erstellen Sie eine Variable, um Ihre private IP-Adresse zu speichern. Ersetzen Sie <privateIP> durch die IP-Adresse aus dem vorherigen Schritt.

    export privateip=<privateIP>
    
    
  3. Richten Sie den Back-End-Pool für die Application Gateway-Instanz mithilfe der privaten IP-Adresse der VM ein.

    az network application-gateway address-pool create \
      --resource-group $rgName \
      --gateway-name gw-shipping \
      --name ap-backend \
      --servers $privateip
    
  4. Laden Sie das VM-Zertifikat Back-End-Pool in Application Gateway als vertrauenswürdiges Stammzertifikat hoch. Das Setupskript hat dieses Zertifikat generiert und in der Datei shipping-ssl.crt gespeichert.

    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. Konfigurieren Sie die HTTP-Einstellungen zur Verwendung des Zertifikats:

    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. Führen Sie die folgenden Befehle aus, um das auf der Back-End-VM installierte Zertifikat als vertrauenswürdiges Zertifikat für den Back-End-Pool festzulegen:

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

Sie verfügen nun über eine VM, die die Website für das Versandportal ausführt, und eine Application Gateway-Instanz. Sie haben Sie die SSL-Verschlüsselung zwischen Application Gateway und Ihrem Anwendungsserver konfiguriert.