Créer un script de Hook Let's Encrypt pour Dovecot
Pour mettre en place un hook qui redémarre Dovecot après chaque renouvellement de certificat avec Let's Encrypt (généralement géré par Certbot), vous devez ajouter un script de hook dans le répertoire approprié ou spécifier le hook directement dans la commande de renouvellement de Certbot. Voici comment vous pouvez procéder :
1. Création d'un Script de Hook
Vous pouvez créer un script qui redémarre Dovecot. Par exemple:
#!/bin/bash # reload-dovecot.sh # Redémarrer Dovecot echo "Reloading Dovecot..." systemctl restart dovecot
Enregistrez ce script quelque part sur votre système, par exemple, /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
.
Assurez-vous de rendre le script exécutable :
chmod +x /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
2. Utiliser Certbot avec le Hook
Lorsque vous exécutez Certbot pour renouveler vos certificats, vous pouvez spécifier des hooks à exécuter avant ou après le renouvellement.
Ajouter le Hook de Renouvellement Automatique : Si vous avez configuré Certbot pour renouveler automatiquement vos certificats (ce qui est la configuration recommandée), vous pouvez ajouter votre script de hook directement dans la configuration de renouvellement de Certbot.
Pour chaque certificat dans /etc/letsencrypt/renewal/
, il y a un fichier de configuration correspondant. Vous pouvez ajouter les lignes suivantes au fichier de configuration de votre domaine (par exemple, /etc/letsencrypt/renewal/smtp.serveur.fr.conf
):
[renewalparams] post_hook = /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
3. Utiliser des Hooks Directoires
Certbot vérifie également automatiquement trois répertoires pour les scripts à exécuter comme hooks :
/etc/letsencrypt/renewal-hooks/pre/
: Avant le renouvellement./etc/letsencrypt/renewal-hooks/deploy/
: Après le renouvellement réussi d'un certificat./etc/letsencrypt/renewal-hooks/post/
: Après la tentative de renouvellement (qu'elle soit réussie ou non).
Placer votre script dans /etc/letsencrypt/renewal-hooks/post/
assurera qu'il s'exécute après chaque tentative de renouvellement, ce qui est idéal pour des actions comme redémarrer Dovecot.
4. Testez votre Configuration
Après avoir mis en place le hook, vous devriez tester le processus pour vous assurer que tout fonctionne comme prévu. Vous pouvez simuler un renouvellement avec Certbot en utilisant une option de test (cela ne remplacera pas vos certificats actuels) :
certbot renew --dry-run
Si tout est correctement configuré, Certbot renouvellera le certificat en mode test et exécutera votre script pour redémarrer Dovecot. Assurez-vous que Dovecot fonctionne correctement après l'exécution du script.
Notes Importantes :
- Sécurité : Vérifiez que seuls les utilisateurs appropriés ont des permissions d'écriture sur le script et les fichiers de configuration pour éviter des modifications non autorisées.
- Logs : Surveillez vos logs pour vous assurer que les renouvellements et les redémarrages de Dovecot se passent comme prévu. Certbot et Dovecot écrivent tous deux des logs qui peuvent être utiles en cas de problème.
- Compatibilité : Vérifiez que les versions de Certbot et Dovecot que vous utilisez supportent les configurations et méthodes décrites ici, car les logiciels peuvent changer avec le temps.
En ayant un hook bien configuré, vous vous assurez que Dovecot utilise toujours un certificat à jour, maintenant ainsi la sécurité de votre service de messagerie.