Uso di SSL - AWS OpsWorks

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 o tramite Premium AWS Support.

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:

  1. Installare e configurare OpenSSL

  2. Crea una chiave privata.

  3. Creare una richiesta di firma del certificato.

  4. Generare un certificato autofirmato.

  5. 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. Se il tuo stack include un livello Ganglia, dovresti disabilitare SSL v3 anche per quel livello. I dettagli dipendono dal livello specifico; per ulteriori informazioni, consulta quanto segue.

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
  1. Andare su OpenSSL: Source, Tarballs (OpenSSL: origine, tarball).

  2. Scaricare l'origine più recente.

  3. Creare il pacchetto.

Per installare OpenSSL in ambiente Windows
  1. Se il Microsoft Visual C++ 2008 Redistributable Package non è già installato sul sistema, scarica il pacchetto.

  2. Eseguire il programma di installazione e seguire le istruzioni fornite da Microsoft Visual C++ 2008 Redistributable Setup Wizard per installare il ridistribuibile.

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

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

Dati di 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 su Wikipedia.

È 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 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).

SSL Settings interface with options for SSL Support, Certificate, Key, and Certification Authorities.

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
  1. Andare alla pagina Instances (Istanze).

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

  3. Modificare il prefisso dell'indirizzo IP da http:// a https:// 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 sul sito Web di supporto di Mozilla Firefox.

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.