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.