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à.
Uso di SSL
Importante
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post
Per utilizzare SSL con l'applicazione, è necessario prima ottenere un certificato server digitale da una Certificate Authority (CA). Per semplicità, questa procedura guidata crea un certificato poi lo autofirma. I certificati autofirmati sono utili per scopi di formazione ed esecuzione di test, ma è necessario utilizzare sempre un certificato firmato da una CA per gli stack di produzione.
In questa procedura guidata, si eseguiranno le operazioni seguenti:
-
Installare e configurare OpenSSL
-
Crea una chiave privata.
-
Creare una richiesta di firma del certificato.
-
Generare un certificato autofirmato.
-
Modificare l'applicazione con le informazioni del certificato.
Importante
Se l'applicazione utilizza SSL, si consiglia di disattivare SSLv3, se possibile, nei livelli di server dell'applicazione per risolvere le vulnerabilità descritte in CVE-2014-3566
Argomenti
Passaggio 1: installare e configurare OpenSSL
La creazione e il caricamento dei certificati server richiede uno strumento che supporta i protocolli SSL e TLS. OpenSSL è uno strumento open-source che fornisce le funzioni di crittografia di base necessarie per creare un token RSA e firmarlo con la chiave privata.
La procedura seguente presuppone che il computer non disponga già di OpenSSL installato.
Per installare OpenSSL su Linux e Unix
-
Andare su OpenSSL: Source, Tarballs (OpenSSL: origine, tarball)
. -
Scaricare l'origine più recente.
-
Creare il pacchetto.
Per installare OpenSSL in ambiente Windows
-
Eseguire il programma di installazione e seguire le istruzioni fornite da Microsoft Visual C++ 2008 Redistributable Setup Wizard per installare il ridistribuibile.
-
Andare su OpenSSL: Binary Distributions (OpenSSL: distribuzione binaria)
, fare clic sulla versione appropriata dei file binari OpenSSL per l'ambiente e salvare il programma di installazione in locale. -
Eseguire il programma di installazione e seguire le istruzioni in OpenSSL Setup Wizard (Procedura guidata di installazione OpenSSL) per installare il file binari.
Creare una variabile di ambiente che punti al punto di installazione OpenSSL attraverso l'apertura di un terminale o di una finestra di comando e l'utilizzo delle seguenti righe di comando.
-
Su Linux e Unix
export OpenSSL_HOME=
path_to_your_OpenSSL_installation
-
Su Windows
set OpenSSL_HOME=
path_to_your_OpenSSL_installation
Aggiungere la variabile di percorso dei file binari OpenSSL sul computer tramite l'apertura di un terminale o di una finestra di comando e l'utilizzo delle seguenti righe di comando.
-
Su Linux e Unix
export PATH=$PATH:$OpenSSL_HOME/bin
-
Su Windows
set Path=OpenSSL_HOME\bin;%Path%
Nota
Eventuali modifiche apportate alle variabili di ambiente tramite l'utilizzo di queste righe di comando sono valide solo per la sessione della riga di comando attuale.
Passaggio 2: creare una chiave privata
È necessaria una chiave privata univoca per creare la richiesta di firma del certificato (CSR). Crea la chiave utilizzando la seguente riga di comando:
openssl genrsa 2048 > privatekey.pem
Passaggio 3: creare una richiesta di firma del certificato
Una richiesta di firma del certificato (CSR) è un file inviato a una Certificate Authority (CA) per richiedere un certificato server digitale. Creare la CSR utilizzando la seguente riga di comando.
openssl req -new -key privatekey.pem -out csr.pem
L'output del comando risulterà simile al seguente:
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.
La tabella seguente aiuta a creare la richiesta di certificato.
Nome | Descrizione | Esempio |
---|---|---|
Nome paese | L'abbreviazione ISO di due lettere per il tuo paese. | US = Stati Uniti |
Lo stato o la provincia | Il nome dello stato o della provincia in cui si trova la tua organizzazione. Questo nome non può essere abbreviato. | Washington |
Locality Name (Nome località) | Il nome della città in cui si trova la tua organizzazione. | Seattle |
Nome organizzazione | La denominazione legale completa della tua organizzazione. Non abbreviare il nome dell'organizzazione. | CorporationX |
Unità organizzativa | (Opzionale) Per informazioni aggiuntive sull'organizzazione. | Marketing |
Common Name (Nome comune) | Il nome di dominio pienamente qualificato per il CNAME. Si riceverà un avviso di controllo del nome di certificato se non è una corrispondenza esatta. | www.example.com |
Indirizzo e-mail | L'indirizzo e-mail dell'amministratore del server | someone@example.com |
Nota
Il campo Nome comune è spesso frainteso e viene completato in modo non corretto. Il nome comune è in genere l'host più il nome di dominio. Comparirà come "www.example.com" o "example.com". È necessario creare una CSR utilizzando il proprio nome comune corretto.
Passaggio 4: inviare il CSR alla Certificate Authority
Per l'utilizzo di produzione, è possibile ottenere un certificato server inviando il CSR a una Certificate Authority (CA) che potrebbe richiedere altre credenziali o prove di identità. Se la richiesta va a buon fine, la CA restituisce il certificato di identità con la firma digitale e possibilmente un file della catena del certificato. AWS non consiglia una CA specifica. Per un elenco parziale di CA disponibili, consulta Autorità di certificazione - fornitori
È inoltre possibile generare un certificato autofirmato che può essere utilizzato solo a scopo di test. Per questo esempio, utilizzare la seguente riga di comando per generare un certificato autofirmato.
openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out server.crt
L'output risulterà simile al seguente:
Loading 'screen' into random state - done Signature ok subject=/C=us/ST=washington/L=seattle/O=corporationx/OU=marketing/CN=example.com/emailAddress=someone@example.com Getting Private key
Passaggio 5: modificare la app
Dopo aver generato il certificato e averlo firmato, aggiornare la app per attivare SSL e fornire le informazioni di certificato. Nella pagina App scegliere un’app per aprire la pagina dei dettagli e fare clic su Edit App (Modifica app). Per attivare il supporto SSL, impostare Enable SSL (Abilita SSL) su Sì per visualizzare le seguenti opzioni di configurazione.
- Certificato SSL
-
Copiare i contenuti del file di certificato della chiave pubblica (.crt) nella casella. Il certificato deve avere un aspetto simile al seguente:
-----BEGIN CERTIFICATE----- MIICuTCCAiICCQCtqFKItVQJpzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMC dXMxEzARBgNVBAgMCndhc2hpbmd0b24xEDAOBgNVBAcMB3NlYXR0bGUxDzANBgNV BAoMBmFtYXpvbjEWMBQGA1UECwwNRGV2IGFuZCBUb29sczEdMBsGA1UEAwwUc3Rl cGhhbmllYXBpZXJjZS5jb20xIjAgBgkqhkiG9w0BCQEWE3NhcGllcmNlQGFtYXpv ... -----END CERTIFICATE-----
Nota
Se si sta utilizzando Nginx e si dispone di un file della catena del certificato, è necessario aggiungere i contenuti al file di certificato della chiave pubblica.
Se si sta aggiornando un certificato esistente, eseguire le operazioni seguenti:
-
Scegliere Update SSL certificate (Aggiorna certificato SSL) per aggiornare il certificato.
-
Se il nuovo certificato non corrisponde alla chiave privata esistente, scegliere Update SSL certificate key (Aggiorna chiave certificato SSL).
-
Se il nuovo certificato non corrisponde alla catena di certificati esistente, scegliere Update SSL certificates (Aggiorna certificato SSL).
-
- SSL Certificate Key (Chiave del certificato SSL)
-
Copiare i contenuti del file della chiave privata (file .pem) nella casella. Deve avere un aspetto simile al seguente:
----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQC0CYklJY5r4vV2NHQYEpwtsLuMMBhylMrgBShKq+HHVLYQQCL6 +wGIiRq5qXqZlRXje3GM5Jvcm6q0R71MfRIl1FuzKyqDtneZaAIEYniZibHiUnmO /UNqpFDosw/6hY3ONk0fSBlU4ivD0Gjpf6J80jL3DJ4R23Ed0sdL4pRT3QIDAQAB AoGBAKmMfWrNRqYVtGKgnWB6Tji9QrKQLMXjmHeGg95mppdJELiXHhpMvrHtpIyK ... -----END RSA PRIVATE KEY-----
- SSL certificates of Certification Authorities (Certificati SSL delle Certification Authority)
-
Se si dispone di un file della catena del certificato, incollare il contenuto nella casella.
Nota
Se si sta usando Nginx, è necessario lasciare la casella vuota. Se si dispone di un file della catena del certificato, aggiungerla al file del certificato della chiave pubblica in SSL Certificate (Certificato SSL).
Dopo aver fatto clic su Save (Salva), ridistribuire l'applicazione per aggiornare le proprie istanze online.
Per i livelli di application server integrati, AWS OpsWorks Stacks aggiorna automaticamente la configurazione del server. Al termine della distribuzione, è possibile verificare che l'installazione OpenSSL è andata a buon fine, come segue.
Per verificare un'installazione OpenSSL
-
Andare alla pagina Instances (Istanze).
-
Eseguire l'app facendo clic sull'indirizzo IP delle istanze del server di applicazione o, se si sta utilizzando un sistema di bilanciamento del carico, l'indirizzo IP del sistema di bilanciamento del carico.
-
Modificare il prefisso dell'indirizzo IP da
http://
ahttps://
e aggiornare il browser per verificare che la pagina venga caricata correttamente con SSL.
Gli utenti che hanno configurato le app per l'esecuzione in Mozilla Firefox talvolta ottengono il seguente errore di certificato: SEC_ERROR_UNKNOWN_ISSUER
. Questo errore può essere causato dalla funzionalità di sostituzione dei certificati nei programmi antivirus e antimalware dell'organizzazione, da alcuni tipi di software di monitoraggio e filtro del traffico di rete o da malware. Per ulteriori informazioni su come risolvere questo errore, consulta Come interpretare i codici di errore e risolvere i problemi di sicurezza per i siti web sicuri
Per tutti gli altri livelli, inclusi i livelli personalizzati, AWS OpsWorks Stacks aggiunge semplicemente le impostazioni SSL agli attributi deploy dell'app. È necessario implementare una ricetta personalizzata per recuperare le informazioni dall'oggetto nodo e configurare il server in modo appropriato.