Certbot: Challenge DNS Ikoula

De Ikoula Wiki
Jump to navigation Jump to search

zh:Certbot:Ikoula DNS挑战 de:Certbot: Ikoula DNS Herausforderung nl:Certbot: Ikoula DNS uitdaging it:Certbot: sfida Ikoula DNS pt:Certbot: Desafio DNS de Ikoula es:Certbot: Reto del DNS de Ikoula en:Certbot: Ikoula DNS Challenge

Introduction

Plusieurs challenges ou méthodes d'authentification sont disponibles pour demander la génération d'un certificat Let's Encrypt. A la différence des certificat SSL de chez Ikoula, ces certificat gratuits expirent rapidement. Par conséquent, il faut automatiser leur renouvellement. Le Challenge DNS permet de pouvoir demander des certificats wildcard. Il faut donc créer un enregistrement DNS avec une clef lors du processus d’obtention ou de renouvellement.

Pre-requis

Le système sur lequel est demandé le certificat SSL doit disposer de certbot mais aussi de quelques dépendances de base. Voici les packages nécessaires :

  • certbot
  • curl
  • jq

Il faut aussi disposer d'un utilisateur/contact de l'interface client avec les permissions de modification de la zone DNS. Nous recommandons de créer un utilisateur spécifique avec les permissions minimales pour l'abonnement "Domain and Dns - Dns Management Only for Domain" pour :

  • Voir les détails de base
  • Manage zone: domaine.tld

Installation

Installation des dépendances sur une base Debian :

apt update && apt install -y certbot curl jq

Installation des scripts Ikoula pour la gestion des zones DNS

bash <(curl -s https://raw.githubusercontent.com/ikoula/certbot-dns/master/install.sh)

La commande doit être exécutée de nouveau dans le cas où le mot de passe a été modifié.

Utilisation

Vous pouvez ensuite utiliser le certbot avec vos options habituelles, mais vous devez avoir :

  • --manual
  • --preferred-challenges=dns
  • --manual-auth-hook /usr/local/bin/ikoula-dns-auth.sh
  • --manual-cleanup-hook /usr/local/bin/ikoula-dns-cleanup.sh

Voici un exemple :

certbot certonly --manual -n --preferred-challenges=dns --manual-auth-hook /usr/local/bin/ikoula-dns-auth.sh --manual-cleanup-hook /usr/local/bin/ikoula-dns-cleanup.sh -d *.domaine.tld -d domaine.tld --agree-tos -m monadresse@domaine.tld --manual-public-ip-logging-ok

L'authentification DNS prend du temps : le temps de propagation DNS. Il vous faut compter au minimum 2 minutes par domaine.

Je vous recommande d'effectuer vos réglages avec un --dry-run. Si vous échoué à l'authentification trop de fois vous devrez attendre.