Como gerar certificados SSL Let’s Encrypt usando o Certbot

Se você precisa de HTTPS para seus sites e quer facilidade sem gastos, veja como gerar certificados SSL Let’s Encrypt usando o Certbot.

Let’s Encrypt é uma autoridade de certificação gratuita, automatizada e aberta: permite criar e instalar certificados TLS gratuitos em seu servidor web com alguns argumentos de linha de comando.

Com Let’s Encrypt, você pode fornecer HTTPS em seu site para todos os usuários sem gastar dinheiro ou se preocupar com datas de renovação.

Os certificados SSL são emitidos por apenas 3 meses, então você precisa renová-lo. Certbot é um utilitário de linha de comando que ajuda a gerenciar certificados SSL Let’s Encrypt. Com a ajuda do certbot, podemos emitir um novo certificado, renová-lo e excluí-lo.

O Certbot fornece uma maneira fácil de gerar certificados gratuitos Let’s Encrypt para todos os sites que suportam HTTP e veiculam seu conteúdo por HTTPS.

E, neste artigo, veremos como usar o Certbot para automatizar o processo de geração de certificados Let’s Encrypt.

Como gerar certificados SSL Let’s Encrypt usando o Certbot

Como gerar certificados SSL Let's Encrypt usando o Certbot
Como gerar certificados SSL Let’s Encrypt usando o Certbot

Para gerar certificados SSL Let’s Encrypt usando o Certbot, use o procedimento abaixo.

Instalando o Certbot

A maioria dos sistemas Linux tem o pacote certbot nos repositórios de pacotes padrão. é uma ferramenta para obter certificados de Let’s Encrypt e configurá-los em seu servidor web. O pacote Snap é a maneira mais fácil de instalar o certbot no sistema Ubuntu.

Abra um terminal e execute o comando abaixo para instalar o certbot:
sudo snap install --classic certbot

Assim que uma nova versão do certbot estiver disponível, o Snap atualizará automaticamente o pacote.

Gerando o certificado SSL com Certbot

Agora, você pode solicitar certificados SSL da Let’s encrypt com base no servidor web. Discutimos 4 métodos para obter um novo certificado SSL, que dependem de qual servidor web rodando em seu sistema. Pode ser que não haja nenhum servidor da Web em execução no sistema.

Portanto, escolha o método correto de acordo com o ambiente:

1) Nenhum servidor Web em execução

No caso, você não tem nenhum servidor web rodando em seu sistema. Você pode usar a opção --standalone para completar a validação do domínio declarando um servidor web fictício. Essa opção precisa ser vinculada à porta 80 para realizar a validação do domínio.
sudo certbot certonly --standalone

Se você estiver executando o certbot pela primeira vez, ele solicitará que você aceite os termos e forneça um endereço de e-mail para enviar notificações.

Você também pode fornecer as entradas na linha de comando, por exemplo:
sudo certbot certonly --standalone -d example.com --staple-ocsp -m [email protected] --agree-tos

2) Certbot com Apache

Os sistemas que executam o servidor web Apache, executam o seguinte comando. Isso listará todos os domínios/subdomínios configurados em seu servidor web. Selecione os números apropriados para solicitar um certificado.
sudo certbot --apache

Isso lerá os arquivos de configuração do Apache e listará todos os nomes de domínio configurados. Digite o número do domínio que você deseja emitir um certificado. Você pode inserir vários números separados por vírgulas.

Depois que a propriedade do domínio for verificada, o certificado será emitido e o arquivo de configuração do Apache será criado com as configurações de SSL.

3) Certbot com Nginx

Para os sistemas que executam o servidor web Nginx, use o comando abaixo para solicitar os certificados SSL.
sudo certbot --nginx -d example.com -d www.example.com

4) Algum outro servidor da Web em execução

Para o sistema com outros servidores da Web em execução, exceto Apache ou Nginx. Então você pode obter apenas o certificado e configurá-los manualmente.

Este comando solicitará o nome do domínio e a raiz do documento para o domínio.
sudo certbot certonly --webroot

Você também pode passar o nome de domínio e/ou raiz do documento na linha de comando.
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

Ao usar os comandos acima, o domínio deve ser apontado para o servidor no DNS. Além disso, certifique-se de que /.well-known/acme-challenge seja atendido pelo servidor web.

Exibir arquivos de certificado

Uma vez que um certificado é emitido pela autoridade Lets Encrypt. Todos os arquivos de certificado são criados no diretório /etc/letsencrypt. Se o seu nome de domínio for example.com, os arquivos serão criados no local abaixo.
ls -l /etc/letsencrypt/live/example.com/

Resultado:
-rw-r--r-- 1 root root 692 9 de março 06:59 README
lrwxrwxrwx 1 root root 37 de setembro 6 09:56 cert.pem -> ../../archive/example.com/cert1.pem
lrwxrwxrwx 1 root root 38 Set 6 09:56 chain.pem -> ../../archive/example.com/chain1.pem
lrwxrwxrwx 1 root root 42 Set 6 09:56 fullchain.pem -> ../../archive/example.com/fullchain1.pem
lrwxrwxrwx 1 root root 40 Set 6 09:56 privkey.pem -> ../../archive/example.com/privkey1.pem
Altere example.com pelo seu nome de domínio para obter os arquivos corretos.

Espero que este tutorial ajude você a trabalhar com o Certbot para gerenciar o certificado SSL em seu sistema.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.