Migrieren Sie SSL Windows-Zertifikate zu einem Application Load Balancer mit ACM - 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 SSL Windows-Zertifikate zu einem Application Load Balancer mit ACM

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

Umwelt: Produktion

Quelle: Windows-Webanwendung

Ziel: Application Load Balancer aktiviert AWS

R-Typ: Replatform

Arbeitslast: Microsoft

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

AWSDienste: 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 (AmazonEC2) -Instances auf Microsoft Internet Information Services (IIS) gehostet werden. Die SSL Zertifikate können dann mit aktiviertem Elastic Load Balancing verwendet werdenAWS.

SSLschü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 (PCIDSS) bei und stärkt das Kundenvertrauen. Entwickler und IT-Teams, die diese Workloads verwalten, möchten, dass ihre Webanwendungen und Infrastruktur, einschließlich IIS Server und Windows Server, ihren grundlegenden Richtlinien entsprechen.

Dieses Muster umfasst den manuellen Export vorhandener SSL Zertifikate von MicrosoftIIS, deren Konvertierung aus dem Format Personal Information Exchange (PFX) in das unterstützte Private Enhanced Mail (PEM) -Format und das ACM anschließende Importieren ACM in Ihr 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. HTTPSVerbindungen werden dann auf dem Application Load Balancer beendet, und Sie benötigen keinen weiteren Konfigurationsaufwand auf dem Webserver. Weitere Informationen finden Sie unter Erstellen eines HTTPS Listeners für Ihren Application Load Balancer.

Windows-Server verwenden PFX- oder .P12-Dateien, um die Datei mit dem öffentlichen Schlüssel (SSLZertifikat) und die zugehörige 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 Zertifikatsignieranforderung (CSR) erstellt wurde.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS Konto

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

  • IISVersion 8.0 oder höher, läuft auf Windows Server 2012 oder höher

  • Eine Webanwendung, die läuft auf IIS

  • Administratorzugriff auf den IIS Server

Architektur

Quelltechnologie-Stack

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

Quellarchitektur

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

Zieltechnologie-Stack

  • ACMZertifikate 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 SSL Windows-Zertifikaten zu Application Load Balancer mit ACM

Tools

  • AWSCertificate Manager (ACM) hilft Ihnen beim Erstellen, Speichern und Erneuern 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 Traffic auf EC2 Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen.

Bewährte Methoden

  • Erzwingen Sie Verkehrsumleitungen von HTTP nachHTTPS.

  • 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.

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

  1. Wählen Sie Start, Verwaltung, 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 Open SSL Toolkit herunter und installieren Sie es.

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

  2. Fügen Sie den Speicherort der geöffneten SSL Binärdateien zu Ihrer PATH Systemvariablen hinzu, sodass die Binärdateien für die Befehlszeile verfügbar sind.

Systemadministrator

Konvertiert das PFX -kodierte Zertifikat in das Format. PEM

Die folgenden Schritte konvertieren die PFX -kodierte, signierte Zertifikatsdatei im Format in drei Dateien: PEM

  • cert-file.pementhält dasSSL/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 PowerShell aus.

  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 „RSASchreibschlüssel“ 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 „MACVerified OK“ angezeigt.

  5. Erstellen Sie aus der Datei eine PFX CA-Kettendatei. 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 „MACVerified OK“ angezeigt.

Systemadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Bereiten Sie den Import des Zertifikats vor.

Wählen Sie auf der ACMKonsole 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 ACMDokumentation unter Import eines Zertifikats.

Cloud-Administrator

Geben Sie den privaten Schlüssel des Zertifikats an.

Fügen Sie für den privaten Schlüssel des Zertifikats den PEM -codierten, unverschlüsselten privaten Schlüssel ein, der dem öffentlichen Schlüssel des Zertifikats entspricht.

Cloud-Administrator

Geben Sie die Zertifikatskette an.

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

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 SSL Befehl Öffnen nicht, auch wenn Sie ihn zum Systempfad hinzugefügt haben.

Vergewissern Sie $env:path sich, dass darin der Speicherort der SSL Open-Binärdateien enthalten ist.

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

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

Zugehörige Ressourcen

Ein Zertifikat importieren in ACM

Einen Application Load Balancer erstellen