04
out
2019

Certificados digitais gratuitos com Let's Encrypt, Linux e Apache

Introdução

Este tutorial lhe mostrará como configurar um certificado SSL com o Let’s Encrypt num servidor Apache no Ubuntu Linux 14.04.

Certificados SSL são usados em servidores web para criptografar o tráfego de dados entre usuários e servidores. Eles provêm uma camada extra de segurança para a suas aplicações. O Let’s Encrypt fornece uma maneira de ter um certificado digital confiável gratuitamente.

Pré-requisitos

Para completar este tutorial você precisará de:

  • Um servidor Linux (usamos o Ubuntu) com acesso ao usuário root.
  • O servidor web Apache e um ou mais domínios configurados nele.

Quando estiver pronto para seguir em frente, faça login no servidor usando sua conta habilitada para comandos sudo.

Etapa 1 - Faça o download do Vamos criptografar o cliente

O primeiro passo para usar o Let's Encrypt para obter um certificado SSL é instalar o software certbot no seu servidor. Os desenvolvedores do Certbot mantêm seu próprio repositório com versões mais atualizadas do programa que no Ubuntu, nós vamos usar o deles.

Primeiro, adicione o repositório:

  • sudo add-apt-repository ppa:certbot/certbot

Você precisará pressionar ENTER para aceitar. Depois, atualize a lista de pacotes para adicionar as informações do novo repositório:

  • sudo apt-get update

E, finalmente, instale o Certbot a partir do novo repositório com o apt-get:

  • sudo apt-get install python-certbot-apache

Pronto, o cliente certbot Let’s Encrypt está pronto para ser usado.

Etapa 2 - Configurar o certificado SSL

A geração do certificado SSL para Apache usando o cliente certbot Let's Encrypt é bastante rápida e direta. O aplicativo fará tudo para você, instalará automaticamente o novo certificado SSL no seu domínio no Apache.

Para executar a instalação interativa e obter um certificado que cubra apenas um único domínio, execute o comando certbot da seguinte forma:

  • sudo certbot --apache -d example.com

Se você deseja instalar um único certificado válido para vários domínios ou subdomínios, você pode fazer isso adicionando mais endereços ao comando. O primeiro domínio no comando será usado como base pelo Let's Encrypt para criar o certificado e, portanto, recomendamos que os alias e subdomínios venham depois:

  • sudo certbot --apache -d example.com -d www.example.com

Neste exemplo, o domínio base será example.com.

Será solicitado que você forneça um endereço de e-mail para a recuperação de chaves dos domínio e o envio de notificações, também será perguntado se você concorda com os termos de serviço do Let's Encrypt. Você será perguntado se deseja apenas habilitar o https para funcionar junto do http ou se deseja também que os usuários sejam obrigatoriamente redirecionados para o endereço https.

Quando a instalação estiver concluída, você poderá encontrar os arquivos de certificado gerados em /etc/letsencrypt/live. Você pode verificar o status do seu certificado SSL com o seguinte link (não se esqueça de substituir example.com pelo seu domínio base):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Agora você deve conseguir acessar seu site usando um prefixo https.

Etapa 3 - Renovação automática da validade do certificado digital (SSL)

A validade do certificado da Let's Encrypt é de 90 dias. No entanto, o pacote certbot que instalamos cuida disso executando o certbot renew duas vezes por dia por meio de um timer do systemd. Em distribuições não systemd, essa funcionalidade é fornecida por um script cron colocado em /etc/cron.d. A tarefa é executada duas vezes por dia e renova qualquer certificado que esteja a 30 dias da expiração.

Para testar o processo de renovação, você pode executar uma renovação manual com o certbot:

  • sudo certbot renew --dry-run

Se você não encontrar erros, está tudo pronto. Quando necessário, o Certbot renovará os seus certificados e recarregará o Apache para aplicar as alterações. Se o processo de renovação automática falhar, o Let's Encrypt enviará uma mensagem para o email que você especificou, avisando quando o seu certificado expirará.

Conclusão

Neste guia, vimos como instalar um certificado SSL gratuito do Let's Encrypt para proteger um site hospedado com o Apache. Recomendamos que você verifique regularmente o blog oficial Let's Encrypt para ficar por dentro das atualizações e leia a documentação do Certbot para obter mais detalhes sobre ele.