AWS CloudHSM Descarregamento de SSL/TLS no Linux usando NGINX ou Apache com OpenSSL - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS CloudHSM Descarregamento de SSL/TLS no Linux usando NGINX ou Apache com OpenSSL

Este tópico fornece step-by-step instruções para configurar o descarregamento de SSL/TLS AWS CloudHSM em um servidor web Linux.

Visão geral

No Linux, o software de servidor Web NGINX e o Apache HTTP Server são integrados ao OpenSSL para comportar HTTPS. O mecanismo AWS CloudHSM dinâmico do OpenSSL fornece uma interface que permite que o software do servidor web use HSMs o em seu cluster para descarga criptográfica e armazenamento de chaves. O mecanismo OpenSSL é a ponte que conecta o servidor Web ao seu cluster do AWS CloudHSM .

Para concluir este tutorial, você deve primeiro escolher se deseja usar o software de servidor web NGINX ou Apache no Linux. Em seguida, este tutorial mostra como fazer o seguinte:

  • Instale o software do servidor web em uma EC2 instância da Amazon.

  • Configure o software do servidor Web para oferecer suporte a HTTPS com uma chave privada armazenada em seu AWS CloudHSM cluster.

  • (Opcional) Use EC2 a Amazon para criar uma segunda instância de servidor web e o Elastic Load Balancing para criar um balanceador de carga. Usar um load balanceador de carga pode aumentar o desempenho, distribuindo a carga em vários servidores. Ele também pode fornecer redundância e maior disponibilidade se um ou mais servidores falhar.

Quando estiver pronto para começar, vá para Etapa 1: configurar os pré-requisitos.

Etapa 1: configurar os pré-requisitos

Plataformas diferentes exigem pré-requisitos diferentes. Use a seção de pré-requisitos abaixo que corresponde à sua plataforma.

Pré-requisitos para o Client SDK 5

Para configurar o descarregamento SSL/TLS de servidor Web com o Client SDK 5, é necessário o seguinte:

Para configurar uma instância do servidor web do Linux e criar um CU no HSM
  1. Instale e configure o OpenSSL Dynamic Engine para. AWS CloudHSM Para obter mais informações sobre a instalação do OpenSSL Dynamic Engine, consulte OpenSSL Dynamic Engine para Client SDK 5.

  2. Em uma instância EC2 Linux que tenha acesso ao seu cluster, instale o servidor web NGINX ou Apache:

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    • Para obter informações sobre como baixar a versão mais recente do NGINX no Amazon Linux 2, consulte o site do NGINX.

      A versão mais recente do NGINX disponível para o Amazon Linux 2 usa uma versão do OpenSSL que é mais recente do que a versão do sistema do OpenSSL. Depois de instalar o NGINX, você precisa criar um link simbólico da biblioteca AWS CloudHSM OpenSSL Dynamic Engine para o local que essa versão do OpenSSL espera

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

      $ sudo yum install httpd mod_ssl
    Amazon Linux 2023
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 7
    • Para obter informações sobre como baixar a versão mais recente do NGINX no CentOS 7, consulte o site do NGINX.

      A versão mais recente do NGINX disponível para o CentOS 7 usa uma versão do OpenSSL que é mais recente do que a versão do sistema do OpenSSL. Depois de instalar o NGINX, você precisa criar um link simbólico da biblioteca AWS CloudHSM OpenSSL Dynamic Engine para o local que essa versão do OpenSSL espera

      $ 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
    • Para obter informações sobre como baixar a versão mais recente do NGINX no Red Hat 7, consulte o site do NGINX.

      A versão mais recente do NGINX disponível para o Red Hat 7 usa uma versão do OpenSSL que é mais recente do que a versão do sistema do OpenSSL. Depois de instalar o NGINX, você precisa criar um link simbólico da biblioteca AWS CloudHSM OpenSSL Dynamic Engine para o local que essa versão do OpenSSL espera

      $ 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
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 24.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
  3. Use a CLI do CloudHSM para criar um usuário criptográfico. Para obter mais informações sobre o gerenciamento de usuários do HSM, consulte Gerenciar usuários do HSM com a CLI do CloudHSM.

    dica

    Lembre o nome do usuário e a senha do CU. Eles serão necessários mais tarde ao gerar ou importar a chave privada HTTPS e o certificado para o servidor Web.

Depois de concluir essas etapas, vá para Etapa 2: gerar a chave privada e o certificado SSL/TLS.

Observações
  • Para usar o Security-Enhanced Linux (SELinux) e servidores web, você deve permitir conexões TCP de saída na porta 2223, que é a porta que o Client SDK 5 usa para se comunicar com o HSM.

  • Para criar e ativar um cluster e dar acesso a uma EC2 instância ao cluster, conclua as etapas em Introdução ao AWS CloudHSM. O guia de introdução oferece step-by-step instruções para criar um cluster ativo com um HSM e uma instância EC2 cliente da Amazon. Você pode usar essa instância de cliente como seu servidor Web.

  • Para evitar a desativação da durabilidade da chave do cliente, adicione mais de um HSM ao seu cluster. Para obter mais informações, consulte Adicionar um HSM a um cluster AWS CloudHSM.

  • Você pode usar um cliente SSH ou PuTTY para se conectar à instância do cliente. Para obter mais informações, consulte Conectando-se à sua instância Linux usando SSH ou Conectando-se à sua instância Linux a partir do Windows usando PuTTY na documentação da Amazon EC2.

Etapa 2: gerar a chave privada e o certificado SSL/TLS

Para habilitar o HTTPS, seu aplicativo de servidor web (NGINX ou Apache) precisa de uma chave privada e SSL/TLS certificate. To use web server SSL/TLS de um descarregamento correspondente. Você deve armazenar a AWS CloudHSM chave privada em um HSM no seu cluster. AWS CloudHSM Primeiro, você gerará uma chave privada e usará a chave para criar uma solicitação de assinatura de certificado (CSR). Em seguida, você exporta uma chave privada PEM falsa do HSM, que é um arquivo de chave privada no formato PEM que contém uma referência à chave privada armazenada no HSM (não é a chave privada real). Seu servidor web usa o arquivo da chave privada PEM falsa para identificar a chave privada no HSM durante o descarregamento de SSL/TLS.

Gerar uma chave privada e um certificado

Gerar uma chave privada

Esta seção mostra como gerar um par de chaves usando a CLI do CloudHSM. Depois de gerar um par de chaves dentro do HSM, você pode exportá-lo como um arquivo PEM falso e gerar o certificado correspondente.

Instale e configure a CLI do CloudHSM
  1. Instale e configure a CLI do CloudHSM.

  2. Use o comando a seguir para iniciar a CLI do CloudHSM.

    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
  3. Execute o seguinte comando para fazer login no HSM. <user name>Substitua pelo nome de usuário do seu usuário criptográfico

    Command: login --username <user name> --role crypto-user

Gerar uma chave privada

Dependendo do seu caso de uso, você pode gerar um RSA ou um par de chaves EC. Execute um destes procedimentos:

  • Para gerar uma chave privada RSA em um HSM

    Use o comando key generate-asymmetric-pair rsa para gerar um par de chaves RSA. Este exemplo gera um par de chaves RSA com um módulo de 2048, um expoente público de 65537, rótulo de chave pública de e rótulo de chave privada detls_rsa_pub. tls_rsa_private

    aws-cloudhsm > key generate-asymmetric-pair rsa \ --public-exponent 65537 \ --modulus-size-bits 2048 \ --public-label tls_rsa_pub \ --private-label tls_rsa_private --private-attributes sign=true { "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000280cc8", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "tls_rsa_pub", "id": "", "check-value": "0x01fe6e", "class": "public-key", "encrypt": true, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 512, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c 73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634d f6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc 133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0ac ac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } }, "private_key": { "key-reference": "0x0000000000280cc7", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "tls_rsa_private", "id": "", "check-value": "0x01fe6e", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } } } }
  • Para gerar uma chave privada EC em um HSM

    Use o comando key generate-asymmetric-pair ec para gerar um par de chaves EC. Este exemplo gera um par de chaves EC com a prime256v1 curva (correspondente à NID_X9_62_prime256v1 curva), um rótulo de chave pública de tls_ec_pub e um rótulo de chave privada detls_ec_private.

    aws-cloudhsm > key generate-asymmetric-pair ec \ --curve prime256v1 \ --public-label tls_ec_pub \ --private-label tls_ec_private --private-attributes sign=true { "error_code": 0, "data": { "public_key": { "key-reference": "0x000000000012000b", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "ec", "label": "tls_ec_pub", "id": "", "check-value": "0xd7c1a7", "class": "public-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 57, "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c", "curve": "secp224r1" } }, "private_key": { "key-reference": "0x000000000012000c", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "ec", "label": "tls_ec_private", "id": "", "check-value": "0xd7c1a7", "class": "private-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 122, "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c", "curve": "secp224r1" } } } }

Exportar um arquivo de chave privada PEM falso

Depois de ter uma chave privada no HSM, você deve exportar um arquivo de chave privada PEM falso. Esse arquivo não contém os dados reais da chave, mas permite que o OpenSSL Dynamic Engine identifique a chave privada no HSM. Em seguida, use a chave privada para criar uma solicitação de assinatura de certificado (CSR) e assinar o CSR para criar um certificado.

Use o key generate-filecomando para exportar a chave privada em formato PEM falso e salvá-la em um arquivo. Substitua os seguintes valores pelo seu próprio.

  • <private_key_label>— Etiqueta da chave privada que você gerou na etapa anterior.

  • <web_server_fake_pem.key>— Nome do arquivo no qual sua chave PEM falsa será gravada.

aws-cloudhsm > key generate-file --encoding reference-pem --path <web_server_fake_pem.key> --filter attr.label=<private_key_label> { "error_code": 0, "data": { "message": "Successfully generated key file" } }

Saia da CLI do CloudHSM

Execute o comando a seguir para interromper a CLI do CloudHSM.

aws-cloudhsm > quit

Agora você deve ter um novo arquivo em seu sistema, localizado no caminho especificado <web_server_fake_pem.key> no comando anterior. Esse arquivo é o arquivo de chave privada PEM falso.

Gere um certificado autoassinado

Depois de gerar uma chave privada PEM falsa, você pode usar esse arquivo para gerar uma solicitação de assinatura de certificado (CSR) e um certificado.

Em um ambiente de produção, geralmente usa-se uma autoridade de certificação (CA) para criar um certificado de uma CSR. Não é necessária uma CA para um ambiente de teste. Se você usa uma CA, envie o arquivo CSR para eles e use o certificado SSL/TLS assinado que eles fornecem em seu servidor web para HTTPS.

Como alternativa ao uso de uma CA, você pode usar o AWS CloudHSM OpenSSL Dynamic Engine para criar um certificado autoassinado. Os certificados autoassinados não são confiáveis para os navegadores e não devem ser usados em ambientes de produção. Eles podem ser usados em ambientes de teste.

Atenção

Os certificados autoassinados devem ser usados apenas em um ambiente de teste. Para um ambiente de produção, use um método mais seguro, como uma autoridade de certificação, para criar um certificado.

Instalar e configurar o OpenSSL Dynamic Engine
  1. Conecte-se à instância do cliente.

  2. Instalar o OpenSSL Dynamic Engine para o Client SDK 5 do AWS CloudHSM

Gere um certificado
  1. Obtenha uma cópia do arquivo PEM falso gerado em uma etapa anterior.

  2. Crie uma CSR

    Execute o comando a seguir para usar o AWS CloudHSM OpenSSL Dynamic Engine para criar uma solicitação de assinatura de certificado (CSR). <web_server_fake_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa. <web_server.csr>Substitua pelo nome do arquivo que contém sua CSR.

    O comando req é interativo. Responda a cada campo. As informações do campo são copiadas para o certificado SSL/TLS.

    $ openssl req -engine cloudhsm -new -key <web_server_fake_pem.key> -out <web_server.csr>
  3. Criar um certificado autoassinado

    Execute o comando a seguir para usar o AWS CloudHSM OpenSSL Dynamic Engine para assinar sua CSR com sua chave privada em seu HSM. Isso cria um certificado autoassinado. Substitua os valores a seguir no comando pelos seus próprios.

    • <web_server.csr>— Nome do arquivo que contém o CSR.

    • <web_server_fake_pem.key>— Nome do arquivo que contém a chave privada PEM falsa.

    • <web_server.crt>— Nome do arquivo que conterá seu certificado de servidor web.

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

Depois de concluir essas etapas, vá para Etapa 3: configure o servidor Web.

Etapa 3: configure o servidor Web

Atualize a configuração do software de servidor web para usar o certificado HTTPS e a chave privada PEM falsa correspondente que você criou na etapa anterior. Lembre-se de fazer backup de seus certificados e chaves existentes antes de começar. Isso concluirá a configuração do software de servidor web do Linux para descarregamento de SSL/TLS com o AWS CloudHSM.

Conclua as etapas de uma das seções a seguir.

Configurar o servidor da Web NGINX

Use esta seção para configurar o NGINX em plataformas compatíveis.

Para atualizar a configuração do servidor web para NGINX
  1. Conecte-se à instância do cliente.

  2. Execute o seguinte comando para criar os diretórios necessários para o certificado do servidor Web e a chave privada PEM falsa.

    $ sudo mkdir -p /etc/pki/nginx/private
  3. Execute o seguinte comando para copiar o certificado do seu servidor Web para o local desejado. <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

    $ sudo cp <web_server.crt> /etc/pki/nginx/server.crt
  4. Execute o seguinte comando para copiar sua chave privada PEM falsa no local desejado. <web_server_fake_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

    $ sudo cp <web_server_example_pem.key> /etc/pki/nginx/private/server.key
  5. Execute o comando a seguir para alterar a propriedade dos arquivos, para que o usuário chamado nginx possa lê-los.

    $ sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
  6. Execute o comando a seguir para fazer backup do arquivo /etc/nginx/nginx.conf.

    $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
  7. Atualizar a configuração para NGINX.

    nota

    Cada cluster pode suportar no máximo 1000 processos de trabalho do NGINX em todos os servidores Web do NGINX.

    Amazon Linux

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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 2023

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env n3fips_password;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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 24.04 LTS

    Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Isso requer permissões raiz do Linux. Na parte superior do arquivo, adicione as seguintes linhas:

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Em seguida, adicione o seguinte à seção TLS do arquivo:

    # 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 { } }

    Salve o arquivo.

  8. Faça o backup do arquivo de configuração systemd e defina o caminho EnvironmentFile.

    Amazon Linux

    Nenhuma ação necessária.

    Amazon Linux 2
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Amazon Linux 2023
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra /lib/systemd/system/nginx.service em um editor de texto. Na seção [Serviço], adicione:

      EnvironmentFile=/etc/sysconfig/nginx
    CentOS 7

    Nenhuma ação necessária.

    CentOS 8
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Red Hat 7

    Nenhuma ação necessária.

    Red Hat 8
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 16.04
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 18.04
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 20.04 LTS
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 22.04 LTS
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 24.04 LTS
    1. Faça backup do arquivo nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção [Serviço], adicione o seguinte caminho:

      EnvironmentFile=/etc/sysconfig/nginx
  9. Verifique se o arquivo /etc/sysconfig/nginx existe e siga um destes procedimentos:

    • Se o arquivo existir, faça backup do arquivo executando o seguinte comando:

      $ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
    • Se o arquivo não existir, abra um editor de texto e crie um arquivo chamado nginx na pasta /etc/sysconfig/.

  10. Configure o ambiente NGINX.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU.

    Amazon Linux

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Amazon Linux 2

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Amazon Linux 2023

    Como usuário root do Linux, abra o /etc/sysconfig/nginx arquivo em um editor de texto. Por exemplo,

    sudo vi /etc/sysconfig/nginx

    Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    CentOS 7

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    CentOS 8

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Red Hat 7

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Red Hat 8

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Ubuntu 16.04 LTS

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    n3fips_password=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Ubuntu 18.04 LTS

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Ubuntu 20.04 LTS

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Ubuntu 22.04 LTS

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

    Ubuntu 24.04 LTS

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Salve o arquivo.

  11. Inicie o servidor web NGINX.

    Amazon Linux

    Abra o arquivo /etc/sysconfig/nginx em um editor de textos. Isso requer permissões raiz do Linux. Adicione as credenciais do Cryptography User (CU):

    $ sudo service nginx start
    Amazon Linux 2

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Amazon Linux 2023

    Pare todos os processos do NGINX

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o NGINX

    $ sudo systemctl start nginx
    CentOS 7

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    CentOS 8

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Red Hat 7

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Red Hat 8

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Ubuntu 16.04 LTS

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Ubuntu 18.04 LTS

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Ubuntu 20.04 LTS

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Ubuntu 22.04 LTS

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
    Ubuntu 24.04 LTS

    Pare qualquer processo NGINX em execução

    $ sudo systemctl stop nginx

    Recarregue a configuração systemd para receber as alterações mais recentes

    $ sudo systemctl daemon-reload

    Inicie o processo NGINX

    $ sudo systemctl start nginx
  12. (Opcional) Configure sua plataforma para iniciar o NGINX na inicialização.

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

    Nenhuma ação necessária.

    CentOS 8
    $ sudo systemctl enable nginx
    Red Hat 7

    Nenhuma ação necessária.

    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
    $ sudo systemctl enable nginx
    Ubuntu 24.04 LTS
    $ sudo systemctl enable nginx

Depois de atualizar a configuração do servidor web, vá para Etapa 4: permitir tráfego HTTPS e verificar o certificado.

Configure o servidor Web Apache

Use esta seção para configurar o Apache em plataformas compatíveis.

Para atualizar a configuração do servidor Web para o Apache
  1. Conecte-se à sua instância EC2 cliente da Amazon.

  2. Defina locais padrão para certificados e chaves privadas para sua plataforma.

    Amazon Linux

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    Abra o /etc/httpd/conf.d/ssl.conf arquivo. Adicione esses valores se eles ainda não existirem:

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

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/httpd/conf.d/ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/apache2/sites-available/default-ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/apache2/sites-available/default-ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/apache2/sites-available/default-ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/apache2/sites-available/default-ssl.conf, certifique-se de que esses valores existam:

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

    No arquivo /etc/apache2/sites-available/default-ssl.conf, certifique-se de que esses valores existam:

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
  3. Copie o certificado do seu servidor web para o local necessário para sua plataforma.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

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

    <web_server.crt>Substitua pelo nome do certificado do seu servidor web.

  4. Copie sua chave privada PEM falsa para o local necessário para sua plataforma.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

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

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

    Ubuntu 22.04 LTS
    $ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

    Ubuntu 24.04 LTS
    $ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key

    <web_server_example_pem.key>Substitua pelo nome do arquivo que contém sua chave privada PEM falsa.

  5. Altere a propriedade desses arquivos, se exigido pela sua plataforma.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

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

    Forneça permissão de leitura para o usuário chamado apache.

    Ubuntu 16.04 LTS

    Nenhuma ação necessária.

    Ubuntu 18.04 LTS

    Nenhuma ação necessária.

    Ubuntu 20.04 LTS

    Nenhuma ação necessária.

    Ubuntu 22.04 LTS

    Nenhuma ação necessária.

    Ubuntu 24.04 LTS

    Nenhuma ação necessária.

  6. Configure as diretivas do Apache para sua plataforma.

    Amazon Linux

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Amazon Linux 2

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Amazon Linux 2023

    Localize o arquivo SSL dessa plataforma:

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

    O arquivo de configuração do Apache define o comportamento do servidor. Edite esse arquivo com permissões de root.

    Atualize ou adicione as seguintes diretivas:

    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

    Salve o arquivo.

    CentOS 7

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    CentOS 8

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Red Hat 7

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Red Hat 8

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ubuntu 16.04 LTS

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ative o módulo SSL e a configuração padrão do site SSL:

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

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ative o módulo SSL e a configuração padrão do site SSL:

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

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ative o módulo SSL e a configuração padrão do site SSL:

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

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ative o módulo SSL e a configuração padrão do site SSL:

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

    Localize o arquivo SSL dessa plataforma:

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

    Esse arquivo contém diretivas do Apache que definem como seu servidor deve ser executado. As diretivas aparecem à esquerda, seguidas por um valor. Use um editor de texto para editar esse arquivo. Isso requer permissões raiz do Linux.

    Atualize ou insira as seguintes diretivas com esses valores:

    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

    Salve o arquivo.

    Ative o módulo SSL e a configuração padrão do site SSL:

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
  7. Configure um arquivo de valores de ambiente para sua plataforma.

    Amazon Linux

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

    Amazon Linux 2

    Abra o arquivo do serviço httpd:

    /lib/systemd/system/httpd.service

    Adicione o seguinte à seção do [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Amazon Linux 2023

    Abra o /lib/systemd/system/httpd.service

    Na seção [Serviço], adicione:

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 7

    Abra o arquivo do serviço httpd:

    /lib/systemd/system/httpd.service

    Adicione o seguinte à seção do [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 8

    Abra o arquivo do serviço httpd:

    /lib/systemd/system/httpd.service

    Adicione o seguinte à seção do [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 7

    Abra o arquivo do serviço httpd:

    /lib/systemd/system/httpd.service

    Adicione o seguinte à seção do [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 8

    Abra o arquivo do serviço httpd:

    /lib/systemd/system/httpd.service

    Adicione o seguinte à seção do [Service]:

    EnvironmentFile=/etc/sysconfig/httpd
    Ubuntu 16.04 LTS

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

    Ubuntu 18.04 LTS

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

    Ubuntu 20.04 LTS

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

    Ubuntu 22.04 LTS

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

    Ubuntu 24.04 LTS

    Nenhuma ação necessária. Os valores ambientais entram em /etc/sysconfig/httpd

  8. No arquivo que armazena variáveis de ambiente para sua plataforma, defina uma variável de ambiente que contenha as credenciais do usuário criptográfico (CU):

    Amazon Linux

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Amazon Linux 2

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Amazon Linux 2023

    Abra/etc/sysconfig/httpd, adicione:

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    CentOS 7

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    CentOS 8

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Red Hat 7

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Red Hat 8

    Use um editor de texto para editar o /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Substitua <CU user name> e <password> pelas credenciais da UC.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU.

    Ubuntu 16.04 LTS

    Use um editor de texto para editar o /etc/apache2/envvars.

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

    Substitua <CU user name> e <password> pelas credenciais da UC.

    Ubuntu 18.04 LTS

    Use um editor de texto para editar o /etc/apache2/envvars.

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

    Substitua <CU user name> e <password> pelas credenciais da UC.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU. No SDK do cliente 3, você armazenou as credenciais da UC na variável de ambiente n3fips_password. O Client SDK 5 é compatível com as duas variáveis de ambiente, mas recomendamos o uso de CLOUDHSM_PIN.

    Ubuntu 20.04 LTS

    Use um editor de texto para editar o /etc/apache2/envvars.

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

    Substitua <CU user name> e <password> pelas credenciais da UC.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU. No SDK do cliente 3, você armazenou as credenciais da UC na variável de ambiente n3fips_password. O Client SDK 5 é compatível com as duas variáveis de ambiente, mas recomendamos o uso de CLOUDHSM_PIN.

    Ubuntu 22.04 LTS

    Use um editor de texto para editar o /etc/apache2/envvars.

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

    Substitua <CU user name> e <password> pelas credenciais da UC.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU. No SDK do cliente 3, você armazenou as credenciais da UC na variável de ambiente n3fips_password. O Client SDK 5 é compatível com as duas variáveis de ambiente, mas recomendamos o uso de CLOUDHSM_PIN.

    Ubuntu 24.04 LTS

    Use um editor de texto para editar o /etc/apache2/envvars.

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

    Substitua <CU user name> e <password> pelas credenciais da UC.

    nota

    O Client SDK 5 introduz a variável de ambiente CLOUDHSM_PIN para armazenar as credenciais do CU. No SDK do cliente 3, você armazenou as credenciais da UC na variável de ambiente n3fips_password. O Client SDK 5 é compatível com as duas variáveis de ambiente, mas recomendamos o uso de CLOUDHSM_PIN.

  9. Inicie o servidor web Apache.

    Amazon Linux
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Amazon Linux 2
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Amazon Linux 2023
    $ 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
    $ sudo service apache2 start
    Ubuntu 24.04 LTS
    $ sudo service apache2 start
  10. (Opcional) Configure sua plataforma para iniciar o Apache na inicialização.

    Amazon Linux
    $ sudo chkconfig httpd on
    Amazon Linux 2
    $ sudo chkconfig httpd on
    Amazon Linux 2023
    $ 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
    $ sudo systemctl enable apache2
    Ubuntu 24.04 LTS
    $ sudo systemctl enable apache2

Depois de atualizar a configuração do servidor web, vá para Etapa 4: permitir tráfego HTTPS e verificar o certificado.

Etapa 4: permitir tráfego HTTPS e verificar o certificado

Depois de configurar seu servidor web para descarga de SSL/TLS AWS CloudHSM, adicione sua instância de servidor web a um grupo de segurança que permite tráfego HTTPS de entrada. Isso permite que clientes, como navegadores da Web, estabeleçam uma conexão HTTPS com seu servidor Web. Em seguida, faça uma conexão HTTPS com seu servidor web e verifique se ele está usando o certificado que você configurou para descarga de SSL/TLS. AWS CloudHSM

Habilitar conexões HTTPS de entrada

Para se conectar ao seu servidor Web a partir de um cliente (como um navegador da Web), crie um grupo de segurança que permita conexões HTTPS de entrada. Especificamente, ele deve permitir conexões TCP de entrada na porta 443. Atribua esse grupo de segurança ao seu servidor Web.

Para criar um grupo de segurança para HTTPS e atribuí-lo ao seu servidor Web
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Grupos de segurança.

  3. Escolha Create security group (Criar grupo de segurança).

  4. Para Create Security Group, faça o seguinte:

    1. Para Security group name, digite um nome para security group que você está criando.

    2. (Opcional) Digite uma descrição do security group que você está criando.

    3. Para VPC, escolha a VPC que contém sua instância Amazon de servidor web. EC2

    4. Selecione Adicionar regra.

    5. Em Tipo, selecione HTTPS na janela suspensa.

    6. Em Fonte, insira um local de origem.

    7. Escolha Create security group (Criar grupo de segurança).

  5. No painel de navegação, escolha Instances (Instâncias).

  6. Marque a caixa de seleção ao lado da sua instância do servidor Web.

  7. Selecione o menu suspenso Ações, na parte superior da página. Selecione Segurança e, em seguida, Alterar grupos de segurança.

  8. Em Grupos de segurança associados, escolha a caixa de pesquisa e escolha o grupo de segurança que você criou para HTTPS. Em seguida, escolha Adicionar grupos de segurança.

  9. Selecione Save (Salvar).

Verificar se o HTTPS usa o certificado que você configurou

Depois de adicionar o servidor web a um grupo de segurança, você pode verificar se o descarregamento de SSL/TLS está usando seu certificado autoassinado. Faça isso com um navegador da Web ou com uma ferramenta como OpenSSL s_client.

Para verificar o descarregamento de SSL/TLS com um navegador da Web
  1. Use um navegador da Web para se conectar ao servidor Web usando o nome de DNS público ou endereço IP do servidor. Certifique-se de que a URL na barra de endereços comece com https://. Por exemplo, https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/.

    dica

    Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome de domínio do seu site (por exemplo, https://www.example.com/) para o seu servidor web. Para obter mais informações, consulte Roteamento de tráfego para uma EC2 instância da Amazon no Guia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

  2. Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações, consulte:

    Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar o certificado do servidor Web.

  3. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Para verificar o descarregamento de SSL/TLS com OpenSSL s_client
  1. Execute o seguinte comando OpenSSL para se conectar ao seu servidor Web usando HTTPS. <server name>Substitua pelo nome DNS público ou endereço IP do seu servidor web.

    openssl s_client -connect <server name>:443
    dica

    Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome de domínio do seu site (por exemplo, https://www.example.com/) para o seu servidor web. Para obter mais informações, consulte Roteamento de tráfego para uma EC2 instância da Amazon no Guia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

  2. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Agora você tem um site protegido com HTTPS. A chave privada do servidor web é armazenada em um HSM no seu AWS CloudHSM cluster.

Para adicionar um balanceador de carga, consulte Adicione um balanceador de carga com o Elastic Load Balancing AWS CloudHSM para (opcional).