Migrieren Sie Windows-SSL-Zertifikate mithilfe von ACM zu einem Application Load Balancer - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren Sie Windows-SSL-Zertifikate mithilfe von ACM zu einem Application Load Balancer

Erstellt von Chandra Sekhar Yaratha (AWS) und Igor Kovalchuk (AWS)

Umwelt: Produktion

Quelle: Windows-Webanwendung

Ziel: Application Load Balancer auf AWS

R-Typ: Replatform

Arbeitslast: Microsoft

Technologien: Migration; Verwaltung und Verwaltung; Web- und mobile Apps

AWS-Services: Elastic Load Balancing (ELB); AWS Certificate Manager (ACM)

Übersicht

Das Muster enthält Anleitungen zur Verwendung von AWS Certificate Manager (ACM) zur Migration vorhandener Secure Sockets Layer (SSL) -Zertifikate von Websites, die auf lokalen Servern oder Amazon Elastic Compute Cloud (Amazon EC2) -Instances auf Microsoft Internet Information Services (IIS) gehostet werden. Die SSL-Zertifikate können dann mit Elastic Load Balancing auf AWS verwendet werden.

SSL schützt Ihre Daten, bestätigt Ihre Identität, sorgt für bessere Platzierungen in Suchmaschinen, trägt zur Erfüllung der Anforderungen des Payment Card Industry Data Security Standard (PCI DSS) bei und stärkt das Kundenvertrauen. Entwickler und IT-Teams, die diese Workloads verwalten, möchten, dass ihre Webanwendungen und ihre Infrastruktur, einschließlich des IIS-Servers und des Windows-Servers, ihren grundlegenden Richtlinien entsprechen.

Dieses Muster umfasst den manuellen Export vorhandener SSL-Zertifikate aus Microsoft IIS, deren Konvertierung vom PFX-Format (Personal Information Exchange) in das von ACM unterstützte PEM-Format (Private Enhanced Mail) und das anschließende Importieren in ACM in Ihrem AWS-Konto. Außerdem wird beschrieben, wie Sie einen Application Load Balancer für Ihre Anwendung erstellen und den Application Load Balancer so konfigurieren, dass er Ihre importierten Zertifikate verwendet. HTTPS-Verbindungen werden dann auf dem Application Load Balancer beendet, und Sie benötigen keinen weiteren Konfigurationsaufwand auf dem Webserver. Weitere Informationen finden Sie unter Einen HTTPS-Listener für Ihren Application Load Balancer erstellen.

Windows-Server verwenden PFX- oder .P12-Dateien, um die öffentliche Schlüsseldatei (SSL-Zertifikat) und ihre eindeutige private Schlüsseldatei zu speichern. Die Zertifizierungsstelle (CA) stellt Ihnen Ihre öffentliche Schlüsseldatei zur Verfügung. Sie verwenden Ihren Server, um die zugehörige private Schlüsseldatei zu generieren, in der die Certificate Signing Request (CSR) erstellt wurde.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • Eine virtuelle private Cloud (VPC) auf AWS mit mindestens einem privaten und einem öffentlichen Subnetz in jeder Availability Zone, die von Ihren Zielen verwendet wird

  • IIS-Version 8.0 oder höher, läuft auf Windows Server 2012 oder höher

  • Eine Webanwendung, die auf IIS ausgeführt wird

  • Administratorzugriff auf den IIS-Server

Architektur

Quelltechnologie-Stack

  • IIS-Webserver-Implementierung mit SSL, um sicherzustellen, dass Daten sicher in einer verschlüsselten Verbindung (HTTPS) übertragen werden

Quellarchitektur

Quellarchitektur für die Migration von Windows-SSL-Zertifikaten zu Application Load Balancer mithilfe von ACM

Zieltechnologie-Stack

  • ACM-Zertifikate in Ihrem AWS-Konto

  • Ein Application Load Balancer, der für die Verwendung importierter Zertifikate konfiguriert ist

  • Windows Server-Instanzen in den privaten Subnetzen

Zielarchitektur

Zielarchitektur für die Migration von Windows-SSL-Zertifikaten zu Application Load Balancer mithilfe von ACM

Tools

  • AWS Certificate Manager (ACM) unterstützt Sie bei der Erstellung, Speicherung und Erneuerung von öffentlichen und privaten SSL/TLS X.509-Zertifikaten und Schlüsseln, die Ihre AWS-Websites und -Anwendungen schützen.

  • Elastic Load Balancing (ELB) verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. Sie können beispielsweise den Datenverkehr auf EC2-Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen.

Bewährte Methoden

  • Erzwingen Sie Verkehrsumleitungen von HTTP zu HTTPS.

  • Konfigurieren Sie Sicherheitsgruppen für Ihren Application Load Balancer ordnungsgemäß, um eingehenden Datenverkehr nur zu bestimmten Ports zuzulassen.

  • Starten Sie Ihre EC2-Instances in verschiedenen Availability Zones, um eine hohe Verfügbarkeit sicherzustellen.

  • Konfigurieren Sie die Domain Ihrer Anwendung so, dass sie auf den DNS-Namen des Application Load Balancers statt auf dessen IP-Adresse verweist.

  • Stellen Sie sicher, dass für den Application Load Balancer Integritätsprüfungen auf Anwendungsebene konfiguriert sind.

  • Konfigurieren Sie den Schwellenwert für Integritätsprüfungen.

  • Verwenden Sie Amazon CloudWatch, um den Application Load Balancer zu überwachen.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Exportieren Sie die PFX-Datei von Windows Server.

So exportieren Sie das SSL-Zertifikat als PFX-Datei aus dem lokalen IIS-Manager in Windows Server:

  1. Wählen Sie Start, Verwaltung und Internetinformationsdienste-Manager (IIS).

  2. Wählen Sie den Servernamen aus, und doppelklicken Sie unter Sicherheit auf Serverzertifikate.

  3. Wählen Sie das Zertifikat aus, das Sie exportieren möchten, und klicken Sie dann auf Exportieren.

  4. Wählen Sie im Feld Zertifikat exportieren einen Speicherort, einen Pfad und einen Namen für Ihre PFX-Datei aus.

  5. Geben Sie ein Passwort für Ihre PFX-Datei ein und bestätigen Sie es.

    Hinweis: Sie benötigen dieses Passwort, wenn Sie die PFX-Datei installieren.

  6. Wählen Sie OK aus.

Ihre PFX-Datei sollte jetzt an dem von Ihnen angegebenen Speicherort und Pfad gespeichert werden.

Systemadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Laden Sie das OpenSSL-Toolkit herunter und installieren Sie es.

  1. Laden Sie Win32/Win64 OpenSSL von der Shining Light Productions-Website herunter und installieren Sie es.

  2. Fügen Sie den Speicherort der OpenSSL-Binärdateien zu Ihrer PATH Systemvariablen hinzu, sodass die Binärdateien für die Befehlszeilenverwendung verfügbar sind.

Systemadministrator

Konvertieren Sie das PFX-kodierte Zertifikat in das PEM-Format.

Mit den folgenden Schritten wird die PFX-kodierte, signierte Zertifikatsdatei in drei Dateien im PEM-Format konvertiert:

  • cert-file.pementhält das SSL/TLS-Zertifikat für die Ressource.

  • privatekey.pementhält den privaten Schlüssel des Zertifikats ohne Passwortschutz.

  • ca-chain.pementhält das Stammzertifikat der CA.

Um das PFX-kodierte Zertifikat zu konvertieren:

  1. Führen Sie Windows aus. PowerShell

  2. Verwenden Sie den folgenden Befehl, um den privaten Schlüssel des Zertifikats aus der PFX-Datei zu extrahieren. Geben Sie das Passwort für das Zertifikat ein, wenn Sie dazu aufgefordert werden.

    openssl pkcs12 -in <filename>.pfx -nocerts -out withpw-privatekey.pem

    Der Befehl generiert eine PEM-kodierte private Schlüsseldatei mit dem Namen. privatekey.pem Geben Sie eine Passphrase ein, um die private Schlüsseldatei zu schützen, wenn Sie dazu aufgefordert werden.

  3. Führen Sie den folgenden Befehl aus, um die Passphrase zu entfernen. Wenn Sie dazu aufgefordert werden, geben Sie die Passphrase ein, die Sie in Schritt 2 erstellt haben.

    openssl rsa -in withpw-privatekey.pem -out privatekey.pem

    Wenn der Befehl erfolgreich ist, wird die Meldung „RSA-Schlüssel schreiben“ angezeigt.

  4. Verwenden Sie den folgenden Befehl, um das Zertifikat von der PFX-Datei in eine PEM-Datei zu übertragen.

    openssl pkcs12 -in <file_name>.pfx -clcerts -nokeys -out cert-file.pem

    Dadurch wird eine PEM-kodierte Zertifikatsdatei mit dem Namen erstellt. cert-file.pem Wenn der Befehl erfolgreich ist, wird die Meldung „MAC verified OK“ angezeigt.

  5. Erstellen Sie eine CA-Kettendatei aus der PFX-Datei. Der folgende Befehl erstellt eine CA-Kettendatei mit dem Namenca-chain.pem.

    openssl pkcs12 -in <file_name>.pfx -cacerts -nokeys -chain -out ca-chain.pem

    Wenn der Befehl erfolgreich ist, wird die Meldung „MAC verified OK“ angezeigt.

Systemadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Bereiten Sie den Import des Zertifikats vor.

Wählen Sie in der ACM-Konsole die Option Zertifikat importieren aus.

Cloud-Administrator

Geben Sie die Zertifizierungsstelle an.

Fügen Sie in das Feld Zertifikatshauptteil das PEM-kodierte Zertifikat ein, das Sie importieren möchten.

Weitere Informationen zu den Befehlen und Schritten, die in diesem und anderen Aufgaben in diesem Epos beschrieben werden, finden Sie in der ACM-Dokumentation unter Importieren eines Zertifikats.

Cloud-Administrator

Geben Sie den privaten Schlüssel des Zertifikats an.

Fügen Sie für Certificate private key den PEM-kodierten, unverschlüsselten privaten Schlüssel ein, der mit dem öffentlichen Schlüssel des Zertifikats übereinstimmt.

Cloud-Administrator

Geben Sie die Zertifikatskette an.

Fügen Sie für Certificate chain die PEM-kodierte Zertifikatskette ein, die in der Datei gespeichert ist. CertificateChain.pem

Cloud-Administrator

Importieren Sie das Zertifikat.

Wählen Sie Review and import. Vergewissern Sie sich, dass die Informationen zu Ihrem Zertifikat korrekt sind, und wählen Sie dann Import aus.

Cloud-Administrator
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen und konfigurieren Sie den Load Balancer und die Listener.

Folgen Sie den Anweisungen in der Elastic Load Balancing Balancing-Dokumentation, um eine Zielgruppe zu konfigurieren, Ziele zu registrieren und einen Application Load Balancer und Listener zu erstellen. Fügen Sie einen zweiten Listener (HTTPS) für Port 443 hinzu.

Cloud-Administrator

Fehlerbehebung

ProblemLösung

Windows PowerShell erkennt den OpenSSL-Befehl nicht, auch wenn Sie ihn dem Systempfad hinzugefügt haben.

Stellen Sie $env:path sicher, dass es den Speicherort der OpenSSL-Binärdateien enthält.

Ist dies nicht der Fall, führen Sie den folgenden Befehl in aus: PowerShell

$env:path = $env:path + ";C:\OpenSSL-Win64\bin"

Zugehörige Ressourcen

Ein Zertifikat in ACM importieren

Einen Application Load Balancer erstellen