Konfigurieren Lassen Sie uns Verschlüsselt von SSL für eine Azure-Web-App

0
29

Während Azure bietet viele Werkzeuge, es muss nicht alles haben. Wir werfen einen Blick auf, wie können Sie eine funktionale Lasst uns Verschlüsseln SSL für jeden Azure Web App, um mit dem erforderlichen Maß an Sicherheit für alle standard-online-Betrieb.

Was Ist Let ‘ s Encrypt?

First things First, lasst uns Let ‘ s Encrypt aus dem Weg. Also, was ist es? Es ist eine automatisierte, Kostenlose, open-Zertifizierungsstelle. Dies bedeutet, dass Sie erwerben können, völlig frei SLL certs, und ändern Sie Ihr Standard-URL-Struktur von HTTP:// HTTP://.

Aber wo ist der Haken? Kann es wirklich so einfach sein? Nun, die SSL-Zertifizierungen nur die letzten 90 Tage, nicht mehrere Jahre, wie andere certs können. Dennoch, es gibt einen Grund dafür. Es ist also die Automatisierung gefördert wird, und dass Sie machen können Ihr SSL-Erfahrung getrost vergessen (wie lange, wie Sie haben einige Skripte oder hintergrund-Prozess, der verlängert sich automatisch und installiert die certs).

Heute gibt es wirklich keinen Grund, nicht mit Let ‘ s Verschlüsseln, und es ist offensichtlich von der Mehrheit der it-Verwendung in einer Vielzahl von Branchen und Ihre Folge-Web-Apps.

Voraussetzungen für die Konfiguration:

  1. Ein aktives Azure-Konto. (Studenten erhalten Kostenlose Azure-Ressourcen.)
  2. Jede Webanwendung, die gehostet wird per in-App-Service. Der stack ist egal.
  3. Eine benutzerdefinierte DNS-Eintrag verweist auf die Web-App.

In einer idealen Welt, Ihre App-Service-und App-Dienst-Plan sind innerhalb der gleichen Ressourcengruppe. Aber es ist möglich zu tun, ohne dieses.

Schritt 1: – Speicher-Konto für WebJobs

Okay, also der erste Schritt ist das erstellen eines Azure-speicherkontos, das ist eine Erweiterung, die es uns erlauben wird, zur Erneuerung der Zertifizierung jeweils 90-Tages-Frist über Azure WebJobs.

Das Konto sollte nicht von BlobStorage, weil es nicht funktionieren. Es sollte entweder “Storage” oder “StorageV2.”

Da dies nun erledigt ist. Fügen Sie zwei separate Einstellungen: “AzureWebJobsDashboard” und “AzureWebJobsStorage” mit einer Zeichenfolge, die Sie verbindet, um die früher erstellten Storage-Konto.

Der string kann so Aussehen:

DefaultEndpointsProtocol=https;AccountName=[youraccount];AccountKey=[yourkey];

Schritt 2: die Automatisierung des Prozesses

Für die Vorherige Erweiterung zu arbeiten, ohne unsere Einmischung, wir müssen erstellen Sie eine “Azure Service Principal”, die Werke aus dem Begriff der delegation über eine Azure AD-Eintrag.

Suchen Sie sich zu Azure Active Directory, in dem Sie möchten, erstellen Sie die neue Anwendung. In der Systemsteuerung, wählen Sie “App-Registrierungen.”

  1. Erstellen Sie eine neue Anwendung, und stellen Sie es wie Sie sehen in diesem Bild.
  2. Erzeugen Sie ein client-Geheimnis, und speichern Sie Sie irgendwo sicher. Wenn Sie das nicht tun, werden Sie nicht in der Lage, den Zugriff wieder über Klartext.
  3. Rückkehr in die Übersicht und speichern Sie die “Client ID”.
  4. Nun, Sie müssen dazu Beitragen den Zugriff auf den Service Principal. Es sollte verbunden sein mit der Ressource Gruppe Ihrer “App-Service-Plan” und “App-Service”.
  5. Im nächsten Menü wählen Sie die “Mitarbeiter” – Rolle, und fügen Sie es in das erstellte “Service Principal.”
  6. Wenn Sie irgendwelche anderen Dienstleistungen in der Gruppe, können Sie die Rolle eines Mitarbeiters, um Sie als gut.

Sie können basteln mit den Einstellungen, wie Sie möchten, aber das ist über es für den Service Principal.

Schritt 3: Let ‘ s Encrypt-Erweiterung

Jetzt haben Sie alle die sekundären Voraussetzungen, können Sie endlich die Erweiterung installieren und konfigurieren Sie es entsprechend.

Gehen Sie auf die “App-Service” und suchen Sie für die Azure-Let ‘ s Encrypt-Erweiterung “SJKP.” Nach der Installation können Sie mit der Konfiguration fortgefahren werden.

Einrichten der Erweiterung, Sie haben zu navigieren, sich zu den “Advanced Tools” – Seite das “App-Service”. Sie können es, indem Sie die Suche in die Suchleiste und es wird wahrscheinlich nehmen Sie eine Seite wie diese: https://yourdomain.scm.azurewebsite.net.

Um auf die Einstellungen zuzugreifen, klicken Sie auf die “Site Extensions” – Taste und klicken Sie auf “Start.” Nun ist die Konfigurations-Seite sollte sich öffnen, und Sie haben die folgenden Optionen.

  • Mieter: der Azure AD-Regisseur, bei dem Sie Ihre Service-Principal erstellt wurde.
  • ClientID: die gleichen client-ID aus, bevor.
  • ClientSecret: der gleiche client Secret aus der Zeit vor.
  • ResourceGroupName: der name der Ressource Gruppe der App-Dienst Sie verwenden.
  • SubscriptionID: die ID Ihres Abonnements, die Sie für die Resource Gruppe.
  • Update der Programm-Einstellungen: immer setzen Sie ihn auf True, so dass Sie alle Ihre Einstellungen sind gespeichert. Andernfalls werden die Einstellungen nicht verfügbar für die WebsJobs für die Installation der neuen Zertifikate.
  • ServicePlanResourceGroupName: Wenn Sie Ihre App-Service-und Service-Plan in der gleichen Gruppe, der name wird der gleiche sein wie der ResourceGroupName. Andernfalls geben Sie den Namen der Ressource Gruppe der eigentlichen Service-Plan Lage.

Nach der Konfiguration alle Optionen, gelangen Sie zu einer übersicht der Zertifikate, SSL-Bindungen & custom domains. Weil Sie noch brauchen, zu erstellen können Sie Ihre domains für die Anforderung und die Vorlage eines “Get-Anforderung” für das SSL-Zertifikat.

Aber bevor Sie das tun, sollten Sie Ihre E-Mail, so dass Sie bekommen können Warnungen im Falle dass etwas schief geht mit der Bescheinigung (wie Sie veraltete oder nicht erneuert).

Und das ist über es. Jetzt ist alles eingestellt, und genießen Sie die Belohnung für die Erfüllung der Aufgabe, alle auf Ihre eigene.

Mögliche Probleme

Da die Erweiterung benötigt Zugriff auf Ihre Seiten, um die für die domain-Autorisierung, stellen Sie sicher, dass die URL ist öffentlich zugänglich über HTTP://yourdomain.com/.well-known/acme-challenge/.

Wenn ein Fehler Auftritt und die URL nicht erreicht ist, haben Sie wahrscheinlich die Regel-setzen Sie auf das web.config, dass die Verhinderung des Zugangs oder Ihre HTTPS-erzwungen über die App-Einstellungen.

Auch, weil wir Verschlüsseln, verwendet der HTTP-01-Mechanismus in ACME, es wird ein zufälliges token in der Datei auf Ihrem web-server, dann wird es versuchen, um es abzurufen via HTTP. Wenn Sie die Web-App nur https, wird die Anforderung abgelehnt, das ist etwas, was Sie vermeiden wollen.