Let’s Encrypt avec validation DNS

Skip to main content
Du bist hier:
Drucken

Let’s Encrypt avec validation DNS

Let’s Encrypt via validation DNS (Proxmox)

Avec notre plugin DNS pour Proxmox, vous pouvez faire renouveler automatiquement vos certificats Let’s Encrypt via le challenge DNS-01. Cela fonctionne sans accès HTTP et convient parfaitement à l’interface de gestion Proxmox, aux services internes et aux systèmes derrière un pare-feu.

 

Conditions préalables

  • Votre domaine doit pointer vers nos serveurs de noms (DNS géré chez FireStorm)
  • L’accès API doit être activé (sous admin.firestorm.ch → Profil client → Accès API)
  • Ayez votre numéro de client et votre clé API sous la main

 

1. Installer le plugin

Téléchargez le plugin sur votre hôte Proxmox :

curl -o /usr/share/proxmox-acme/dnsapi/dns_firestorm.sh https://api.firestorm.ch/downloads/dns_firestorm.txt

Si vous exploitez un cluster Proxmox, le plugin doit être installé sur chaque nœud.

La définition du plugin doit également être ajoutée au fichier de schéma :

python3 -c "
import json
f='/usr/share/proxmox-acme/dns-challenge-schema.json'
d=json.load(open(f))
d['dns_firestorm']={'name':'FireStorm DNS','fields':{
'FST_Key':{'description':'Numero de client FireStorm','type':'string'},
'FST_Secret':{'description':'FireStorm API Key','type':'string'}}}
json.dump(d,open(f,'w'),indent=2,sort_keys=True)
print('OK')
"

 

2. Créer un compte ACME

Créez un nouveau compte sous Datacenter → ACME → Accounts → Add. Saisissez votre adresse e-mail et acceptez les conditions d’utilisation de Let’s Encrypt.

 

3. Créer le plugin DNS Challenge

Sous Datacenter → ACME → Challenge Plugins → Add :

Champ Valeur
Plugin ID Au choix, par exemple firestorm
DNS API dns_firestorm (FireStorm DNS)
FST_Key Votre numéro de client
FST_Secret Votre clé API

Ce plugin fonctionne pour tous les domaines de votre compte, un seul plugin suffit dans le datacenter.

 

4. Configurer le certificat

Sous Node → System → Certificates → ACME :

  • Sélectionnez le compte ACME créé
  • Ajoutez un domaine : saisissez le nom d’hôte (par exemple proxmox.votredomaine.ch), type de challenge DNS, sélectionnez le plugin

 

5. Commander le certificat

Cliquez sur Order Certificates Now. Proxmox pose automatiquement l’enregistrement DNS, attend la validation et installe le certificat.

Le certificat est renouvelé automatiquement 30 jours avant son expiration.

 

Dépannage

« dns_firestorm » n’apparaît pas dans la sélection
Assurez-vous que le fichier .sh et la définition du schéma sont tous deux installés (voir étape 1). Rechargez l’interface web de Proxmox.

« Invalid credentials »
Vérifiez que le numéro de client et la clé API sont corrects. Vous trouvez la clé API sous admin.firestorm.ch → Profil client.

« Zone not found »
Le domaine doit pointer vers nos serveurs de noms et une zone DNS doit exister dans votre compte.

Le certificat n’est pas renouvelé
Proxmox tente le renouvellement automatiquement 30 jours avant l’expiration. Vérifiez l’état sous Node → System → Certificates.

 

Autres guides

Pour Cert Warden, voir l’article Let’s Encrypt avec Cert Warden. La mise à jour automatique d’un enregistrement DNS par un routeur MikroTik est décrite dans l’article DynDNS avec un routeur MikroTik.

Related Post