Übung: Konfigurieren von Back-End-Pools für die Verschlüsselung
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.
Bereitstellen einer VM und einer Application Gateway-Instanz
Ö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.
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>
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>
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
Öffnen Sie den Ordner shippingportal:
cd shippingportal
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
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)"
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.
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.
Konfigurieren des Back-End-Pools für die Verschlüsselung
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)"
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>
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
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
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
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.