L'Autorisation Certbot permet à votre propre serveur d'obtenir un certificat SSL Let's Encrypt par validation DNS (défi DNS-01), y compris un certificat générique (*.votredomaine.ch). Certbot crée lui-même l'enregistrement TXT _acme-challenge dans votre zone DNS SwissCenter, puis le retire une fois le certificat délivré.
Cette fonction est utile lorsque le certificat doit être installé sur un serveur à vous (serveur dédié, VPS, NAS, équipement réseau) ou lorsque vous avez besoin d'un certificat générique. Pour les sites hébergés chez nous, rien n'est à faire : les certificats Let's Encrypt y sont émis et renouvelés automatiquement.
Prérequis
- Le domaine utilise les serveurs DNS de SwissCenter (sa zone est gérée dans votre console).
- Un serveur sous votre contrôle avec Certbot et son extension
certbot-dns-rfc2136 (paquet python3-certbot-dns-rfc2136 sur Debian et Ubuntu, ou pip install certbot-dns-rfc2136).
- L'adresse IP publique depuis laquelle ce serveur se connecte à Internet.
Activer l'autorisation
- Connectez-vous à votre console de gestion de l'hébergement.
- Entrez dans le domaine concerné en cliquant sur son nom, puis ouvrez le Gestionnaire DNS.
- Cliquez sur Outils, puis sur Autorisation Certbot.
- Dans Restriction IP, indiquez l'adresse IP publique de votre serveur (par exemple
203.0.113.10), ou un réseau au format CIDR (par exemple 203.0.113.0/24). IPv6 est accepté.
- Passez le Statut sur Actif et enregistrez.
La fenêtre affiche alors deux éléments à copier :
- Fichier de configuration pour Certbot : quatre lignes (
dns_rfc2136_server, dns_rfc2136_name, dns_rfc2136_secret, dns_rfc2136_algorithm) ;
- Ligne de commande : la commande Certbot prête à l'emploi pour votre domaine.
Obtenir le certificat sur votre serveur
- Copiez le contenu du fichier de configuration dans
/etc/certbot.conf et protégez-le :
chmod 600 /etc/certbot.conf
- Lancez la commande affichée dans la console :
certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/certbot.conf -d votredomaine.ch
- Pour un certificat générique, ajoutez le nom en étoile (les guillemets évitent que le shell interprète l'étoile) :
certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/certbot.conf -d votredomaine.ch -d "*.votredomaine.ch"
Certbot attend par défaut 60 secondes que l'enregistrement soit publié avant de demander la validation. Si la validation échoue, augmentez ce délai avec --dns-rfc2136-propagation-seconds 120.
Le renouvellement se fait ensuite automatiquement avec la tâche planifiée installée par Certbot (certbot renew), tant que l'autorisation reste active.
Sécurité : à lire avant d'activer
- La clé donne le droit de modifier toute la zone DNS du domaine, pas seulement l'enregistrement de validation. Traitez-la comme un mot de passe : ne la partagez pas, ne la publiez pas dans un dépôt de code, et gardez le fichier en
chmod 600.
- Restreignez toujours l'adresse IP. La valeur proposée par défaut,
0.0.0.0/0, autorise tout Internet : remplacez-la par l'adresse de votre serveur. La clé reste la protection principale, la restriction IP est une seconde barrière.
- La clé est propre à chaque domaine. Pour bloquer les mises à jour, repassez le Statut sur Inactif : elles sont aussitôt refusées. Attention : une réactivation redonne la même clé. Si vous pensez que votre clé a été divulguée, laissez l'autorisation inactive et ouvrez une demande de support pour en obtenir une nouvelle.
En cas de problème
- « REFUSED » ou « NOTAUTH » : l'adresse IP de votre serveur ne correspond pas à la restriction saisie, ou l'autorisation est inactive. Vérifiez l'adresse IP publique réelle de votre serveur (par exemple sur https://mon-ip.info/).
- « Unable to determine base domain » : le domaine n'utilise pas les serveurs DNS de SwissCenter, ou le nom passé à
-d ne correspond pas au domaine configuré.
- La validation expire : augmentez
--dns-rfc2136-propagation-seconds.
Si le problème persiste, ouvrez une demande de support en indiquant le domaine, la commande lancée et le message d'erreur complet (sans la clé secrète).