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à.
AWS CloudHSM SSL/TLSoffload su Windows usando with IIS CNG
Questo tutorial fornisce step-by-step istruzioni per configurareSSL/TLSoffload with AWS CloudHSM su un server Web Windows.
Argomenti
Panoramica
In Windows, l'applicazione server Web Internet Information Services (IIS) per Windows Server
In questo tutorial vengono illustrate le seguenti operazioni:
-
Installa il software del server Web su un'EC2istanza Amazon.
-
Configura il software del server Web per il supporto HTTPS con una chiave privata memorizzata nel AWS CloudHSM cluster.
-
(Facoltativo) Utilizza Amazon EC2 per creare una seconda istanza del server Web ed Elastic Load Balancing per creare un sistema di bilanciamento del carico. L'uso di un sistema di bilanciamento del carico può migliorare le prestazioni grazie alla distribuzione del carico in più server. Offre anche ridondanza e una disponibilità più elevata in caso di errore di uno o più server.
Quando sei pronto per iniziare, vai a Fase 1: configurazione dei prerequisiti.
Fase 1: configurazione dei prerequisiti
Per configurare il server webSSL/TLSoffload con AWS CloudHSM, è necessario quanto segue:
-
Un AWS CloudHSM cluster attivo con almeno unoHSM.
-
Un'EC2istanza Amazon che esegue un sistema operativo Windows con il seguente software installato:
-
Il software AWS CloudHSM client per Windows.
-
Internet Information Services (IIS) per Windows Server.
-
-
Un utente crittografico (CU) che possiede e gestisce la chiave privata del server Web su. HSM
Nota
In questo tutorial viene utilizzato Microsoft Windows Server 2016. È supportato anche Microsoft Windows Server 2012, ma non è supportato Microsoft Windows Server 2012 R2.
Per configurare un'istanza di Windows Server e creare una CU su HSM
-
Completa le fasi descritte in Nozioni di base. Quando avvii il EC2 client Amazon, scegli Windows Server 2016 o Windows Server 2012AMI. Una volta completati questi passaggi, hai un cluster attivo con almeno unoHSM. Hai anche un'istanza EC2 client Amazon che esegue Windows Server con il software AWS CloudHSM client per Windows installato.
-
(Facoltativo) HSMs Aggiungine altri al cluster. Per ulteriori informazioni, consulta Aggiungere un file HSM a un cluster AWS CloudHSM.
-
Connettersi al server Windows. Per ulteriori informazioni, consulta Connect to Your Instance nella Amazon EC2 User Guide.
-
Usa Cloud HSM CLI per creare un utente crittografico (CU). Prendere nota del nome utente e della password del CU, Saranno necessari per completare la fase successiva.
Nota
Per informazioni sulla creazione di un utente, consulta Gestire HSM gli utenti con Cloud HSM CLI.
-
Imposta le credenziali di accesso per HSM, utilizzando il nome utente e la password CU che hai creato nel passaggio precedente.
-
Nel passaggio 5, se hai utilizzato Windows Credentials Manager per impostare le HSM credenziali, scarica
psexec.exe
da SysInternals per eseguire il comando seguente come NT Authority\: SYSTEM psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username
<USERNAME>
--password<PASSWORD>
Replace (Sostituisci)
<USERNAME>
e<PASSWORD>
con le credenziali. HSM
Da installare IIS sul tuo Windows Server
-
Effettuare la connessione al server Windows, se non è stato ancora fatto. Per ulteriori informazioni, consulta Connect to Your Instance nella Amazon EC2 User Guide.
-
Su Windows Server avviare Server Manager.
-
Nel pannello di controllo Server Manager scegliere Add roles and features (Aggiungi ruoli e funzionalità).
-
Leggere le informazioni Before you begin (Prima di iniziare), quindi scegliere Next (Successivo).
-
Per Installation Type (Tipo di installazione) scegliere Role-based or feature-based installation (Installazione basata su ruoli o su funzionalità). Quindi scegli Successivo.
-
Per Server Selection (Selezione server) scegliere Select a server from the server pool (Seleziona un server dal gruppo di server). Quindi scegli Successivo.
-
Per Server Roles (Ruoli server) utilizzare la seguente procedura:
-
Seleziona Web Server (IIS).
-
Per Aggiungi funzionalità richieste per Web Server (IIS), scegli Aggiungi funzionalità.
-
Selezionare Next (Successivo) per terminare la selezione dei ruoli server.
-
-
Per Caratteristiche, accettare le impostazioni predefinite. Quindi scegli Successivo.
-
Leggete le informazioni sul ruolo del server Web (IIS). Quindi scegli Successivo.
-
Per Select server roles (Seleziona ruoli server), accettare le impostazioni predefinite o modificarle in base alle esigenze. Quindi scegli Successivo.
-
Per Confirmation (Conferma), leggere le informazioni di conferma. Quindi scegliere Install (Istalla).
-
Al termine dell'installazione, scegliere Close (Chiudi).
Dopo aver completato queste operazioni, andare su Fase 2: Creare una richiesta di firma del certificato (CSR) e un certificato.
Fase 2: Creare una richiesta di firma del certificato (CSR) e un certificato
Per abilitarloHTTPS, il tuo server web necessita di un SSL/TLS certificate and a corresponding private key. To use SSL/TLS offload con AWS CloudHSM, memorizzi la chiave privata HSM nel tuo AWS CloudHSM cluster. A tale scopo, utilizzate il provider di archiviazione delle AWS CloudHSM chiavi (KSP) per Microsoft CryptographyAPI: Next Generation (CNG) per creare una richiesta di firma del certificato (CSR). Quindi lo consegnate CSR a un'autorità di certificazione (CA), che lo firma CSR per produrre un certificato.
Crea un CSR
Usa il AWS CloudHSM KSP sul tuo Windows Server per creare unCSR.
Per creare un CSR
-
Effettuare la connessione al server Windows, se non è stato ancora fatto. Per ulteriori informazioni, consulta Connect to Your Instance nella Amazon EC2 User Guide.
-
Usa il seguente comando per avviare il demone AWS CloudHSM client.
-
Nel Windows Server utilizzare un editor di testo per creare un file di richiesta di certificato denominato
IISCertRequest.inf
. Di seguito viene mostrato il contenuto di un fileIISCertRequest.inf
di esempio. Per ulteriori informazioni sulle sezioni, le chiavi e i valori che è possibile specificare nel file, vedi la documentazione Microsoft. Non modificare il valore ProviderName
.[Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
-
Utilizzate il comando Windows certreq
per creare un IISCertRequest.inf
file CSR dal file creato nel passaggio precedente. L'esempio seguente lo salva in CSR un file denominato.IISCertRequest.csr
Se hai utilizzato un nome di file diverso per il file di richiesta del certificato, sostituisciIISCertRequest.inf
con il nome di file appropriato. Facoltativamente, puoi sostituireIISCertRequest.csr
con un nome di file diverso per il tuo CSR file.C:\>
certreq -new
IISCertRequest.inf
IISCertRequest.csr
SDK Version: 2.03 CertReq: Request Created
Il
IISCertRequest.csr
file contiene il tuoCSR. Ne hai bisogno CSR per ottenere un certificato firmato.
Come ottenere un certificato firmato e importarlo
In un ambiente di produzione, in genere si utilizza un'autorità di certificazione (CA) per creare un certificato da unCSR. che non è invece necessaria per un ambiente di test. Se utilizzi una CA, inviale il CSR file (IISCertRequest.csr
) e usa la CA per creare un TLS certificatoSSL/firmato.
In alternativa all'utilizzo di una CA, puoi utilizzare uno strumento come Open SSL
avvertimento
I certificati autofirmati non sono considerati attendibili dai browser e non devono essere utilizzati negli ambienti di produzione, ma solo negli ambienti di test.
Le seguenti procedure mostrano come creare un certificato autofirmato e utilizzarlo per firmare quello del server web. CSR
Per creare un certificato autofirmato
-
Utilizzate il seguente SSL comando Open per creare una chiave privata. Facoltativamente, puoi sostituire
SelfSignedCA.key
con il nome del file per contenere la chiave privata.openssl genrsa -aes256 -out
SelfSignedCA.key
2048Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
-
Utilizzate il seguente SSL comando Open per creare un certificato autofirmato utilizzando la chiave privata creata nel passaggio precedente. Si tratta di un comando interattivo. Leggi le istruzioni a video e segui i prompt. Replace (Sostituisci)
SelfSignedCA.key
con il nome del file che contiene la chiave privata (se diversa). Puoi opzionalmente sostituireSelfSignedCA.crt
con il nome del file per contenere il certificato autofirmato.openssl req -new -x509 -days 365 -key
SelfSignedCA.key
-outSelfSignedCA.crt
Enter pass phrase for SelfSignedCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
Per utilizzare il tuo certificato autofirmato per firmare quello del tuo server web CSR
-
Utilizza il seguente SSL comando Open per utilizzare la chiave privata e il certificato autofirmato per firmare il. CSR Sostituire gli elementi seguenti con i nomi dei file che contengono i dati corrispondenti (se diversi).
-
IISCertRequest.csr
— Il nome del file che contiene i dati del tuo server web CSR -
SelfSignedCA.crt
— Il nome del file che contiene il certificato autofirmato -
SelfSignedCA.key
— Il nome del file che contiene la chiave privata -
IISCert.crt
— Il nome del file che contiene il certificato firmato del server web
openssl x509 -req -days 365 -in
IISCertRequest.csr
\ -CASelfSignedCA.crt
\ -CAkeySelfSignedCA.key
\ -CAcreateserial \ -outIISCert.crt
Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:
-
Una volta completato il passaggio precedente, avrai un certificato firmato per il server Web (IISCert.crt
) e un certificato autofirmato (SelfSignedCA.crt
). A questo punto, vai alla sezione Fase 3: configurazione del server Web.
Fase 3: configurazione del server Web
Aggiorna la configurazione del tuo IIS sito Web per utilizzare il HTTPS certificato creato alla fine del passaggio precedente. Questo terminerà la configurazione del software del server web Windows (IIS) perSSL/TLSoffload con AWS CloudHSM.
Se hai utilizzato un certificato autofirmato per firmare il tuoCSR, devi prima importare il certificato autofirmato nelle Windows Trusted Root Certification Authorities.
Per importare il certificato autofirmato nelle Autorità di certificazione fonti attendibili Windows
-
Effettuare la connessione al server Windows, se non è stato ancora fatto. Per ulteriori informazioni, consulta Connect to Your Instance nella Amazon EC2 User Guide.
-
Copiare il certificato autofirmato nel server Windows.
-
Nel server Windows aprire il Pannello di controllo.
-
In Cerca nel Pannello di controllo digitare
certificates
. Quindi scegliere Gestisci i certificati computer. -
Nella finestra Certificati - Computer locale fare doppio clic su Autorità di certificazione radice attendibili.
-
Fai clic con il pulsante destro del mouse su Certificati e quindi scegliere Tutte le attività, Importa.
-
In Importazione guidata certificati scegliere Avanti.
-
Scegliere Sfoglia, quindi individuare e selezionare il certificato autofirmato. Se il certificato autofirmato è stato creato seguendo le istruzioni nella fase precedente di questo tutorial, il nome del certificato sarà
SelfSignedCA.crt
. Seleziona Apri. -
Scegli Next (Successivo).
-
Per Archivio certificati scegliere Mettere tutti i certificati nel seguente archivio. Quindi accertarsi che sia selezionata l'opzione Autorità di certificazione radice attendibili per Archivio certificati.
-
Scegliere Avanti, quindi scegliere Fine.
Per aggiornare la configurazione del IIS sito Web
-
Effettuare la connessione al server Windows, se non è stato ancora fatto. Per ulteriori informazioni, consulta Connect to Your Instance nella Amazon EC2 User Guide.
-
Avvia il daemon AWS CloudHSM del client.
-
Copia il certificato firmato del server Web (quello creato al termine della fase precedente di questo tutorial) nel server Windows.
-
Nel server Windows eseguire il comando certreq Windows
per accettare il certificato firmato, come nell'esempio seguente. Replace (Sostituisci) IISCert.crt
con il nome del file che contiene il certificato firmato del server web.C:\>
certreq -accept
IISCert.crt
SDK Version: 2.03
-
Su Windows Server avviare Server Manager.
-
Nella dashboard di Server Manager, nell'angolo in alto a destra, scegli Strumenti, Internet Information Services (IIS) Manager.
-
Nella finestra Internet Information Services (IIS) Manager, fate doppio clic sul nome del server. Quindi fare doppio clic su Siti. Selezionare il sito Web.
-
Seleziona SSLImpostazioni. Quindi, sulla parte destra della finestra, scegliere Binding.
-
Nella finestra Binding sito Web scegliere Aggiungi.
-
Per Tipo, scegliere https. Per il SSLcertificato, scegli il HTTPS certificato che hai creato alla fine del passaggio precedente di questo tutorial.
Nota
Se si verifica un errore durante l'associazione del certificato, riavviare il server e riprovare l'operazione.
-
Scegli OK.
Dopo avere aggiornato la configurazione del sito Web, vai a Passaggio 4: Abilita HTTPS il traffico e verifica il certificato.
Passaggio 4: Abilita HTTPS il traffico e verifica il certificato
Dopo aver configurato il server Web perSSL/TLSoffload con AWS CloudHSM, aggiungete l'istanza del server Web a un gruppo di sicurezza che consente il traffico in entrataHTTPS. Ciò consente ai client, come i browser Web, di stabilire una HTTPS connessione con il server Web. Quindi stabilisci una HTTPS connessione al tuo server web e verifica che stia utilizzando il certificato che hai configurato SSL TLS per/offload con AWS CloudHSM.
Argomenti
Abilita le connessioni in entrata HTTPS
Per connetterti al tuo server web da un client (ad esempio un browser web), crea un gruppo di sicurezza che consenta le connessioni in entrataHTTPS. In particolare, dovrebbe consentire le TCP connessioni in entrata sulla porta 443. Assegna questo gruppo di sicurezza al tuo server Web.
Per creare un gruppo di sicurezza HTTPS e assegnarlo al tuo server web
-
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Seleziona Gruppi di sicurezza nel riquadro di navigazione.
-
Scegliere Create Security Group (Crea gruppo di sicurezza).
-
Per Create Security Group (Crea un gruppo di sicurezza), procedere come segue:
-
Per Security group name (Nome del gruppo di sicurezza), digitare un nome per il gruppo di sicurezza che si sta creando.
-
(Facoltativo) Digitare una descrizione del gruppo di sicurezza in fase di creazione.
-
Per VPC, scegli VPC quello che contiene l'EC2istanza Amazon del tuo server web.
-
Seleziona Aggiungi regola.
-
Per Tipo, seleziona HTTPSdalla finestra a discesa.
-
Per Origine, inserisci una posizione di origine.
-
Scegliere Create Security Group (Crea gruppo di sicurezza).
-
-
Nel pannello di navigazione, seleziona Instances (Istanze).
-
Seleziona la casella di controllo accanto all'istanza del server Web.
-
Seleziona il menu a discesa Operazioni nella parte superiore della pagina. Seleziona Sicurezza, quindi Modifica gruppi di sicurezza.
-
Per Gruppi di sicurezza associati, seleziona la casella di ricerca e scegli il gruppo di sicurezza per cui hai creato. HTTPS Quindi, scegli Aggiungi i gruppi di sicurezza.
-
Seleziona Salva.
Verifica che HTTPS utilizzi il certificato che hai configurato
Dopo aver aggiunto il server Web a un gruppo di sicurezza, puoi verificare cheSSL/TLSoffload stia utilizzando il tuo certificato autofirmato. Puoi farlo con un browser web o con uno strumento come Open s_client. SSL
Per SSL TLS verificare/offload con un browser web
-
Utilizza un browser Web per connetterti al tuo server Web utilizzando il DNS nome pubblico o l'indirizzo IP del server. Assicurati che URL nella barra degli indirizzi inizi con https://. Ad esempio
https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/
.Suggerimento
Puoi utilizzare un DNS servizio come Amazon Route 53 per indirizzare il nome di dominio del tuo sito Web (ad esempio, https://www.example.com/) al tuo server Web. Per ulteriori informazioni, consulta la sezione Routing del traffico verso un'EC2istanza Amazon nella Amazon Route 53 Developer Guide o nella documentazione del DNS servizio.
-
Utilizza il browser Web per visualizzare il certificato del server Web. Per ulteriori informazioni, consulta gli argomenti seguenti:
-
Per Mozilla Firefox, consultare Visualizzare un certificato
sul sito Web di supporto di Mozilla. -
Per Google Chrome, consulta la pagina Understand Security Issues
sul sito Web di Google per sviluppatori.
Altri browser Web potrebbero avere caratteristiche simili da utilizzare per visualizzare il certificato del server Web.
-
-
Assicurati che il TLS certificatoSSL/sia quello per cui hai configurato il tuo server web.
Per verificareSSL/TLSoffload con Open SSL s_client
-
Esegui il seguente SSL comando Open per connetterti al tuo server web utilizzando. HTTPS Replace (Sostituisci)
<server name>
con il DNS nome pubblico o l'indirizzo IP del tuo server web.openssl s_client -connect
<server name>
:443Suggerimento
Puoi utilizzare un DNS servizio come Amazon Route 53 per indirizzare il nome di dominio del tuo sito Web (ad esempio, https://www.example.com/) al tuo server Web. Per ulteriori informazioni, consulta la sezione Routing del traffico verso un'EC2istanza Amazon nella Amazon Route 53 Developer Guide o nella documentazione del DNS servizio.
-
Assicurati che il TLS certificatoSSL/sia quello per cui hai configurato il tuo server web.
Ora hai un sito web protetto conHTTPS. La chiave privata per il server Web è archiviata HSM in un AWS CloudHSM cluster.
Per aggiungere un sistema di bilanciamento del carico, consulta la pagina Aggiungi un sistema di bilanciamento del carico con Elastic Load Balancing AWS CloudHSM per (opzionale).