Sou fascinado por coisas que são simples na superfície e complexas embaixo! Por exemplo, considere o popular ícone de cadeado que é usado para informar que o tráfego de um web site é criptografado:
Como é que o navegador sabe que ele deve exibir o cadeado verde? Bem, isso é uma história e tanto! Tudo começa com um arquivo digital conhecido como um certificado SSL/TLS. Este é um documento eletrônico que é usado para estabelecer identidade e confiança entre as duas partes. Neste caso, as duas partes são o web site e o navegador da web.
O SSL/TLS é um objeto indispensável sempre que dados sensíveis são movidos para trás e para frente. Por exemplo, sites que precisam atender aos requisitos de conformidade, como PCI-DSS, FedRAMP e HIPAA fazem uso extensivo do SSL/TLS.
Os certificados são emitidos para domínios específicos por Autoridades de Certificação, também conhecidas como CAs (Certificate Authorities). Quando você quiser obter um certificado para o seu site, a CA irá confirmar que você é responsável para o domínio. Em seguida, ele irá emitir um certificado que é válido por um determinado período de tempo e apenas para um determinado domínio (subdomínios são permitidos). Tradicionalmente, você também seria responsável por instalar o certificado em seu sistema, rastrear as datas de vencimento e obter certificados novos ao longo do tempo (tipicamente, os certificados são válidos por um período de 12 meses).
Cada certificado é assinado digitalmente; isso permite que o navegador verifique se ele foi emitido por uma CA legítima, para ser um pouco mais específico, os navegadores começam com uma pequena lista, pré-definida de certificados de raiz e a usa para verificar se os outros certificados podem ser rastreados até a raiz. Você pode acessar essas informações a partir do seu navegador:
Como você pode ver a partir do que eu esbocei acima (apesar de eu ter passado rapidamente por um monte de detalhes interessantes), provisionamento e gerenciamento de certificados SSL/TLS podem implicar em um monte de trabalho – muito dele manual e não facilmente automatizado. Em muitos casos, você também precisa pagar uma taxa anual para cada certificado.
É hora de mudar isso!
AWS Certificate Manager
O AWS Certificate Manager é projetado para simplificar e automatizar muitas das tarefas tradicionalmente associadas à gestão de certificados SSL/TLS. O ACM cuida da complexidade que envolve o fornecimento, implantação e renovação de certificados digitais. Os certificados fornecidos pelo ACM são verificados pela Amazon’s certificate authority (CA) e Amazon Trust Services (ATS).
E ainda melhor: você pode fazer tudo isso sem nenhum custo extra. Os certificados SSL/TLS provisionados através do AWS Gerenciador de Certificados são grátis!
O ACM permitirá que você comece a usar o SSL em questão de minutos. Após o seu pedido por um certificado, você pode implantá-lo em seus Elastic Load Balancers e nas suas distribuições do Amazon CloudFront com apenas alguns cliques. Depois disso, o ACM pode cuidar das renovações periódicas, sem qualquer ação de sua parte.
Provisionamento e implantação de um certificado
Vamos percorrer o processo de provisionamento e implantação de um certificado digital usando o console (APIs também estão disponíveis). Vou usar um dos meus próprios domínios (jeff-barr.com) para este exercício. Gostaria de começar por abrir o Console AWS Gerenciador de Certificados e clicando em Get started.
Então eu digito o nome de domínio do site que desejo proteger. Neste caso, eu quero garantir o domínio “nu” e todos os subdomínios de primeiro nível dentro dele:
Então eu reviso o meu pedido e confirmo a minha intenção:
Verifico minha caixa de entrada e encontro o e-mail ou e-mails (um por domínio) da Amazon (certificates.amazon.com), e clico em Amazon Certificate Approvals:
Visito o site e clico em I Approve:
E é só o que precisa ser feito! O certificado já estará visível no console:
Implementando o certificado
Depois que o certificado é emitido, eu posso implantá-lo aos meus Elastic Load Balancers e/ou distribuições do CloudFront.
Já que o ELB suporta SSL offload, a implantação de um certificado para um balanceador de carga (em vez de às instâncias EC2 por trás dele) irá reduzir a quantidade de trabalho de criptografia e descriptografia que as instâncias precisam lidar.
E para a distribuição do CloudFront:
Já disponível
O AWS Certificate Manager (ACM) já está disponível na região leste dos EUA (Norte da Virgínia), com regiões adicionais por vir. Você pode provisionar, implantar e renovar certificados sem nenhum custo.
Pretendemos adicionar suporte para outros serviços da AWS e para outros tipos de validação de domínio. Como sempre, suas sugestões e feedback são mais do que bem-vindas e nos ajudará a priorizar seu trabalho.
Se você estiver usando o AWS Elastic Beanstalk, dê uma olhada em Enabling SSL/TLS (for free) via AWS Certificate Manager.
Deixe suas dúvidas e/ou comentários aqui ou escreva diretamente para o autor, Jeff Barr, em inglês.