Let’s Encrypt é um projeto que busca democratizar a adoção do HTTPS através da disponibilização de certificados SSL gratuitos e que conta com apoiadores de peso como o Google e Facebook. A ideia central é tornar fácil obter um certificado SSL grátis para sites.
Existem outras empresas que oferecem este serviço, mas o projeto Let’s Encrypt vem se destacando por algumas características especiais, como ser apoiado por empresas de peso como as citadas anteriormente.
Antes da iniciativa Let’s Encrypt, que foi lançada em 2016, era bem caro obter um certificado SSL. O custo chegava a ser o dobro do cobrado pelo serviço de hospedagem. Por esse motivo, antigamente quase todos os sites eram em HTTP.
Com a popularização de certificados SSL gratuitos, as empresas passaram a incluir um certificado SSL free em todos os planos de hospedagem. Apesar de ainda existirem certificados pagos, esses são de tipos diferentes de certificados e geralmente incluem algum tipo de “seguro” de quebra de criptografia.
O Google incentiva a adoção do HTTPS para deixar a web mais segura e já anunciou que sites HTTPS serão priorizados nos resultados de buscas. A tecnologia HTTPS também é importante para garantir a privacidade dos usuários. O Facebook já adotou esta tecnologia em todas as suas páginas.
E a adoção da tecnologia HTTPS somente é possível com um certificado. E a Let’s Encrypt oferece gratuitamente certificado de criptografia TLS X.509, que atendem muito bem a necessidade de quem tem um site ou loja virtual.
O que é Let’s Encrypt?
Let’s Encrypt (ou Vamos Criptografar, em português) é uma autoridade de certificação gratuita, automatizada e aberta, que tem a missão de tornar a internet um local mais seguro com a adoção universal da tecnologia HTTPS.
O Let’s Encrypt se diferencia de demais projetos de certificação grátis por simplificar todo o processo e permitir a automatização da emissão e renovação dos certificados SSL.
Atualmente ele é utilizado por mais de 250 milhões de domínios e recebe o apoio de diversas empresas da área de tecnologia, entre as principais estão o Google, Facebook, Cisco, Akamai, entre outas empresas.
Esquema de validação do domínio no Let’s Encrypt:
Vantagens do Let’s Encrypt:
- É simples de implementar.
- Permite automatizar o processo de emissão e renovação.
- Não custa nada; é 100% Grátis.
Desvantagens do Let’s Encrypt:
- Certificado válido por 3 meses (em vez de 12 como é normalmente).
Sobre o Certificado SSL
Anteriormente instalar um certificado SSL em um website era uma tarefa difícil e demorada. Antes da instalação ainda era necessário fazer todo um processo de compra do certificado e validação de domínio, que eram importantes para garantir a segurança e confiabilidade do certificado.
Porém, a Let’s Encrypt, além de oferecer o serviço de emissão de certificados gratuitamente, permite automatizar o processo para que ele seja mais simples e rápido. E a adoção em massa dessa tecnologia por parte das empresas de hospedagem tonaram o procedimento 100% automático em alguns casos.
O objetivo do certificado SSL é justamente garantir que o usuário está acessando realmente um determinado site e não uma versão fraudulenta dele. A emissão deste certificado é obrigatória para utilização da tecnologia HTTPS/SSL em um site, que garante mais segurança para o visitante, impedindo que as informações trocadas sejam interceptadas por terceiros.
Com o Let’s Encrypt você vai precisar apenas rodar alguns comandos em seu servidor VPS, cloud ou dedicado para gerar o certificado. Através da comunicação de seu site com os servidores do Let’s Encrypt é possível determinar que você realmente é o dono do domínio. Esse processo é bem mais simples que o processo de emissão de um certificado pago. Além disto, é possível automatizar todo o processo de emissão e renovação do certificado SSL.
Se você utiliza uma hospedagem compartilhada, o certificado SSL provavelmente já vem instalado em seu site.
Para confirmar se ele está instalado basta digitar no navegador “https://” seguido do domínio do seu site. Por exemplo: “https://meusites.com.br” em vez de “http://meusite.com.br”. Se a versão HTTPS funcionar é sinal que existe certificado SSL ativo e funcionando. Quando ele estiver desativado simplesmente a versão HTTPS do site vai aparecer uma mensagem de erro no certificado SSL.
Se após digitar HTTPS ele redirecionar de volta para a versão HTTP é normal. Isso ocorre quando você configura no WordPress o endereço do site com “HTTP://”, basta migrar o site para HTTPS.
Segurança adicional para os visitantes
A utilização de certificados SSL não serve apenas para exibir um cadeado verde ao lado do endereço do site. A tecnologia HTTPS/SSL garante a inviolabilidade das informações, impedindo que softwares maliciosos ou agências governamentais façam a interceptação da comunicação. Em uma conexão com o protocolo HTTP (sem o cadeado verde) é possível interceptar a comunicação com uma certa facilidade quando se tem acesso a rede de comunicação.
Uma comunicação que utiliza o protocolo HTTPS é protegida por um par de chaves pública e privada, que somente os destinatários das mensagens tem acesso. Somente com essas chaves é possível decodificar os dados e ler as informações trocadas, garantindo assim o sigilo dos dados.
A adoção em massa da tecnologia SSL/HTTPS começou após a denuncia do ex-analista da CIA, Edward Snowden, de que o governo americano tinha um programa de espionagem global que atingiu milhões de pessoas “comuns”.
Como instalar o certificado Let’s Encrypt
É muito fácil instalar o Let’s Encrypt em seu servidor, mas é necessário ter acesso de administrador (root). Isso vale somente para hospedagem VPS, dedicada ou Cloud.
No caso de hospedagem de sites compartilhada, a empresa precisar disponibilizar no painel de administração uma forma de instalar certificados SSL. Atualmente a grande maioria das empresas instala automaticamente, logo após a criação da conta.
Se você tem acesso Root ao servidor, execute os seguintes passos para instalar o certificado SSL Let’s Encrypt:
Sistema Debian/Ubuntu
Passo 1 – Instale as dependências
A primeira coisa a fazer é garantir que seu o seu sistema está atualizado executando o comando abaixo:
sudo apt-get update
Agora, caso não tenha o Git instalado, faça isso com o comando:
sudo apt-get install git python
Passo 2 – Baixe o Let’s Encrypt e monte o repositório
Agora nós vamos baixar o Let’s Encrypt do repositório oficial do projeto:
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
O comando acima vai criar uma cópia local do projeto Let’s Encrypt no diretório “/opt/”, que é onde são armazenados os softwares de terceiros nos sistemas Unix (Linux).
Passo 3 – Gere e configure o certificado SSL
Agora que o Let’s Encrypt foi baixado é necessário gerar e configurar o certificado SSL para ser usado por seu site. O certificado será válido para todos os domínios passados como parâmetro.
Acesse o diretório do Let’s Encrypt:
cd /opt/letsencrypt
Para gerar o certificado execute o comando abaixo passando o domínio como parâmetro:
./letsencrypt-auto --apache -d example.com
Caso deseje gerar o certificado para subdomínios, basta informá-los conforme o comando abaixo:
./letsencrypt-auto --apache -d example.com -d www.example.com
Todos os certificados gerados podem ser encontrados no diretório “/etc/letsencrypt/live”.
Para checar se a instalação foi concluída com êxito acesse o endereço abaixo passando a url de seu site como parâmetro:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
Passo 4 – Configure a auto renovação do Certificado SSL
Como você viu anteriormente, os certificados gerados pelo Let’s Encrypt são válidos por apenas 90 dias. É importante criar uma rotina para que a renovação do certificado ocorra automaticamente. Certificados SSL expirados não tem nenhum valor para os navegadores. Por isso, não espere o certificado expirar para fazer a renovação.
Para renovar manualmente todos os certificados execute o comando abaixo:
./letsencrypt-auto renew
Observação: Somente é possível renovar o certificado faltando 30 dias ou menos para a expiração. Por isso, se você emitiu o certificado a pouco tempo ele não será renovado agora.
Existe uma maneira muito eficiente e segura de manter seu certificado sempre atualizado, basta configurar uma tarefa no Cron para fazer a renovação automática do mesmo. Assim você garante que os certificados serão renovados periodicamente.
Para adicionar uma tarefa ao Cron execute o comando abaixo:
sudo crontab -e
Agora adicione o conteúdo abaixo em uma única linha:
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
Termine a edição e salve o arquivo.
Agora o Cron executará o comando de renovação, automaticamente, toda segunda-feira, às 2:30 am. Toda a saída gerada pelo processo de renovação será armazenada no arquivo “/var/log/le-renew.log”.
Passo 5 – Atualize o Let’s Encrypt
O Let’s Encrypt ainda está em fase beta, ou seja, ainda está em processo de desenvolvimento e testes. Por isso é fortemente recomendável que você mantenha ele sempre atualizado. Isso garante que todas correções e melhorias serão aplicadas ao projeto local instalado no servidor.
Para atualizar o Let’s Encrypt execute o comando abaixo:
cd /opt/letsencrypt sudo git pull
Todo sistema deve ser atualizado com uma certa frequência para garantir o máximo de segurança e desempenho. Não se esqueça de executar o comando acima para atualizar também o Let’s Encrypt quando for atualizar o sistema.
Conclusão
A instalação do certificado SSL no site é uma etapa importante da criação do mesmo. Antes de explodir o esquema de espionagem da CIA, as pessoas não ligavam muito para a privacidade, mas agora a adoção da tecnologia HTTPS nos sites é cada vez mais importante.
Por conta da preferência do Google por sites com HTTPS, podemos afirmar que de certa forma o certificado SSL influencia no SEO do site, pois sem ele não tem como ter um site com a tecnologia mais segura de conexão.
Olá boa noite Roberto,
Estou com algumas dificuldades para instalar o Certificado. Durante a instalação o processo enviou o seguinte Erro: ” Failed authorization procedure. example.ao (http-01): urn:ietf:params:acme:error:unknownhost :: the server could not resolve a domain name :: no valid IP addresses found for example.ao ”
Podes dar uma ajuda?
Olá Ernesto,
Foi realizado o apontamento correto do(s) domínio(s) para o servidor em questão? Me parece que o problema é este! E se foi feito há pouco tempo pode demorar algumas horas para entrar em vigor as alterações no DNS.
Posso gerar um certificado sem sido, enviando um desafio para a api da Lets Encrypt?
Olá Luiz,
Eu não compreendi sua dúvida, mas acredito que você pode entender melhor a API do Let’s Encrypt consultando a documentação do mesmo:
https://letsencrypt.org/docs/integration-guide/
Espero ter ajudado de alguma forma!