Integrando Certbot com DNS da Cloudflare
Certificados do tipo WILDCARD são um pouco diferentes de serem emitidos via certbot. Uma vez que você tenha emitido usando os parâmetros –manual –preferred-challenges dns, em toda a renovação você precisa atualizar o conteúdo de um entrada TXT em sua zona de DNS.
Isso pode ser complicado de automatizar, dependendo da tecnologia escolhida ou de seu provedor de DNS, se estiver usando um SaaS.
Aqui vamos mostrar como automatizar a atualização da entrada TXT de DNS para um domínio wildcard hospedado no provedor CloudFlare.
PreReqs
Ambiente
- ProxMox 6.1
- CentOS 7
- Cerbot 1.3
- CentOS 7
Dependências
- DNS rodando na Cloudflare
- Entrada de DNS Wildcard na Cloudflare
- Token Global da Cloudflare
Se você ainda não criou sua entrada wildcard, veja o post abaixo
Instalando plugin cloudflare
yum install python2-certbot-dns-cloudflare-1.3.0-2.el7.noarch
Criando arquivo de configuração cloudflare
Vamos criar o seguinte arquivo
vim /etc/letsencrypt/cloudflareapi.cfg
Insira o conteúdo abaixo, ajustando seu e-mail e o token
dns_cloudflare_email = guto@gutocarvalho.net
dns_cloudflare_api_key = LKJHliugoIULkjKUHIOLhuLIHU
O token você vai pegar na página da cloudflare.
Renovando o certificado existente
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini -d gutocarvalho.net,*.gutocarvalho.net --preferred-challenges dns-01
Criando entrada no cron
Edite o cront do root
crontab -e
E insira a linha abaixo ajustando minuto, hora e domínio.
15 3 * * * certbot certonly --noninteractive --cert-name gutocarvalho.net --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflareapi.cfg --server https://acme-v02.api.letsencrypt.org/directory -d gutocarvalho.net,*.gutocarvalho.net
Pronto, a renovação de certificados está configurada, o setup agora está completo.