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

Abgeschlossen

Der Back-End-Pool enthält die Server, die die Anwendung implementieren. Azure Application Gateway leitet Anforderungen an diese Server weiter und kann den Datenverkehr mithilfe von Lastenausgleichen auf diese Server verteilen.

Die Anwendungsserver im Back-End-Pool für das Versandportal müssen SSL für die Verschlüsselung der Daten verwenden, die zwischen der Application Gateway-Instanz und dem Back-End-Pool übermittelt werden. Application Gateway verwendet ein SSL-Zertifikat mit einem öffentlichen Schlüssel zum Verschlüsseln der Daten. Die Server verwenden den entsprechenden privaten Schlüssel zum Entschlüsseln der Daten, sobald diese empfangen werden. In dieser Lerneinheit erfahren Sie, wie Sie den Back-End-Pool erstellen und die erforderlichen Zertifikate in Application Gateway installieren. Diese Zertifikate tragen zum Schutz der Nachrichten bei, die an den und aus dem Back-End-Pool gesendet werden.

Verschlüsselung zwischen Application Gateway und dem Back-End-Pool

Ein Back-End-Pool kann auf einzelne VMs, eine VM-Skalierungsgruppe, die IP-Adressen echter Computer (entweder lokal oder remote) oder über Azure App Service gehostete Dienste verweisen. Alle Server im Back-End-Pool sollten auf gleiche Weise konfiguriert sein, einschließlich ihrer Sicherheitseinstellungen.

Diagram showing how Application Gateway routes a request to a web server.

Wenn der Datenverkehr an den Back-End-Pool über SSL geschützt ist, müssen alle Server im Back-End-Pool über ein entsprechendes Zertifikat verfügen. Sie können zu Testzwecken ein selbstsigniertes Zertifikat erstellen. In einer Produktionsumgebung sollten Sie immer ein Zertifikat generieren oder erwerben, das von einer Zertifizierungsstelle authentifiziert werden kann.

Derzeit gibt es zwei Versionen von Application Gateway: v1 und v2. Sie verfügen über ähnliche Funktionen, weisen aber kleine Unterschiede bei den Implementierungsdetails auf. Die Version v2 bietet weitere Features und Leistungsverbesserungen.

Zertifikatkonfiguration in Application Gateway v1

Application Gateway v1 erfordert, dass Sie das Authentifizierungszertifikat für die Server in der Gatewaykonfiguration installieren. Dieses Zertifikat enthält den öffentlichen Schlüssel, den Application Gateway zum Verschlüsseln von Nachrichten und Authentifizieren Ihrer Server verwendet. Sie können dieses Zertifikat erstellen, indem Sie es vom Server exportieren. Der Anwendungsserver verwendet den entsprechenden privaten Schlüssel zum Entschlüsseln dieser Nachrichten. Dieser private Schlüssel sollte nur auf Ihren Anwendungsservern gespeichert werden.

Sie können ein Authentifizierungszertifikat mithilfe des Befehls az network application-gateway auth-cert create über die Azure CLI zu Application Gateway hinzufügen. Im folgenden Beispiel wird die Syntax dieses Befehls demonstriert. Das Zertifikat sollte das CER-Format (Claim, Evidence, Reasoning) aufweisen.

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 stellt andere Befehle bereit, die Sie zum Auflisten und Verwalten von Authentifizierungszertifikaten verwenden können. Beispiele:

  • Mit dem Befehl az network application-gateway auth-cert list werden die Zertifikate angezeigt, die installiert wurden.
  • Sie können den Befehl az network application-gateway auth-cert update zum Ändern des Zertifikats verwenden.
  • Mit dem Befehl az network application-gateway auth-cert delete wird ein Zertifikat entfernt.

Zertifikatkonfiguration in Application Gateway v2

Application Gateway v2 weist kleine Unterschiede bei den Authentifizierungsanforderungen auf. Sie stellen das Zertifikat für die Zertifizierungsstelle bereit, die das SSL-Zertifikat für die Server im Back-End-Pool authentifiziert hat. Sie fügen dieses Zertifikat als vertrauenswürdiges Stammzertifikat zu Application Gateway hinzu. Verwenden Sie den Befehl az network application-gateway root-cert create über die 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>

Wenn Ihre Server ein selbstsigniertes Zertifikat verwenden, fügen Sie dieses Zertifikat als vertrauenswürdiges Stammzertifikat in Application Gateway hinzu.

HTTP-Einstellungen

Application Gateway verwendet eine Regel, um festzulegen, wie Nachrichten weitergeleitet werden, die über den Eingangsport für die Server im Back-End-Pool empfangen werden. Wenn die Server die SSL-Verschlüsselung verwenden, müssen Sie die Regel konfigurieren, um Folgendes anzugeben:

  • Die Server erwarten Datenverkehr über das HTTPS-Protokoll.
  • Welches Zertifikat zum Verschlüsseln des Datenverkehrs und Authentifizieren der Verbindung mit einem Server verwendet werden soll.

Diese Konfigurationsinformationen definieren Sie mithilfe einer HTTP-Einstellung.

Eine HTTP-Einstellung können Sie mithilfe des Befehls az network application-gateway http-settings create über die Azure CLI definieren. Im folgenden Beispiel wird die Syntax zum Erstellen einer Einstellung veranschaulicht, die den Datenverkehr mithilfe des HTTPS-Protokolls an Port 443 der Server im Back-End-Pool weiterleitet. Wenn Sie Application Gateway v1 verwenden, entspricht der Parameter --auth-certs dem Namen des Authentifizierungszertifikats, das Sie zuvor zu Application Gateway hinzugefügt haben.

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>

Wenn Sie Application Gateway v2 verwenden, lassen Sie den Parameter --auth-certs aus. Application Gateway kontaktiert den Back-End-Server und überprüft die Echtheit des vom Server bereitgestellten Zertifikats mithilfe der Zertifizierungsstellen, die in einer Liste vertrauenswürdiger Stammzertifikate angegeben sind. Wenn keine Übereinstimmung ermittelt wird, stellt Application Gateway keine Verbindung mit dem Back-End-Server her und HTTP-Fehler 502 (Bad Gateway) wird ausgelöst.