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 com o OpenSSL Provider HAProxy
Este tópico fornece step-by-step instruções para configurar o descarregamento de identidade SSL/TLS do servidor AWS CloudHSM em um servidor web Linux usando o NGINX ou com HAProxy o OpenSSL Provider.
Tópicos
Visão geral do
No Linux, o NGINX
Para concluir este tutorial, você configurará o NGINX ou HAProxy usará o OpenSSL Provider AWS CloudHSM . O 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 OpenSSL Provider AWS CloudHSM
Para configurar o descarregamento de identidade SSL/TLS do servidor web com o AWS CloudHSM OpenSSL Provider for Client SDK 5, você precisa do seguinte:
-
Um AWS CloudHSM cluster ativo com pelo menos dois módulos de segurança de hardware (HSM)
nota
Você pode usar um único cluster HSM, mas primeiro deve desativar a durabilidade da chave do cliente. Para obter mais informações, consulte Gerenciar configurações de durabilidade da chave do cliente e Ferramenta de configuração do Client SDK 5.
-
Uma EC2 instância da Amazon executando um sistema operacional Linux com o seguinte software instalado:
-
Um servidor web (NGINX ou) HAProxy
-
O provedor de AWS CloudHSM OpenSSL para Client SDK 5
-
-
Um usuário de criptografia (CU) para ter e gerenciar a chave privada do servidor Web no HSM.
Para configurar uma instância do servidor web do Linux e criar um CU no HSM
nota
Muitos dos comandos desse procedimento exigem privilégios elevados. Talvez seja necessário executar comandos com sudo ou como usuário root, dependendo da configuração do sistema.
-
Instale e configure o AWS CloudHSM OpenSSL Provider for Client SDK 5. Para obter mais informações sobre a instalação do OpenSSL Provider, consulte AWS CloudHSM OpenSSL Provider for Client SDK 5.
-
Em uma instância EC2 Linux que tenha acesso ao seu cluster, instale o NGINX ou o servidor HAProxy web:
-
Use a CloudHSM CLI para criar um usuário de criptografia. 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 ou importar uma chave privada e obter um certificado.
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. A 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 ou importar uma chave privada e obter um certificado
Para habilitar o HTTPS, seu aplicativo de servidor web (NGINX ou HAProxy) precisa de uma chave privada e um certificado correspondente SSL/TLS . Para usar a identidade do SSL/TLS servidor web offload with AWS CloudHSM, você deve armazenar a chave privada em um HSM no seu cluster. AWS CloudHSM Crie uma chave privada e use a chave para criar uma solicitação de assinatura de certificado (CSR). 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 de chave privada PEM falso para identificar a chave privada no HSM durante o descarregamento da identidade SSL/TLS do servidor.
Gerar uma chave privada
Esta seção mostra como gerar um par de chaves usando o CloudHSM CLI. Depois de gerar um par de chaves dentro do HSM, você pode exportá-lo como um arquivo PEM falso e gerar o certificado correspondente.
Instalar e configurar a CloudHSM CLI
-
Instale e configure a CloudHSM CLI.
-
Use o comando a seguir para iniciar a CloudHSM CLI.
$/opt/cloudhsm/bin/cloudhsm-cli interactive -
Execute o seguinte comando para fazer login no HSM.
<user name>Substitua pelo nome de usuário do seu usuário criptográficoaws-cloudhsm>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 de
tls_rsa_pub.tls_rsa_privateaws-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": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7", "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
prime256v1curva (correspondente àNID_X9_62_prime256v1curva), um rótulo de chave pública detls_ec_pube 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.
Execute o comando key generate-file para exportar a chave privada no formato PEM falso e salvá-lo 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 CloudHSM CLI
Execute o comando a seguir para parar a CloudHSM CLI.
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 SSL/TLS certificado 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
-
Conecte-se à instância do cliente.
-
Instalar o OpenSSL Dynamic Engine para o Client SDK 5 do AWS CloudHSM
Gere um certificado
-
Obtenha uma cópia do arquivo PEM falso gerado em uma etapa anterior.
-
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 em seu SSL/TLS certificado.nota
Atualmente, a criação de CSR não é suportada pelo OpenSSL Provider. Você deve usar o OpenSSL Engine para essa etapa, mas as operações de criptografia TLS funcionarão com o Provider.
$openssl req -engine cloudhsm -new -key<web_server_fake_pem.key>-out<web_server.csr> -
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 ter uma chave privada e um certificado, acesseEtapa 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 Linux para transferência da identidade do SSL/TLS servidor com. 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 com o OpenSSL Provider.
Para configurar o NGINX para o OpenSSL Provider
-
Conecte-se à instância do cliente.
-
Execute o seguinte comando para criar os diretórios necessários para o certificado do servidor Web e a chave privada PEM falsa.
$mkdir -p /etc/pki/nginx/private -
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.$cp<web_server.crt>/etc/pki/nginx/server.crt -
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.$cp<web_server_fake_pem.key>/etc/pki/nginx/private/server.key -
Execute o comando a seguir para alterar a propriedade dos arquivos, para que o usuário chamado nginx possa lê-los.
$chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key -
Configure o OpenSSL para usar o provedor. AWS CloudHSM Para obter mais informações sobre como configurar o OpenSSL Provider, consulte AWS CloudHSM OpenSSL Provider for Client SDK 5.
-
Localize seu arquivo de configuração do OpenSSL:
$openssl version -dVocê deve ver uma saída semelhante a:
OPENSSLDIR: "/etc/pki/tls"O arquivo de configuração está
openssl.cnfnesse diretório. -
nota
Não modifique diretamente o arquivo openssl.cnf padrão do seu sistema. Isso evita que as operações OpenSSL em todo o sistema (conexões SSH, TLS e outros serviços) sejam roteadas acidentalmente pelo provedor CloudHSM.
O uso de um arquivo de configuração separado permite que você defina o escopo do uso do CloudHSM Provider somente para aplicativos específicos que exigem operações criptográficas baseadas em HSM.
Crie um novo arquivo de configuração do OpenSSL com o seguinte conteúdo:
$cat >## NOTE: This should point to the system default openssl config file. # Replace /etc/pki/tls with the path to your OpenSSL configuration directory .include<example-cloudhsm-openssl.cnf><< 'EOF'</etc/pki/tls>/openssl.cnf # Override the existing provider_section to include AWS CloudHSM OpenSSL Provider as a 3rd party OpenSSL provider [provider_sect] default = default_sect # Include AWS CloudHSM CloudHSM OpenSSL provider cloudhsm = cloudhsm_sect [default_sect] activate = 1 [cloudhsm_sect] activate = 1EOF -
Certifique-se de que a variável de
CLOUDHSM_PINambiente esteja definida com suas credenciais de usuário criptográfico (CU):$export CLOUDHSM_PIN=<username>:<password> -
Defina a variável de
OPENSSL_CONFambiente para apontar para seu arquivo de configuração atualizado e verificar se o provedor está carregado:$OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providersVocê deve ver o provedor padrão e o provedor do CloudHSM listados:
OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providers Providers: default name: OpenSSL Default Provider version: 3.2.2 status: active cloudhsm name: AWS CloudHSM OpenSSL Provider version: 5.17.0 status: active
-
-
Execute o comando a seguir para fazer backup do arquivo
/etc/nginx/nginx.conf.$cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup -
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.
Salve o arquivo.
-
Faça o backup do arquivo de configuração
systemde defina o caminhoEnvironmentFile. -
Verifique se o arquivo
/etc/sysconfig/nginxexiste e siga um destes procedimentos:-
Se o arquivo existir, faça backup do arquivo executando o seguinte comando:
$cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup -
Se o arquivo não existir, abra um editor de texto e crie um arquivo chamado
nginxna pasta/etc/sysconfig/.
-
-
Configure o ambiente NGINX.
-
Inicie o servidor web NGINX.
Depois de configurar o NGINX, acesse. Verificar se o HTTPS usa o certificado que você configurou
Configurar servidor HAProxy web
Use esta seção para configurar HAProxy com o OpenSSL Provider. Os exemplos a seguir mostram como configurar seus certificados e HAProxy chaves do CloudHSM.
Para configurar HAProxy para o OpenSSL Provider
-
Faça backup do arquivo de certificado combinado existente, se ele existir:
$cp server-combined.pem server-combined.pem.backup -
Crie um arquivo de certificado combinado para HAProxy usar seu certificado e a chave PEM falsa do CloudHSM:
$cat server.crt server.key > server-combined.pem -
Faça backup da HAProxy configuração existente:
$cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup -
Crie uma nova configuração de descarregamento TLS do CloudHSM em:
/etc/haproxy/haproxy.cfgglobal daemon ssl-provider cloudhsm # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/haproxy/dhparams.pem 2048 # ssl-dh-param-file /etc/haproxy/dhparams.pem ssl-default-bind-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:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305 ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend haproxy_frontend bind *:443 ssl crt /path/to/server-combined.pem default_backend web_servers backend web_servers server web1 127.0.0.1:8080 checkAtualize o caminho do certificado para corresponder ao local do seu arquivo.
-
Configure o systemd para usar um arquivo de ambiente para HAProxy. A localização depende da sua distribuição Linux.
-
Crie o arquivo de ambiente no local apropriado para seu sistema.
Substitua
<CU user name>e<password>por suas credenciais de UC. -
Recarregue a configuração do systemd:
$systemctl daemon-reload -
Comece HAProxy com a configuração de descarregamento TLS do CloudHSM:
$systemctl start haproxyVocê também pode executar HAProxy diretamente com um arquivo de configuração personalizado:
$haproxy -f /path/to/haproxy-cloudhsm.cfg
Depois de configurar HAProxy, vá paraVerificar se o HTTPS usa o certificado que você configurou.
Etapa 4: permitir tráfego HTTPS e verificar o certificado
Depois de configurar seu servidor web para SSL/TLS descarga 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 SSL/TLS descarga. AWS CloudHSM
Tópicos
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
-
Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Grupos de segurança.
-
Escolha Create security group (Criar grupo de segurança).
-
Para Create Security Group, faça o seguinte:
-
Para Security group name, digite um nome para security group que você está criando.
-
(Opcional) Digite uma descrição do security group que você está criando.
-
Para VPC, escolha a VPC que contém sua instância Amazon de servidor web. EC2
-
Selecione Adicionar regra.
-
Em Tipo, selecione HTTPS na janela suspensa.
-
Em Fonte, insira um local de origem.
-
Escolha Create security group (Criar grupo de segurança).
-
-
No painel de navegação, escolha Instâncias.
-
Marque a caixa de seleção ao lado da sua instância do servidor Web.
-
Selecione o menu suspenso Ações, na parte superior da página. Selecione Segurança e, em seguida, Alterar grupos de segurança.
-
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.
-
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 SSL/TLS offload está usando seu certificado autoassinado. Faça isso com um navegador da Web ou com uma ferramenta como OpenSSL s_client
Para verificar o SSL/TLS descarregamento com um navegador da web
-
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.
-
Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações, consulte:
-
Para o Mozilla Firefox, consulte o tópico sobre como Visualizar um certificado
, no site de suporte da Mozilla. -
Para o Google Chrome, consulte Noções básicas de problemas de segurança
, no site Google Tools for Web Developers.
Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar o certificado do servidor Web.
-
-
Certifique-se de que o SSL/TLS certificado seja aquele que você configurou seu servidor web para usar.
Para verificar o SSL/TLS descarregamento com o OpenSSL s_client
-
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>:443dica
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.
-
Certifique-se de que o SSL/TLS certificado seja aquele que você configurou seu 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).