Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM - Recomendações da AWS

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

Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM

Criado por Chandra Sekhar Yaratha (AWS) e Igor Kovalchuk (AWS)

Resumo

O padrão fornece orientação para o uso do AWS Certificate Manager (ACM) para migrar certificados Secure Sockets Layer (SSL) existentes de sites hospedados em servidores locais ou instâncias do Amazon Elastic Compute Cloud (Amazon EC2) no Microsoft Internet Information Services (IIS). Os certificados SSL podem, então, ser usados com o Elastic Load Balancing na AWS.

O SSL protege seus dados, confirma sua identidade, fornece melhores classificações nos mecanismos de pesquisa, ajuda a atender aos requisitos do Padrão de segurança de dados do Setor de cartões de pagamento (PCI DSS) e aumenta a confiança do cliente. Os desenvolvedores e as equipes de TI que gerenciam essas workloads querem que seus aplicativos e infraestrutura web, incluindo o servidor IIS e o Windows Server, permaneçam em conformidade com suas políticas de referência.

Esse padrão abrange a exportação manual de certificados SSL existentes do Microsoft IIS, convertendo-os do formato Personal Information Exchange (PFX) para o formato Private Enhanced Mail (PEM) compatível com o ACM e, em seguida, importando-os para o ACM em sua conta da AWS. Também descreve como criar um Application Load Balancer para seu aplicativo e configurar o Application Load Balancer para usar seus certificados importados. Em seguida, as conexões HTTPS são encerradas no Application Load Balancer e você não precisa de mais sobrecarga de configuração no servidor web. Para obter mais informações, consulte Criar um receptor HTTPS para seu Application Load Balancer.

Os servidores Windows usam arquivos .pfx ou .p12 para conter o arquivo de chave pública (certificado SSL) e seu arquivo de chave privada exclusivo. A Autoridade de certificação (CA) fornece seu arquivo de chave pública. Você usa seu servidor para gerar o arquivo de chave privada associado em que a solicitação de assinatura de certificado (CSR) foi criada.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Uma nuvem privada virtual (VPC) na AWS com pelo menos uma sub-rede privada e uma pública em cada zona de disponibilidade usada por seus destinos

  • IIS versão 8.0 ou superior, em execução no Windows Server 2012 ou superior

  • Um aplicativo web em execução no IIS

  • Acesso de administrador ao servidor IIS

Arquitetura

Pilha de tecnologia de origem

  • Implementação do servidor web IIS com SSL para garantir que os dados sejam transmitidos com segurança em uma conexão criptografada (HTTPS)

Arquitetura de origem

Arquitetura de origem para migrar certificados SSL do Windows para um Application Load Balancer usando o ACM

Pilha de tecnologias de destino

  • Certificados do ACM em sua conta da AWS

  • Um Application Load Balancer configurado para usar certificados importados

  • Instâncias do Windows Server nas sub-redes privadas

Arquitetura de destino

Arquitetura de destino para migrar certificados SSL do Windows para um Application Load Balancer usando o ACM

Ferramentas

  • O AWS Certificate Manager (ACM) ajuda você a criar, armazenar e renovar chaves e certificados SSL/TLS X.509 públicos e privados que protegem seus sites e aplicativos da AWS.

  • O Elastic Load Balancing (ELB) distribui o tráfego de entrada de aplicativos ou de rede em vários destinos. Por exemplo, você pode distribuir o tráfego entre EC2 instâncias, contêineres e endereços IP em uma ou mais zonas de disponibilidade.

Práticas recomendadas

  • Imponha redirecionamentos de tráfego de HTTP para HTTPS.

  • Configure grupos de segurança para seu Application Load Balancer adequadamente a fim de permitir tráfego de entrada somente para portas específicas.

  • Execute suas EC2 instâncias em diferentes zonas de disponibilidade para garantir a alta disponibilidade.

  • Configure o domínio do seu aplicativo para apontar para o nome DNS do Application Load Balancer em vez de seu endereço IP.

  • Certifique-se de que o Application Load Balancer tenha verificações de integridade da camada de aplicativo configuradas.

  • Configure o limite para verificações de integridade.

  • Use CloudWatch a Amazon para monitorar o Application Load Balancer.

Épicos

TarefaDescriçãoHabilidades necessárias

Exporte o arquivo .pfx do Windows Server.

Para exportar o certificado SSL como um arquivo .pfx do gerenciador de IIS on-premises no Windows Server:

  1. Escolha Iniciar, Administrativo, Gerenciador de Internet Information Services (IIS).

  2. Selecione o nome do servidor e, em Segurança, clique duas vezes em Certificados de servidor.

  3. Selecione o certificado que deseja exportar e escolha Exportar.

  4. Na caixa Exportar certificado, escolha um local, um caminho e um nome para seu arquivo .pfx.

  5. Especifique e confirme uma senha para seu arquivo .pfx.

    nota

    Você precisa dessa senha ao instalar o arquivo.pfx.

  6. Escolha OK.

Seu arquivo .pfx agora deve ser salvo no local e no caminho que você especificou.

Administrador de sistemas
TarefaDescriçãoHabilidades necessárias

Baixe e instale o kit de ferramentas do OpenSSL.

  1. Baixe Win32/Win64 OpenSSL do site da Shining Light Productions e instale-o.

  2. Adicione a localização dos binários do OpenSSL à sua variável PATH do sistema para que os binários possam estar disponíveis para uso na linha de comando.

Administrador de sistemas

Converter o certificado codificado em PFX para o formato PEM.

As etapas a seguir convertem o arquivo de certificado assinado e codificado em PFX em três arquivos no formato PEM:

  • cert-file.pem contém o certificado SSL/TLS para o recurso.

  • privatekey.pem contém a chave privada do certificado sem proteção por senha.

  • ca-chain.pem contém o certificado raiz da CA.

Converter o certificado codificado em PFX:

  1. Execute o Windows PowerShell.

  2. Use o comando a seguir para extrair a chave privada do certificado do arquivo PFX. Quando solicitado, digite a senha do certificado.

    openssl pkcs12 -in <filename>.pfx -nocerts -out withpw-privatekey.pem

    O comando gera um arquivo de chave privada codificado em PEM chamado privatekey.pem. Quando solicitado, insira uma frase secreta para proteger o arquivo de chave privada.

  3. Execute o seguinte comando para definir a senha da frase secreta. Quando solicitado, forneça a frase secreta que você criou na etapa 2.

    openssl rsa -in withpw-privatekey.pem -out privatekey.pem

    Se o comando for bem-sucedido, ele exibirá a mensagem “escrevendo a chave RSA”.

  4. Use o comando a seguir para transferir o certificado do arquivo PFX para um arquivo PEM.

    openssl pkcs12 -in <file_name>.pfx -clcerts -nokeys -out cert-file.pem

    Este comando cria um arquivo de certificado codificado em PEM chamado cert-file.pem. Se o comando for bem-sucedido, ele exibirá a mensagem “MAC verificado OK”.

  5. Crie um arquivo de cadeias de CA a partir do arquivo PFX. Execute o seguinte comando para criar um arquivo de cadeia de CA chamado ca-chain.pem.

    openssl pkcs12 -in <file_name>.pfx -cacerts -nokeys -chain -out ca-chain.pem

    Se o comando for bem-sucedido, ele exibirá a mensagem “MAC verificado OK”.

Administrador de sistemas
TarefaDescriçãoHabilidades necessárias

Prepare-se para importar o certificado.

No Console do ACM, escolha Importar um certificado.

Administrador de nuvem

Forneça o corpo do certificado.

Para Corpo do certificado, cole o certificado codificado PEM que deseja importar.

Para obter mais informações sobre os comandos e as etapas descritos nesta e em outras tarefas deste tópico, consulte Importação de um certificado na documentação do ACM.

Administrador de nuvem

Forneça a chave privada do certificado.

Para o Certificado de chave privada, cole a chave privada não criptografada e codificada PEM correspondente à chave pública do certificado.

Administrador de nuvem

Forneça a cadeia do certificado.

Em Cadeia de certificados, cole a cadeia de certificados codificada em PEM, que é armazenada no arquivo CertificateChain.pem.

Administrador de nuvem

Importar o certificado.

Selecione Revisar e importar. Confirme se as informações sobre seu certificado estão corretas e escolha Importar.

Administrador de nuvem
TarefaDescriçãoHabilidades necessárias

Crie e configure o balanceador de carga e os receptores.

Siga as instruções na documentação do Elastic Load Balancing para configurar um grupo de destino e registrar destinos, além de criar um Application Load Balancer e um receptor. Adicione um segundo receptor (HTTPS) para a porta 443.

Administrador de nuvem

Solução de problemas

ProblemaSolução

O Windows PowerShell não reconhece o comando OpenSSL mesmo depois de você adicioná-lo ao caminho do sistema.

Verifique $env:path para assegurar que ele inclui a localização dos binários do OpenSSL.

Se isso não acontecer, execute o seguinte comando em PowerShell:

$env:path = $env:path + ";C:\OpenSSL-Win64\bin"

Recursos relacionados

Importar um certificado para ACM

Criar um Application Load Balancer