Let’s Encrypt : How to

Neste post será apresentado como utilizar o let’s encrypt para geração de certificados.

O Let’s Encrypt é uma autoridade de certificação gratuita, automatizada e aberta, oferecida pelo ISRG (Internet Security Research Group) sem fins lucrativos
Várias empresas utilizam e mantém o projeto , segue abaixo o link oficial para mais informações.

https://letsencrypt.org/

1) Instalação dos pacotes

Faça download do certbot

wget https://dl.eff.org/certbot-auto

 

Instale o certbot as dependências e os pacotes necessários no servidor

./certbot-auto --os-packages-only
./certbot-auto --install-only

 

2) Geração de certificado

Comando para geração do certificado

Parâmetros para geração :

–apache : Para servidores apache
–nginx : Para servidores nginx
-d : domínio

./certbot-auto --apache -d fajlinux.com.br -d www.fajlinux.com.br

 

 

Será solicitado qual vhost utilizado

 

Após selecionar o vhost a ser utilizado o script irá escrever no vhost do site.

SSLEngine On
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.fajlinux.com.br
SSLCertificateFile /etc/letsencrypt/live/fajlinux.com.br/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/fajlinux.com.br/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/fajlinux.com.br/chain.pem 

Certificado gerado

 

Para renovar os certicados basta executar o comando certbot-auto renew

 

Segue abaixo como agendar semanalmente o certbot

 

Script


#!/bin/bash
case $@ in

apache)
if service apache2 status </dev/null 2>&1 | grep -q Escape ; then
sudo /bin/certbot-auto renew | tee /var/log/certbot-renew.log
sudo service apache2 reload
exit 0

else
sudo /bin/certbot-auto renew | tee /var/log/certbot-renew.log
service httpd reload
exit 0

fi
;;

nginx)
sudo /bin/certbot-auto renew >> /var/log/certbot-renew.log
service nginx reload
exit 0
;;

 

Crontab para toda segunda às 20 horas.


00 20 * * 1 root /bin/cert-renew.sh apache