Let’s Encrypt

Conheça mais sobre a ferramenta de implementação SSL gratuita e OpenSource mais usada no mundo e aprenda a instala-la pelo método tradicional ou com Certbot.

| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.

Introdução

Sempre que você entra em um site, você deve ter percebido que a maioria deles possui um https:// logo no começo da URL.

É o sinal de que aquele site possui uma criptografia de dados que te protege de possíveis invasores, sites falsificados e de procedência duvidosa; Sites estes que podem ser páginas falsas de agencias bancárias, sites que imitam login de Facebook para que você coloque seus dados e os tenha roubados etc.
O HTTPS está, com a ajuda do Google, se tornando um padrão pra internet pra promover uma boa segurança entre os usuários e servidores.

No caso de quem hospeda servidores http usando o sistema LAMP (Linux, Apache2, MySQL e PHP), a ausência do certificado SSL pode ser uma dor de cabeça entre seus usuários. E o Let’s Encrypt chega para resolver esse problema: Emite certificados gratuitos válidos por 3 meses para tornar seu site seguro contra invasões do tipo página falsa, por exemplo.

Let’s Encrypt

Let’s Encrypt é uma autoridade de certificação lançada em 12 de abril de 2016, que fornece gratuitamente certificados de criptografia TLS (Transport Layer Security) X.509 através de um processo automatizado, criado para eliminar a complexidade dos processos atuais de criação, validação, instalação e renovação de certificados para sites seguros.

O projeto busca tornar as conexões criptografadas ubíquas para todos os servidores da internet. Ao eliminar barreiras como pagamento, e a renovação do certificado, espera-se diminuir significativamente a complexidade de configurar e manter criptografia TSL.

Com esse objetivo, um pacote de software foi incluído nos repositórios oficiais do Debian, Ubuntu e derivados. Dois dos maiores desenvolvedores de navegadores – Mozilla e Google – atualmente têm iniciativas para tornar obsoletas as navegações não encriptadas (HTTP). Acredita-se que o projeto tenha o potencial de conseguir transformar as conexões encriptadas no padrão para toda a web.

Ao optar por ser o mais transparente possível, a iniciativa espera tanto proteger sua própria credibilidade como também proteger contra ataques e tentativas de manipulação. Para esse propósito, publicam frequentemente relatórios de transparência, fazem o log público de todas as transações ACME (usando, por exemplo, Certificado de transparência, e usam padrões abertos e software livre o máximo possível).

Funcionamento

Em junho de 2015, o Let’s Encrypt gerou um certificado raiz RSA cuja chave privada estava armazenada em um módulo de segurança de hardware, que é mantido offline. O certificado raiz é usado para assinar dois certificados intermediários, que têm assinatura cruzada pela autoridade de certificação IdenTrust. Um dos certificados intermediários é utilizado para assinar os certificados emitidos, e o outro é mantido offline como backup no caso de problemas com o primeiro. Como o certificado IdenTrust é pré-instalado nos maiores navegadores, os certificados da Let’s Encrypt podem ser validados normalmente e são aceitos assim que instalados, mesmo que nenhum dos fornecedores dos navegadores incluam o certificado raiz ISRG como âncora de confiança.

Todas as empresas que atualmente endossam, apoiam o Let’sEncrypt!

Instalação

Tradicional

Pra a galera do Debian, Ubuntu e derivados, basta instalar o seguinte pacote:

$ sudo apt install letsencrypt

Caso utilize o Apache2 como servidor HTML:

$ sudo apt-get install python-letsencrypt-apache python-certbot-apache

Os comandos para gerar seu certificado são:

$ sudo letsencrypt certonly

Para associa-lo ao Apache2:

$ sudo letsencrypt --apache

Responda ás questões (em portugues) conforme as necessidades do seu servidor.

Reinicie seu servidor Apache2:

$ sudo systemctl restart apache2

Se tudo correu bem, até o momento seu site já estará rodando sob HTTPS.

Os certificados tem validade por 3 meses.
Para renovar o certificado, basta fazer o seguinte comando:

$ sudo letsencrypt renew --dry-run --agree-tos

Para tornar a renovação automática, adicione a seguinte linha ao Cron:

$ sudo crontab -e
0 0 3 * * letsencrypt renew --agree-tos >> /var/log/letsencrypt-renew.log

Assim, a cada 3 meses seu certificado será renovado automaticamente.
O final do comando vai gerar uma linha ao final de /var/log/letsencrypt-renew.log mostrando o status da ultima renovação automática.

O valor 3 informa os meses de duração, mude para 2 ou 1 caso veja necessidade.

Certbot

Alternativamente você pode configurar o Let’s Encrypt com o Certbot, que é basicamente um script que facilita as configurações e deixa tudo pronto de forma quase automática.

Instale os pacotes e adicione o PPA:

$ sudo apt install software-properties-common python-software-properties
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt install python-certbot-apache

Execute-o:

$ sudo certbot --apache -d seusite.com

Aceite os termos de uso.
Confirme se você deseja, ou não, redirecionar todo o tráfego HTTP para o HTTPS.
Eu particularmente recomendo deixar como No Redirect, assim você controla de forma granular o redirecionamento das requisições HTTP  para HTTPS via arquivo .htaccess do seu site. Isso é melhor ainda quando um site está em fase de implementação e alguns recursos só ficam disponíveis com HTTP.

Para renovar automaticamente, adicione o seguinte comando ao seu Crontab:

$ crontab -e
0 0 1 * * /usr/bin/letsencrypt renew >> /var/log/letsencrypt-renew.log

Conclusão

Com certeza, para qualquer bom sysadmin que cuida de um servidor caseiro, ou não, provedor de sites na internet, deve saber manejar, configurar e aplicar um certificado SSL. E o Let’s Encrypt torna isso tudo simples para qualquer iniciante nessa área!

#UrbanCompassPony

Deixe um comentário