AWS CloudHSM SSL/TLSoffload su Linux usando NGINX o Apache con Open SSL - AWS CloudHSM

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 Linux usando NGINX o Apache con Open SSL

Questo argomento fornisce step-by-step istruzioni per configurareSSL/TLSoffload with AWS CloudHSM su un server web Linux.

Panoramica

Su Linux, il software del HTTPserver web NGINXe Apache Server si integra con Open SSL per supportare. HTTPS Il motore AWS CloudHSM dinamico di Open SSL fornisce un'interfaccia che consente al software del server Web di utilizzarlo HSMs nel cluster per l'offload crittografico e l'archiviazione delle chiavi. L'Open SSL engine è il bridge che collega il server Web al AWS CloudHSM cluster.

Per completare questo tutorial, devi prima scegliere se utilizzare il software del server web NGINX o Apache su Linux. Vengono quindi 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

Piattaforme diverse richiedono prerequisiti diversi. Utilizza la sezione sui prerequisiti riportata di seguito corrispondente alla tua piattaforma.

Prerequisiti per il Client 5 SDK

Per configurare il server SSL web/ TLS offload con Client SDK 5, è necessario quanto segue:

  • Un AWS CloudHSM cluster attivo con almeno due moduli di sicurezza hardware () HSM

    Nota

    È possibile utilizzare un singolo HSM cluster, ma è necessario prima disabilitare la durabilità delle chiavi del client. Per ulteriori informazioni, vedere Manage Client Key Durability Settings e Client SDK 5 Configure Tool.

  • Un'EC2istanza Amazon che esegue un sistema operativo Linux con il seguente software installato:

    • Un server Web (NGINXo Apache)

    • L'Open SSL Dynamic Engine per Client 5 SDK

  • Un utente crittografico (CU) che possiede e gestisce la chiave privata del server web su. HSM

Per configurare un'istanza di server web Linux e creare una CU su HSM
  1. Installa e configura Open SSL Dynamic Engine per AWS CloudHSM. Per ulteriori informazioni sull'installazione di Open SSL Dynamic Engine, vedete Open SSL Dynamic Engine for Client SDK 5.

  2. Su un'istanza EC2 Linux che ha accesso al tuo cluster, installa uno dei due NGINX o il server web Apache:

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    • Per informazioni su come scaricare la versione più recente di NGINX Amazon Linux 2, consulta il NGINXsito Web.

      L'ultima versione NGINX disponibile per Amazon Linux 2 utilizza una versione di Open SSL più recente della versione di sistema di OpenSSL. Dopo l'installazioneNGINX, è necessario creare un collegamento simbolico dalla libreria AWS CloudHSM Open SSL Dynamic Engine alla posizione prevista da questa versione di Open SSL

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 7
    • Per informazioni su come scaricare l'ultima versione di NGINX CentOS 7, visitate il NGINX sito Web.

      L'ultima versione NGINX disponibile per CentOS 7 utilizza una versione di Open SSL più recente della versione di sistema di Open. SSL Dopo l'installazioneNGINX, è necessario creare un collegamento simbolico dalla libreria AWS CloudHSM Open SSL Dynamic Engine alla posizione prevista da questa versione di Open SSL

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 7
    • Per informazioni su come scaricare l'ultima versione di NGINX Red Hat 7, visitate il NGINX sito web.

      L'ultima versione NGINX disponibile per Red Hat 7 utilizza una versione di Open SSL più recente della versione di sistema di OpenSSL. Dopo l'installazioneNGINX, è necessario creare un collegamento simbolico dalla libreria AWS CloudHSM Open SSL Dynamic Engine alla posizione prevista da questa versione di Open SSL

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 20.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 22.04

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  3. Usa Cloud HSM CLI per creare una CU. Per ulteriori informazioni sulla gestione HSM degli utenti, consulta Gestire HSM gli utenti con Cloud HSM CLI.

    Suggerimento

    Prendere nota del nome utente e della password del CU, Ti serviranno in seguito quando genererai o importerai la chiave HTTPS privata e il certificato per il tuo server web.

Dopo aver completato queste operazioni, andare su Passaggio 2: generare o importare una chiave privata e SSL un TLS certificato.

Note

Prerequisiti per il Client 3 SDK

Per configurare il server SSL web/ TLS offload con Client SDK 3, è necessario quanto segue:

  • Un AWS CloudHSM cluster attivo con almeno unoHSM.

  • Un'EC2istanza Amazon che esegue un sistema operativo Linux con il seguente software installato:

    • Il AWS CloudHSM client e gli strumenti da riga di comando.

    • L'applicazione NGINX o il server web Apache.

    • Il motore AWS CloudHSM dinamico di OpenSSL.

  • Un utente crittografico (CU) che possiede e gestisce la chiave privata del server web su. HSM

Per configurare un'istanza di server web Linux e creare una CU su HSM
  1. Completa le fasi descritte in Nozioni di base. Avrai quindi un cluster attivo con un'istanza EC2 client Amazon HSM e un'istanza client. La tua EC2 istanza verrà configurata con gli strumenti della riga di comando. Utilizzare questa istanza client come server Web.

  2. Effettuare la connessione all'istanza del client. Per ulteriori informazioni, consulta Connessione all'istanza Linux tramite SSH o connessione all'istanza Linux da Windows tramite Pu TTY nella EC2 documentazione di Amazon.

  3. Su un'istanza EC2 Linux che ha accesso al tuo cluster, installa uno NGINX o il server web Apache:

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    CentOS 7
    Red Hat 7
    Ubuntu 16.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
  4. (Facoltativo) Aggiungine altri HSMs al cluster. Per ulteriori informazioni, consulta Aggiungere un file HSM a un cluster AWS CloudHSM.

  5. Utilizzare cloudhsm_mgmt_util per creare un CU. Per ulteriori informazioni, consulta HSMutenti. Prendere nota del nome utente e della password del CU, Ti serviranno in seguito quando genererai o importerai la chiave HTTPS privata e il certificato per il tuo server web.

Dopo aver completato queste operazioni, andare su Passaggio 2: generare o importare una chiave privata e SSL un TLS certificato.

Passaggio 2: generare o importare una chiave privata e SSL un TLS certificato

Per HTTPS abilitarla, l'applicazione del server web (NGINXo Apache) necessita di una chiave privata e di un corrispondente SSL/TLS certificate. To use web server SSL/TLS offload con AWS CloudHSM, è necessario archiviare la chiave privata HSM in un cluster. AWS CloudHSM Questa operazione può essere eseguita in uno dei seguenti modi:

  • Se non disponi ancora di una chiave privata e di un certificato corrispondente, genera una chiave privata in un. HSM La chiave privata viene utilizzata per creare una richiesta di firma del certificato (CSR), che viene utilizzata per creare il TLS certificato SSL /.

  • Se disponi già di una chiave privata e del certificato corrispondente, importa la chiave privata in un fileHSM.

Indipendentemente dai metodi precedenti scelti, esporti una chiave PEM privata falsa daHSM, che è un file di chiave privata in PEM formato che contiene un riferimento alla chiave privata memorizzata su HSM (non è la chiave privata effettiva). Il tuo server web utilizza il file di chiave PEM privata falso per identificare la chiave privata presente HSM duranteSSL/TLSoffload.

Generazione di una chiave privata e di un certificato

Generazione di una chiave privata

Questa sezione mostra come generare una coppia di chiavi utilizzando l'utilità di gestione delle chiavi (KMU) del Client SDK 3. Una volta generata una key pair all'interno diHSM, è possibile esportarla come PEM file falso e generare il certificato corrispondente.

Le chiavi private generate con la Key Management Utility (KMU) possono essere utilizzate sia con il Client SDK 3 che con il Client SDK 5.

Installa e configura la Key Management Utility (KMU)
  1. Effettuare la connessione all'istanza del client.

  2. Installa e configura il client SDK 3.

  3. Esegui il seguente comando per avviare il AWS CloudHSM client.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 20.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  4. Eseguire il comando seguente per avviare lo strumento a riga di comando key_mgmt_util.

    $ /opt/cloudhsm/bin/key_mgmt_util
  5. Esegui il comando seguente per accedere aHSM. Replace (Sostituisci) <user name> e <password> con il nome utente e la password dell'utente crittografico (CU).

    Command: loginHSM -u CU -s <user name> -p <password>>

Generazione di una chiave privata

A seconda del caso d'uso, è possibile generare una RSA o una coppia di key pair EC. Esegui una di queste operazioni:

  • Per generare una chiave RSA privata su un HSM

    Usa il genRSAKeyPair comando per generare una RSA key pair. Questo esempio genera una RSA key pair con un modulo di 2048, un esponente pubblico di 65537 e un'etichetta di tls_rsa_keypair.

    Command: genRSAKeyPair -m 2048 -e 65537 -l tls_rsa_keypair

    Se il comando ha avuto successo, dovresti vedere il seguente output che indica che hai generato con successo una RSA key pair.

    Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 7 private key handle: 8 Cluster Status: Node id 1 status: 0x00000000 : HSM Return: SUCCESS
  • Per generare una chiave privata EC su un HSM

    Utilizza il comando genECCKeyPair per generare una coppia di chiavi EC. Questo esempio genera una coppia di key pair EC con un ID della curva pari a 2 (corrispondente alla NID_X9_62_prime256v1 curva) e un'etichetta di tls_ec_keypair.

    Command: genECCKeyPair -i 2 -l tls_ec_keypair

    Se il comando ha dato esito positivo, dovresti vedere il seguente output che indica che hai generato una coppia di chiavi EC.

    Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 7 private key handle: 8 Cluster Status: Node id 1 status: 0x00000000 : HSM Return: SUCCESS

Esporta un file di chiave PEM privata falso

Una volta che hai una chiave privata suHSM, devi esportare un file di chiave PEM privata falso. Questo file non contiene i dati chiave effettivi, ma consente a Open SSL Dynamic Engine di identificare la chiave privata sulHSM. È quindi possibile utilizzare la chiave privata per creare una richiesta di firma del certificato (CSR) e firmarla CSR per creare il certificato.

Nota

PEMI file falsi generati con la Key Management Utility (KMU) possono essere utilizzati sia con il Client SDK 3 che con il Client SDK 5.

Identifica l'handle di chiave che corrisponde alla chiave che desideri esportare come falsaPEM, quindi esegui il comando seguente per esportare la chiave privata in PEM formato falso e salvarla in un file. Sostituire i valori seguenti con i propri valori.

  • <private_key_handle> — Gestione della chiave privata generata. Questo handle è stato generato da uno dei comandi di generazione della chiave nella fase precedente. Nell'esempio sopra riportato, l'handle della chiave privata è 8.

  • <web_server_fake_PEM.key> — Nome del file su cui verrà scritta la tua PEM chiave falsa.

Command: getCaviumPrivKey -k <private_key_handle> -out <web_server_fake_PEM.key>

Exit (Esci)

Esegui il comando seguente per arrestare key_mgmt_util.

Command: exit

Ora dovresti avere un nuovo file sul tuo sistema, che si trova nel percorso specificato da <web_server_fake_PEM.key> nel comando precedente. Questo file è il falso file della chiave PEM privata.

Generazione di un certificato auto-firmato

Dopo aver generato una chiave PEM privata falsa, puoi utilizzare questo file per generare una richiesta di firma del certificato (CSR) e un certificato.

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, invia loro il CSR file e usa il TLS certificatoSSL/firmato per cui ti forniscono nel tuo server webHTTPS.

In alternativa all'utilizzo di una CA, puoi utilizzare AWS CloudHSM Open SSL Dynamic Engine per creare un certificato autofirmato. I certificati autofirmati non sono considerati attendibili dai browser e non devono essere utilizzati negli ambienti di produzione, ma solo negli ambienti di test.

avvertimento

È consigliabile utilizzare i certificati autofirmati solo in un ambiente di test. Per un ambiente di produzione, è consigliabile utilizzare un metodo più sicuro, ad esempio un'autorità di certificazione per creare un certificato.

Installa e configura Open Dynamic Engine SSL
  1. Effettuare la connessione all'istanza del client.

  2. Per l'installazione e la configurazione, esegui una delle seguenti operazioni:

Generazione di un certificato
  1. Procurati una copia del PEM file falso generato in un passaggio precedente.

  2. Crea un CSR

    Eseguite il comando seguente per utilizzare AWS CloudHSM Open SSL Dynamic Engine per creare una richiesta di firma del certificato (CSR). Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata. Replace (Sostituisci) <web_server.csr> con il nome del file che contiene il tuoCSR.

    Il comando req è interattivo. Ogni campo deve essere compilato Le informazioni sul campo vengono copiate nel tuo TLS certificato SSL /.

    $ openssl req -engine cloudhsm -new -key <web_server_fake_PEM.key> -out <web_server.csr>
  3. Crea un certificato auto-firmato

    Esegui il seguente comando per utilizzare AWS CloudHSM Open SSL Dynamic Engine per firmare CSR con la tua chiave privata sul tuoHSM. In questo modo viene creato un certificato autofirmato. Sostituire i valori seguenti nel comando con i propri valori.

    • <web_server.csr> — Nome del file che contiene ilCSR.

    • <web_server_fake_PEM.key> — Nome del file che contiene la falsa chiave PEM privata.

    • <web_server.crt> — Nome del file che conterrà il certificato del server web.

    $ openssl x509 -engine cloudhsm -req -days 365 -in <web_server.csr> -signkey <web_server_fake_PEM.key> -out <web_server.crt>

Dopo aver completato queste operazioni, andare su Fase 3: configurazione del server Web.

Importa una chiave privata e un certificato esistenti

Potresti già avere una chiave privata e un TLS certificatoSSL/corrispondente da utilizzare HTTPS sul tuo server web. In tal caso, puoi importare quella chiave in un file HSM seguendo i passaggi di questa sezione.

Nota

Alcune note sulle importazioni di chiavi private e sulla SDK compatibilità con i client:

  • L'importazione di una chiave privata esistente richiede il Client SDK 3.

  • È possibile utilizzare le chiavi private del Client SDK 3 con il Client SDK 5.

  • Open SSL Dynamic Engine for Client SDK 3 non supporta le piattaforme Linux più recenti, ma l'implementazione di Open SSL Dynamic Engine for Client SDK 5 sì. È possibile importare una chiave privata esistente utilizzando la Key Management Utility (KMU) fornita con Client SDK 3, quindi utilizzare quella chiave privata e l'implementazione di Open SSL Dynamic Engine con Client SDK 5 per SSL TLS supportare/offload sulle piattaforme Linux più recenti.

Per importare una chiave privata esistente in e HSM con Client 3 SDK
  1. Connect alla tua istanza EC2 client Amazon. Se necessario, copiare la chiave privata esistente e il certificato nell'istanza.

  2. Installa e configura Client SDK 3

  3. Esegui il seguente comando per avviare il AWS CloudHSM client.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 20.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  4. Eseguire il comando seguente per avviare lo strumento a riga di comando key_mgmt_util.

    $ /opt/cloudhsm/bin/key_mgmt_util
  5. Esegui il comando seguente per accedere aHSM. Replace (Sostituisci) <user name> e <password> con il nome utente e la password dell'utente crittografico (CU).

    Command: loginHSM -u CU -s <user name> -p <password>
  6. Esegui i seguenti comandi per importare la tua chiave privata in un file. HSM

    1. Eseguire il comando seguente per creare una chiave di wrapping simmetrica valida solo per la sessione corrente. Di seguito sono riportati il comando e l'output.

      Command: genSymKey -t 31 -s 16 -sess -l wrapping_key_for_import Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
    2. Esegui il comando seguente per importare la tua chiave privata esistente in un fileHSM. Di seguito sono riportati il comando e l'output. Sostituire i valori seguenti con i propri valori:

      • <web_server_existing.key> — Nome del file che contiene la chiave privata.

      • <web_server_imported_key> — Etichetta per la chiave privata importata.

      • <wrapping_key_handle> — Maniglia chiave avvolgente generata dal comando precedente. Nell'esempio precedente, l'handle della chiave di wrapping è 6.

      Command: importPrivateKey -f <web_server_existing.key> -l <web_server_imported_key> -w <wrapping_key_handle> BER encoded key length is 1219 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 8 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
  7. Esegui il seguente comando per esportare la chiave privata in PEM formato falso e salvarla in un file. Sostituire i valori seguenti con i propri valori.

    • <private_key_handle> — Gestire la chiave privata importata. Questo handle è stato generato dal secondo comando nella fase precedente. Nell'esempio sopra riportato, l'handle della chiave privata è 8.

    • <web_server_fake_PEM.key> — Nome del file che contiene la falsa chiave PEM privata esportata.

    Command: getCaviumPrivKey -k <private_key_handle> -out <web_server_fake_PEM.key>
  8. Eseguire il comando seguente per arrestare key_mgmt_util.

    Command: exit

Dopo aver completato queste operazioni, andare su Fase 3: configurazione del server Web.

Fase 3: configurazione del server Web

Aggiorna la configurazione del software del tuo server web per utilizzare il HTTPS certificato e la corrispondente chiave PEM privata falsa che hai creato nel passaggio precedente. Ricorda di eseguire il backup dei certificati e delle chiavi esistenti prima di iniziare. Questo completerà la configurazione del software del server web Linux per SSL TLS /offload con AWS CloudHSM.

Completa la procedura delineata in una delle seguenti sezioni.

Configura il NGINX server web

Usa questa sezione per configurare NGINX sulle piattaforme supportate.

Per aggiornare la configurazione del server Web per NGINX
  1. Effettuare la connessione all'istanza del client.

  2. Esegui il comando seguente per creare le directory richieste per il certificato del server Web e la falsa chiave PEM privata.

    $ sudo mkdir -p /etc/pki/nginx/private
  3. Eseguire il comando seguente per copiare il certificato del server Web nella posizione richiesta. Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    $ sudo cp <web_server.crt> /etc/pki/nginx/server.crt
  4. Esegui il seguente comando per copiare la tua falsa chiave PEM privata nella posizione richiesta. Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    $ sudo cp <web_server_fake_PEM.key> /etc/pki/nginx/private/server.key
  5. Eseguire il comando seguente per modificare la proprietà dei file in modo che l'utente denominato nginx possa leggerli.

    $ sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
  6. Eseguire il comando seguente per effettuare il backup del file /etc/nginx/nginx.conf.

    $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
  7. Aggiorna la NGINX configurazione.

    Nota

    Ogni cluster può supportare un massimo di 1000 processi NGINX di lavoro su tutti i server NGINX Web.

    Amazon Linux

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    • Se si utilizza il Client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Se si utilizza il Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Amazon Linux 2

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    • Se si utilizza il Client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Se si utilizza il Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 7

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    • Se si utilizza il Client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Se si utilizza il Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 8

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 7

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    • Se si utilizza il Client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Se si utilizza il Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 8

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 16.04 LTS

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    ssl_engine cloudhsm; env n3fips_password;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 18.04 LTS

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 20.04 LTS

    Usare un editor di testo per modificare il file /etc/nginx/nginx.conf. Per farlo sono necessarie le autorizzazioni root di Linux. All'inizio del file, aggiungi le seguenti righe:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Quindi aggiungi quanto segue alla TLS sezione del file:

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

    Salvare il file.

  8. Eseguire il backup del file di configurazione systemd, quindi impostare il percorso EnvironmentFile.

    Amazon Linux

    Nessuna operazione necessaria.

    Amazon Linux 2
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    CentOS 7

    Nessuna operazione necessaria.

    CentOS 8
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    Red Hat 7

    Nessuna operazione necessaria.

    Red Hat 8
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 16.04
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 18.04
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 20.04 LTS
    1. Effettuare il backup del file nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Aprire il file /lib/systemd/system/nginx.service in un editor di testo, quindi nella sezione [Service], aggiungere il percorso seguente:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  9. Controllare se il file /etc/sysconfig/nginx esiste, quindi eseguire una delle operazioni seguenti:

    • Se il file esiste, effettuare il backup del file eseguendo il seguente comando:

      $ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
    • In caso contrario, aprire un editor di testo, quindi creare un file denominato nginx nella cartella /etc/sysconfig/.

  10. Configura l'NGINXambiente.

    Nota

    Il Client SDK 5 introduce la variabile di CLOUDHSM_PIN ambiente per la memorizzazione delle credenziali della CU.

    Amazon Linux

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Amazon Linux 2

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    CentOS 7

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    CentOS 8

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Red Hat 7

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Red Hat 8

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Ubuntu 16.04 LTS

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    n3fips_password=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Ubuntu 18.04 LTS

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Ubuntu 20.04 LTS

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Salvare il file.

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  11. Avviate il server NGINX web.

    Amazon Linux

    Apri il file /etc/sysconfig/nginx in un editor di testo. Per farlo sono necessarie le autorizzazioni root di Linux. Aggiungi le credenziali del crypto user (CU):

    $ sudo service nginx start
    Amazon Linux 2

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    CentOS 7

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    CentOS 8

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Red Hat 7

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Red Hat 8

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Ubuntu 16.04 LTS

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Ubuntu 18.04 LTS

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Ubuntu 20.04 LTS

    Interrompi qualsiasi NGINX processo in esecuzione

    $ sudo systemctl stop nginx

    Ricarica la configurazione systemd per implementare le modifiche più recenti

    $ sudo systemctl daemon-reload

    Avvia il NGINX processo

    $ sudo systemctl start nginx
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  12. (Facoltativo) Configura la tua piattaforma per NGINX avviarla all'avvio.

    Amazon Linux
    $ sudo chkconfig nginx on
    Amazon Linux 2
    $ sudo systemctl enable nginx
    CentOS 7

    Nessuna operazione necessaria.

    CentOS 8
    $ sudo systemctl enable nginx
    Red Hat 7

    Nessuna operazione necessaria.

    Red Hat 8
    $ sudo systemctl enable nginx
    Ubuntu 16.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 18.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 20.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

Dopo avere aggiornato la configurazione del server Web, vai alla Fase 4: Abilitare HTTPS il traffico e verificare il certificato.

Configurazione del server Web Apache

Fai riferimento a questa sezione per configurare Apache sulle piattaforme supportate.

Per aggiornare la configurazione del server Web per Apache
  1. Connect alla tua istanza EC2 client Amazon.

  2. Definisci le posizioni predefinite per i certificati e le chiavi private per la piattaforma.

    Amazon Linux

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Amazon Linux 2

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 7

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 8

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 7

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 8

    Assicurati che nel file /etc/httpd/conf.d/ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Ubuntu 16.04 LTS

    Assicurati che nel file /etc/apache2/sites-available/default-ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 18.04 LTS

    Assicurati che nel file /etc/apache2/sites-available/default-ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 20.04 LTS

    Assicurati che nel file /etc/apache2/sites-available/default-ssl.conf siano presenti questi valori:

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  3. Copia il certificato del server Web nella posizione richiesta per la piattaforma.

    Amazon Linux
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Amazon Linux 2
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    CentOS 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    CentOS 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Red Hat 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Red Hat 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Replace (Sostituisci) <web_server.crt> con il nome del certificato del tuo server web.

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  4. Copia la tua falsa chiave PEM privata nella posizione richiesta per la tua piattaforma.

    Amazon Linux
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Amazon Linux 2
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    CentOS 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    CentOS 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Red Hat 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Red Hat 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Replace (Sostituisci) <web_server_fake_PEM.key> con il nome del file che contiene la tua falsa chiave PEM privata.

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  5. Cambia la proprietà di questi file se richiesto dalla piattaforma.

    Amazon Linux
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    Amazon Linux 2
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    CentOS 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    CentOS 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    Red Hat 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    Red Hat 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fornisce il permesso di lettura all'utente denominato apache.

    Ubuntu 16.04 LTS

    Nessuna operazione necessaria.

    Ubuntu 18.04 LTS

    Nessuna operazione necessaria.

    Ubuntu 20.04 LTS

    Nessuna operazione necessaria.

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  6. Configura le direttive Apache per la piattaforma.

    Amazon Linux

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Salvare il file.

    Amazon Linux 2

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Salvare il file.

    CentOS 7

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Salvare il file.

    CentOS 8

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    Salvare il file.

    Red Hat 7

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Salvare il file.

    Red Hat 8

    Individua il SSL file per questa piattaforma:

    /etc/httpd/conf.d/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    Salvare il file.

    Ubuntu 16.04 LTS

    Individua il SSL file per questa piattaforma:

    /etc/apache2/mods-available/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Salvare il file.

    Abilita il SSL modulo e la configurazione predefinita SSL del sito:

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 18.04 LTS

    Individua il SSL file per questa piattaforma:

    /etc/apache2/mods-available/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    Salvare il file.

    Abilita il SSL modulo e la configurazione predefinita SSL del sito:

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 20.04 LTS

    Individua il SSL file per questa piattaforma:

    /etc/apache2/mods-available/ssl.conf

    Questo file contiene le direttive Apache che definiscono la modalità di esecuzione del server. Le direttive vengono visualizzate a sinistra, seguite da un valore. Utilizza un editor di testo per modificare il file. Per farlo sono necessarie le autorizzazioni root di Linux.

    Aggiorna o inserisci le seguenti direttive con questi valori:

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    Salvare il file.

    Abilita il SSL modulo e la configurazione predefinita SSL del sito:

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  7. Configura un file environment-values per la piattaforma.

    Amazon Linux

    Nessuna operazione necessaria. I valori dell'ambiente vanno in /etc/sysconfig/httpd

    Amazon Linux 2

    Apri il file di servizio httpd:

    /lib/systemd/system/httpd.service

    Aggiungi quanto segue alla sezione [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 7

    Apri il file di servizio httpd:

    /lib/systemd/system/httpd.service

    Aggiungi quanto segue alla sezione [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 8

    Apri il file di servizio httpd:

    /lib/systemd/system/httpd.service

    Aggiungi quanto segue alla sezione [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 7

    Apri il file di servizio httpd:

    /lib/systemd/system/httpd.service

    Aggiungi quanto segue alla sezione [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 8

    Apri il file di servizio httpd:

    /lib/systemd/system/httpd.service

    Aggiungi quanto segue alla sezione [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Ubuntu 16.04 LTS

    Nessuna operazione necessaria. I valori dell'ambiente vanno in /etc/sysconfig/httpd

    Ubuntu 18.04 LTS

    Nessuna operazione necessaria. I valori dell'ambiente vanno in /etc/sysconfig/httpd

    Ubuntu 20.04 LTS

    Nessuna operazione necessaria. I valori dell'ambiente vanno in /etc/sysconfig/httpd

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  8. Imposta una variabile di ambiente contenente le credenziali del crypto user (CU) nel file in cui vengono archiviate le variabili di ambiente per la piattaforma:

    Amazon Linux

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    • Se si utilizza il Client SDK 3

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Amazon Linux 2

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    CentOS 7

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    CentOS 8

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Red Hat 7

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    • Se si utilizza il Client 3 SDK

      n3fips_password=<CU user name>:<password>
    • Se si utilizza il Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Red Hat 8

    Utilizza un editor di testo per modificare /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Nota

    Il Client SDK 5 introduce la variabile di CLOUDHSM_PIN ambiente per la memorizzazione delle credenziali della CU.

    Ubuntu 16.04 LTS

    Utilizza un editor di testo per modificare /etc/apache2/envvars.

    export n3fips_password=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Ubuntu 18.04 LTS

    Utilizza un editor di testo per modificare /etc/apache2/envvars.

    export CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Nota

    Il Client SDK 5 introduce la variabile di CLOUDHSM_PIN ambiente per la memorizzazione delle credenziali della CU. Nel Client SDK 3 sono state memorizzate le credenziali CU nella variabile di ambiente. n3fips_password Il Client SDK 5 supporta entrambe le variabili di ambiente, ma si consiglia di utilizzare. CLOUDHSM_PIN

    Ubuntu 20.04 LTS

    Utilizza un editor di testo per modificare /etc/apache2/envvars.

    export CLOUDHSM_PIN=<CU user name>:<password>

    Replace (Sostituisci) <CU user name> e <password> con le credenziali CU.

    Nota

    Il Client SDK 5 introduce la variabile di CLOUDHSM_PIN ambiente per la memorizzazione delle credenziali della CU. Nel Client SDK 3 sono state memorizzate le credenziali CU nella variabile di ambiente. n3fips_password Il Client SDK 5 supporta entrambe le variabili di ambiente, ma si consiglia di utilizzare. CLOUDHSM_PIN

    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  9. Avviare il server Web Apache.

    Amazon Linux
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Amazon Linux 2
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Ubuntu 16.04 LTS
    $ sudo service apache2 start
    Ubuntu 18.04 LTS
    $ sudo service apache2 start
    Ubuntu 20.04 LTS
    $ sudo service apache2 start
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

  10. (Facoltativo) Configura la tua piattaforma per avviare Apache all'avvio.

    Amazon Linux
    $ sudo chkconfig httpd on
    Amazon Linux 2
    $ sudo chkconfig httpd on
    CentOS 7
    $ sudo chkconfig httpd on
    CentOS 8
    $ systemctl enable httpd
    Red Hat 7
    $ sudo chkconfig httpd on
    Red Hat 8
    $ systemctl enable httpd
    Ubuntu 16.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 18.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 20.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 22.04 LTS

    Il supporto per Open SSL Dynamic Engine non è ancora disponibile.

Dopo avere aggiornato la configurazione del server Web, vai alla Fase 4: Abilitare HTTPS il traffico e verificare il certificato.

Fase 4: Abilitare HTTPS il traffico e verificare il certificato

Dopo aver configurato il server web per SSL TLS /offload con AWS CloudHSM, aggiungi 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.

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
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Gruppi di sicurezza nel riquadro di navigazione.

  3. Scegliere Create Security Group (Crea gruppo di sicurezza).

  4. Per Create Security Group (Crea un gruppo di sicurezza), procedere come segue:

    1. Per Security group name (Nome del gruppo di sicurezza), digitare un nome per il gruppo di sicurezza che si sta creando.

    2. (Facoltativo) Digitare una descrizione del gruppo di sicurezza in fase di creazione.

    3. Per VPC, scegli VPC quello che contiene l'EC2istanza Amazon del tuo server web.

    4. Seleziona Aggiungi regola.

    5. Per Tipo, seleziona HTTPSdalla finestra a discesa.

    6. Per Origine, inserisci una posizione di origine.

    7. Scegliere Create Security Group (Crea gruppo di sicurezza).

  5. Nel pannello di navigazione, seleziona Instances (Istanze).

  6. Seleziona la casella di controllo accanto all'istanza del server Web.

  7. Seleziona il menu a discesa Operazioni nella parte superiore della pagina. Seleziona Sicurezza, quindi Modifica gruppi di sicurezza.

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

  9. 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
  1. 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.

  2. Utilizza il browser Web per visualizzare il certificato del server Web. Per ulteriori informazioni, consulta gli argomenti seguenti:

    Altri browser Web potrebbero avere caratteristiche simili da utilizzare per visualizzare il certificato del server Web.

  3. Assicurati che il TLS certificatoSSL/sia quello per cui hai configurato il tuo server web.

Per verificareSSL/TLSoffload con Open SSL s_client
  1. 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>:443
    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.

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