Base de Conhecimento

Certbot - Linux

Data de criação: 21/02/2024

Última alteração: 21/02/2024

O que é o Certbot ?

O Certbot é uma ferramenta gratuita que ajuda a tornar os sites mais seguros na internet. Ele automatiza o processo de obtenção e instalação de certificados SSL/TLS, que são como "passes de segurança" que protegem a comunicação dos seus sites. Em resumo, o Certbot facilita a implementação de uma conexão segura entre o seu navegador e os sites, tornando a web mais segura para todos.

Requisitos solicitados:

Acesso via linha de comando - que geralmente é acessado por SSH

Um site HTTP - É um padrão da Internet e normalmente usado com porta TCP 80.

Site já esteja online -  Certbot assumem ou recomendam que você tenha um site funcional que já possa ser acessado usando HTTP na porta 80

Porta 80 esteja aberta - Este site deve estar disponível para a Internet na porta 80. Para usar o certbot (para realizar o teste pode usar o website Teste de Portas). Mais informações disponíveis no link: https://certbot.eff.org/

- Serviço DDNS - Antes de prosseguir com a instalação do certificado Let's Encrypt, é importante garantir que o serviço de DDNS esteja configurado e funcionando corretamente para o seu subdomínio. O serviço de DDNS é essencial para garantir que seu domínio seja acessível pela Internet e que o certificado Let's Encrypt possa ser validado com sucesso.

Instalação do Certbot:

RedHat/Centos/Rocky

#  dnf install epel-release
# dnf install certbot

Debian/Ubuntu

# apt install certbot

Configuração do Certificado com o Certbot:

  • Execute o Certbot com o seguinte comando, substituindo <seu-subdominio> pelo nome de seu subdomínio para o qual você deseja gerar o certificado:
 # certbot certonly --webroot -w /var/www/html -d <seu-subdominio>
  • O Certbot solicitará informações adicionais e, em seguida, gerará e instalará o certificado SSL no seu servidor.

Texto

Descrição gerada automaticamente

Deve ocorrer uma seção que se parece com a imagem acima.

Configuração do Servidor Web: 

  • Após a instalação do certificado, você precisará configurar seu servidor web (como o Apache ou Nginx) para usar o certificado SSL. Isso geralmente envolve atualizar o arquivo de configuração do servidor para incluir o caminho para o certificado SSL e a chave privada.

No Apache (Red-Hat/Centos/Rocky)

Acesse o arquivo de configuração de seu domínio web 

/etc/httpd/conf.d/seu-dominio.conf

 Dentro deste arquivo, deve haver uma seção que se parece com isso:

Certifique-se de que as linhas SSLEngine, SSLCertificateFile e SSLCertificateKeyFile estejam presentes e apontem para os locais corretos dos arquivos do certificado SSL gerados pelo Certbot.

Reinicie o Apache:

Após fazer as alterações, reinicie o Apache para aplicar as configurações:

# systemctl restart httpd

(OBS: verifique se o pacote mod-ssl e openssl está instalado no servidor – dnf install mod-ssl openssl )

No Apache (Debian/Ubuntu)

Acesse o arquivo de configuração de seu domínio web:

/etc/apache2/sites-available/seu-dominio.conf

Dentro deste arquivo, deve haver uma seção que se parece com isso:

Texto

Descrição gerada automaticamente

Após fazer as alterações, reinicie o Apache para aplicar as configurações:

# systemctl restart apache2

Renovação automática do Certificado com o Certbot:

  1. Configuração do Cron Job:
    • Para automatizar a renovação do certificado, você pode configurar um cron job para executar o Certbot periodicamente. Edite o arquivo de cron jobs com o comando:
crontab -e
    • Adicione a seguinte linha para executar o Certbot para renovar os certificados todos os dias às 3:00 da manhã:

(Red-hat/Centos/Rocky)

0 3 * * * certbot renew --quiet --post-hook "systemctl reload httpd"

(Debian/Ubuntu)

0 3 * * * certbot renew --quiet --post-hook "systemctl reload apache2"

Para mais detalhes sobre como configurar o Certificado, você pode acessar o website

https://certbot.eff.org/instructions

Top