Ainda sem https? E se te contarmos que já existe uma iniciativa de grandes empresas em um projeto que faz isso gratuitamente?

Let’s Encrypt é uma autoridade de certificação sem fins lucrativos que fornece certificados TLS gratuitamente para milhões de sites e já chegou ao seu primeiro bilhão de certificados emitidos.

 

Em 27 de fevereiro de 2020 o Lets Encrypt acredita ter gerado o bilionésimo certificado e fez uma reflexão importante:

Uma coisa diferente agora é que a web está muito mais criptografada do que antes. Em junho de 2017, aproximadamente 58% dos carregamentos de página usaram HTTPS em todo o mundo, 64% nos Estados Unidos. Hoje, 81% dos carregamentos de páginas usam HTTPS globalmente, e estamos com 91% nos Estados Unidos! Esta é uma conquista incrível. Isso é muito mais privacidade e segurança para todos.

Vale lembrar que a iniciativa é mantida por um grande número de empresas globalmente dentre elas Mozilla, Cisco, EFF, chrome, facebook, avast, github, wix, vmware, one.com e muitas outras grandes empresas.

Um dado interessante sobre a Lets Encrypt no que diz respeito a escalabilidade é que em junho de 2017 eles atendia 46 milhões de site, com apenas 11 funcionários em tempo integral e um orçamento de US $2,61 milhões e em 2020 estão atendendo cerca de 192 milhões de sites com 13 funcionários e um orçamento de US $ 3,35 milhões, ou seja, a iniciativa mantida pelas empresas conseguiu atender a 4 vezes mais sites com apenas 2 funcionários a mais e um aumento de 30% dos custos com 400% de aumento de demanda.

 

A documentação do projeto é bem completa e é o melhor local para estas informações mas é importante destacar alguns pontos.

VALIDAÇÃO DO DOMÍNIO

Para a emissão e entrega dos certificados é necessária a validação de domínio que nada mais é um processo e que pode ser executado de duas formas sendo:

  1. Por DNS: adicionando entrada DNS para o serviço conforme instrução que será gerada em tempo de execução (valor dinâmico)
  2. Por HTTP alocando determinado arquivo em URI acessível pelo serviço

TEMPO DO CERTIFICADO

Diferentemente de outros certificados que podem ser emitidos com expiração de um ano ou mais, os certificados Let’s Encrypt tem duração de apenas 3 meses e isso não há como alterar.

Neste artigo eles explicam com mais riqueza o motivo do certificado expirar em 90 dias.

AUTOMATIZAÇÃO DO CERTIFICADO

Como o tempo de duração de cada certificado é curto, para não haver necessidade de fazer isso manualmente a cada 90 dias, é altamente recomendado que seja configurado a automatização através de um client chamado de certbot (que é o client recomendado).

Como o automatizador vai ficar responsável por este trabalho a cada 90 dias, a depender da forma que você escolheu para validação do domínio, que pode ser por DNS ou por HTTP, o certbot deverá ter acesso ao recurso em questão.

Para o certbot, as duas abordagens demandam a utilização de plugin sendo que para HTTP existe o plugin de Apache, de nginx, por exemplo enquanto para DNS irá haver plugins para Amazon AWS Route 53 e outros serviços de gerenciamento de DNS.

A mais difundida é HTTP com plugins para os servidores web. Este processo basicamente vai no primeiro momento criar os certificados e em seguida criar ou atualizar o seu virtual host adicionando as entradas de SSL e demais informações. Posteriormente, ele será responsável somente por atualizar os arquivos e reiniciar o apache.

Para alguns, há o receio destas manutenções de forma automatizada e em virtude dos milhões de clientes e larga utilização todos deveriam dar uma chance principalmente para quem não tem HTTPS.

 

A documentação é bem completa e é o melhor local para você buscar informações sempre atualizadas mas como exemplo iremos deixar aqui alguns comandos que poderiam ser executados em um ambiente Linux com distribuição Ubuntu e servidor web Apache.

Conforme imagem disponibilizada pelo Certbot como orientação estamos todos pressupondo que você já tem:

  • familiaridade com linha de comando
  • um site ou mais rodando neste servidor com a porta 80 (http) acessível
  • acesso ssh com sudo habilitado

Requisitos:

  • snapd instalado (caso não esteja ver documentação em https://snapcraft.io/docs/installing-snapd/
  • certbot instalado, caso não esteja:

sudo snap install --classic certbot

Assim sendo, já com o devido acesso ao ambiente, vamos para a parte que irá praticar para sempre gerar um novo certificado para um domínio do seu servidor:

Para todos os sites configurados:

sudo certbot --apache

Para apenas um site:

sudo certbot --apache -d www.meusite.com.br

Para apenas gerar o certificado, mas não configurá-lo no apache:

sudo certbot certonly --apache

 

Sim, é “só” isso e o Let’s Encrypt com o Certbot fazem o restante.

Use o comando abaixo para testar se a renovação está OK para não ser pego de surpresa daqui 90 dias.

sudo certbot renew --dry-run

 


 

 

1 Shares:
Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

You May Also Like