Table des matières

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 :

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 :

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.