Utilizando o SSL no Multi-domínio, Configuração Elastic Beanstalk de Escalonamento Automático

7

Estamos criando um sistema de gerenciamento de conteúdo para nossa empresa. É importante que este CMS suporte nomes de domínio dinâmicos em um número dinâmico de servidores. Depois de muitas horas de pesquisa, sentimos que o Elastic Beanstalk da Amazon era o caminho a percorrer. Uma coisa que também exigimos é a capacidade de ativar dinamicamente SSL para os domínios associados ao nosso sistema.

Então, em nosso sistema, podemos criar um "site" que será associado a um domínio. Quando o site é criado, também devemos ter a capacidade de escolher se o domínio será hospedado por SSL / TLS. Planejamos rotular o sistema em branco e antecipar que um grande número de domínios seja associado a ele.

Eu tenho explorado as diferentes possibilidades de conseguir configurar o SSL nos servidores (ou o balanceador de carga) e ser capaz de alterar quais domínios são protegidos na hora. Aqui é onde eu estou:

  • Usando o Gerenciador de certificados da Amazon : essa seria a maneira mais desejada de fazer isso. Está integrado com a AWS e é muito fácil de usar. No entanto, ele tem várias limitações debilitantes: 1. Você precisa verificar cada domínio por e-mail toda vez que solicitar um novo certificado. Não é grande coisa, exceto que 2. Não é possível aplicar certs para instâncias do EC2, somente balanceadores de carga e balanceadores de carga só podem receber um certificado. Isso significa que você precisa verificar novamente todos os domínios sempre que quiser que outro domínio seja protegido. Não é bom.
  • Usando o Let's Encrypt no Load Balancer : essa seria a melhor maneira (que eu vejo) para proteger nossos sites. Sempre que um novo site precisar ser protegido, solicitaremos um novo certificado para todos os domínios que precisam de SSL. Depois que o certificado é criado, o enviamos para o IAM e informamos ao EBS para associar o Load Balancer ao novo Cert. O único problema que vejo com isso é que o LetsEncrypt limita seus certificados para 100 domínios, assim como o provedor SSL não-livre, mas relativamente barato, SSLMate. Pode funcionar por enquanto, mas não é escalável. Existe um provedor SSL automatizado que não tem limite no número de domínios no certificado?
  • Usando o SSL de passagem : O Amazon Elastic Beanstalk permite que você o configure de maneira que o balanceador de carga transmita o tráfego criptografado diretamente para as instâncias do EC2. Então você pode permitir que as instâncias do EC2 manipulem os certificados. Em seguida, posso utilizar o LetsEncrypt e atribuir um certificado individual para cada domínio. Eu me deparo com um problema ao considerar o escalonamento automático: precisaremos duplicar os certs entre instâncias. Minha solução seria armazenar os certificados em um bucket S3 seguro e, em seguida, ter um cron em execução em todas as instâncias do EC2 para ativar os certificados novos / atualizados.

Existe alguma preocupação com a última ideia? Existe uma solução melhor para o que estou tentando fazer? Estou esquecendo de algo? Uma preocupação? Ou talvez uma solução super simples para o meu problema?

Observe que estou usando o docker, para poder configurar tudo o que preciso no servidor.

    
por Patrick Stephan 23.06.2016 / 23:09

1 resposta

0

O Elastic Load Balancer agora pode ter até 26 certificados (conforme aqui ).

Se você precisar de mais de 26 certificados por ELB e quiser usar os serviços da AWS, poderá usar uma distribuição do CloudFront por certificado / domínio.

Além disso, você pode usar a validação de DNS com base em CNAME no CertificateManager para renovar automaticamente os certificados sem a validação de e-mail.

    
por 04.01.2018 / 10:14