Migrazione dei certificati SSL di Windows su un Application Load Balancer utilizzando ACM - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione dei certificati SSL di Windows su un Application Load Balancer utilizzando ACM

Creato da Chandra Sekhar Yaratha (AWS) e Igor Kovalchuk (AWS)

Ambiente: produzione

Fonte: applicazione Web Windows

Obiettivo: Application Load Balancer su AWS

Tipo R: Replatform

Carico di lavoro: Microsoft

Tecnologie: migrazione; gestione e governance; app Web e mobili

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

Riepilogo

Il modello fornisce linee guida per l'utilizzo di AWS Certificate Manager (ACM) per migrare i certificati Secure Sockets Layer (SSL) esistenti da siti Web ospitati su server locali o istanze Amazon Elastic Compute Cloud (Amazon EC2) su Microsoft Internet Information Services (IIS). I certificati SSL possono quindi essere utilizzati con Elastic Load Balancing on AWS.

SSL protegge i dati, conferma la tua identità, migliora il posizionamento nei motori di ricerca, aiuta a soddisfare i requisiti del Payment Card Industry Data Security Standard (PCI DSS) e migliora la fiducia dei clienti. Gli sviluppatori e i team IT che gestiscono questi carichi di lavoro desiderano che le loro applicazioni e infrastrutture Web, inclusi il server IIS e Windows Server, rimangano conformi alle loro politiche di base.

Questo modello prevede l'esportazione manuale dei certificati SSL esistenti da Microsoft IIS, la loro conversione dal formato Personal Information Exchange (PFX) al formato Private Enhanced Mail (PEM) supportato da ACM e quindi l'importazione in ACM nel tuo account AWS. Descrive inoltre come creare un Application Load Balancer per l'applicazione e configurare Application Load Balancer per utilizzare i certificati importati. Le connessioni HTTPS vengono quindi terminate sull'Application Load Balancer e non è necessario un ulteriore sovraccarico di configurazione sul server Web. Per ulteriori informazioni, consulta Creare un listener HTTPS per l'Application Load Balancer.

I server Windows utilizzano file con estensione pfx o p12 per contenere il file della chiave pubblica (certificato SSL) e il relativo file di chiave privata univoco. L'Autorità di certificazione (CA) ti fornisce il tuo file di chiave pubblica. Utilizzate il server per generare il file di chiave privata associato in cui è stata creata la richiesta di firma del certificato (CSR).

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo

  • Un cloud privato virtuale (VPC) su AWS con almeno una sottorete privata e una pubblica in ogni zona di disponibilità utilizzata dai tuoi obiettivi

  • IIS versione 8.0 o successiva in esecuzione su Windows Server 2012 o versione successiva

  • Un'applicazione Web in esecuzione su IIS

  • Accesso dell'amministratore al server IIS

Architettura

Stack tecnologico di origine

  • Implementazione del server Web IIS con SSL per garantire che i dati vengano trasmessi in modo sicuro in una connessione crittografata (HTTPS)

Architettura di origine

Architettura di origine per la migrazione dei certificati SSL di Windows su Application Load Balancer tramite ACM

Stack tecnologico Target

  • Certificati ACM nel tuo account AWS

  • Un Application Load Balancer configurato per utilizzare certificati importati

  • Istanze di Windows Server nelle sottoreti private

Architettura Target

Architettura di destinazione per la migrazione dei certificati SSL di Windows su Application Load Balancer tramite ACM

Strumenti

  • AWS Certificate Manager (ACM) ti aiuta a creare, archiviare e rinnovare certificati e chiavi SSL/TLS X.509 pubblici e privati che proteggono i tuoi siti Web e le tue applicazioni AWS.

  • Elastic Load Balancing (ELB) distribuisce il traffico di applicazioni o di rete in entrata su più destinazioni. Ad esempio, puoi distribuire il traffico tra istanze EC2, contenitori e indirizzi IP in una o più zone di disponibilità.

Best practice

  • Applica i reindirizzamenti del traffico da HTTP a HTTPS.

  • Configura correttamente i gruppi di sicurezza per il tuo Application Load Balancer per consentire il traffico in entrata solo verso porte specifiche.

  • Avvia le tue istanze EC2 in diverse zone di disponibilità per garantire un'elevata disponibilità.

  • Configura il dominio dell'applicazione in modo che punti al nome DNS dell'Application Load Balancer anziché al suo indirizzo IP.

  • Assicurati che l'Application Load Balancer abbia configurato i controlli di integrità a livello di applicazione.

  • Configura la soglia per i controlli sanitari.

  • Usa Amazon CloudWatch per monitorare l'Application Load Balancer.

Epiche

AttivitàDescrizioneCompetenze richieste

Esporta il file.pfx da Windows Server.

Per esportare il certificato SSL come file.pfx dal gestore IIS locale in Windows Server:

  1. Scegliete Start, Administrative, Internet Information Services (IIS) Manager.

  2. Selezionate il nome del server e, in Sicurezza, fate doppio clic su Certificati server.

  3. Scegliete il certificato che desiderate esportare, quindi scegliete Esporta.

  4. Nella casella Esporta certificato, scegli una posizione, un percorso e un nome per il tuo file.pfx.

  5. Specificate e confermate una password per il file.pfx.

    Nota: è necessaria questa password quando si installa il file.pfx.

  6. Scegli OK.

Il file.pfx dovrebbe ora essere salvato nella posizione e nel percorso specificati.

Amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Scarica e installa il toolkit OpenSSL.

  1. Scarica e installa Win32/Win64 OpenSSL dal sito Web di Shining Light Productions.

  2. Aggiungi la posizione dei binari OpenSSL alla variabile di PATH sistema, in modo che i binari possano essere disponibili per l'uso da riga di comando.

Amministratore di sistema

Convertire il certificato con codifica PFX in formato PEM.

I seguenti passaggi convertono il file di certificato firmato e codificato in PFX in tre file in formato PEM:

  • cert-file.pemcontiene il certificato SSL/TLS per la risorsa.

  • privatekey.pemcontiene la chiave privata del certificato senza protezione tramite password.

  • ca-chain.pemcontiene il certificato radice della CA.

Per convertire il certificato codificato PFX:

  1. Esegui Windows. PowerShell

  2. Utilizzate il seguente comando per estrarre la chiave privata del certificato dal file PFX. Immettete la password del certificato quando richiesto.

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

    Il comando genera un file di chiave privata con codifica PEM denominato. privatekey.pem Immettete una passphrase per proteggere il file della chiave privata quando richiesto.

  3. Eseguite il comando seguente per rimuovere la passphrase. Quando richiesto, fornite la passphrase creata nel passaggio 2.

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

    Se il comando ha esito positivo, viene visualizzato il messaggio «scrittura della chiave RSA».

  4. Utilizzate il seguente comando per trasferire il certificato dal file PFX a un file PEM.

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

    Questo crea un file di certificato con codifica PEM denominato. cert-file.pem Se il comando ha esito positivo, viene visualizzato il messaggio «MAC verificato OK».

  5. Crea un file di catena CA dal file PFX. Il comando seguente crea un file di catena CA denominatoca-chain.pem.

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

    Se il comando ha esito positivo, viene visualizzato il messaggio «MAC verificato OK».

Amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Preparati a importare il certificato.

Nella console ACM, scegli Importa un certificato.

Amministratore cloud

Fornisci l'ente del certificato.

Per Organismo del certificato, incolla il certificato con codifica PEM che desideri importare.

Per ulteriori informazioni sui comandi e sui passaggi descritti in questa e in altre attività di questa epopea, consulta Importazione di un certificato nella documentazione ACM.

Amministratore cloud

Fornisci la chiave privata del certificato.

Per Certificate private key (Chiave privata certificato), incolla la chiave privata non crittografata, con codifica PEM, corrispondente alla chiave pubblica del certificato.

Amministratore cloud

Fornisci la catena di certificati.

Per Certificate Chain, incolla la catena di certificati con codifica PEM, che è memorizzata nel file. CertificateChain.pem

Amministratore cloud

Importa il certificato.

Seleziona Review and import (Riconsulta e importa). Verifica che le informazioni sul certificato siano corrette, quindi scegli Importa.

Amministratore cloud
AttivitàDescrizioneCompetenze richieste

Crea e configura il sistema di bilanciamento del carico e i listener.

Segui le istruzioni nella documentazione di Elastic Load Balancing per configurare un gruppo target, registrare i target e creare un Application Load Balancer e un listener. Aggiungi un secondo listener (HTTPS) per la porta 443.

Amministratore cloud

Risoluzione dei problemi

ProblemaSoluzione

Windows PowerShell non riconosce il comando OpenSSL anche dopo averlo aggiunto al percorso di sistema.

Assicurati $env:path che includa la posizione dei binari OpenSSL.

In caso contrario, esegui il seguente comando in: PowerShell

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

Risorse correlate

Importazione di un certificato in ACM

Creazione di un Application Load Balancer