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.
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