Renouvellement automatique d’un certificat Let’s Encrypt DNS Challenge et Nas Synology DSM

Temps de lecture estimé: 4 minutes

Vu que je m’y suis attelé récemment pour mon homelab VMware ESXi, je me penche maintenant sur le renouvellement automatique des certificats de mon NAS Synology.
Comme il est derrière un reverse proxy, il m’est impossible d’utiliser la fonction intégrée de renouvellement automatique des certificats par Let’s Encrypt, puisqu’elle utilise le challenge HTTP-01.

Donc, jusqu’à présent, le renouvellement automatique se faisait sur un autre serveur, et je changeais le certificat manuellement tous les 90 jours.

Dans cet article, je détaille comment j’ai mis en place le renouvellement automatique au travers du challenge DNS-01 de Let’s Encrypt.

Cet article se base sur acme.sh, sa documentation et son wiki (notamment la partie DNS OVH et la partie Synology)

Configurer les autorisations de l’API OVH

Comme je compte utiliser le challenge DNS, je dois créer une autorisation pour accéder et modifier les enregistrements DNS de mon domaine.
J’ai déjà rédigé des articles à ce sujet, notamment Comment utiliser l’API d’OVH avec Postman et Mise en place de certificat wildcard avec Letsencrypt et OVH.

Sinon, le lien est ci-dessous.

et tu obtiens ensuite ton Application Key, ton Application Secret et ta Consumer Key

Créer un nouvel utilisateur sur Synology DSM

Cette étape est optionnelle. Pour exécuter le script et l’isoler de mon utilisateur personnel ou de l’utilisateur admin, je crée un nouvel utilisateur sur l’interface Synology DSM.

Cet utilisateur doit avoir les droits Admin.

N’oubliez pas d’adapter les commandes suivantes avec le nom de votre utilisateur.

Installer acme.sh

À partir de là, j’ai tout ce qu’il me faut pour suivre la procédure d’installation.
Je me connecte en SSH à mon NAS et je me place dans le dossier de mon utilisateur acme.sh créé ci-dessus.

Je récupère et j’installe acme.sh avec

et avant d’oublier, j’active l’auto update

Tester acme.sh avec le DNS challenge et l’api OVH

Maintenant que acme.sh est installé et que j’ai récupéré plus haut mon Application Key, mon Application Secret et ma Consumer Key, je vais pouvoir tester que tout fonctionne bien avant d’aller plus loin (au niveau de la documentation, c’est ici).

(bien sur tu remplaces avec tes valeurs) et c’est un succès

Tester acme.sh avec le hook Synology

Ok, la génération des certificats fonctionne, maintenant comment les appliquer automatiquement à mon NAS Synology (la documentation est ici).

Après quelques tâtonnements,

dans mon cas, j’ai d’abord eu l’erreur:

J’avais déjà un certificat existant. Je souhaite donc le remplacer. C’est pour cette raison que j’utilise SYNO_CERTIFICATE="test", test étant la « description » de mon certificat.

Automatiser le renouvellement du certificat

Je peux manuellement renouveler le certificat auprès de Let’s Encrypt et ensuite l’appliquer à DSM. Il ne reste plus qu’à automatiser le tout.

Il se trouve qu’acme.sh utilise lors de son exécution le fichier /var/services/homes/acme.sh/.acme.sh/account.conf.

Il contient déjà les informations concernant le renouvellement du certificat à l’aide de l’API OVH. J’en profite pour ajouter les informations concernant le déploiement du certificat sur le NAS Synology. Mon fichier ressemble à ceci :

Il suffit ensuite de définir une tâche planifiée sur DSM. Pour cela, on ouvre le panneau de configuration > Planificateur de tâches.

et on crée une nouvelle tâche, à exécuter dans mon cas avec mon utilisateur acme.sh.

que je vais exécuter tous les dimanches.

et pour le script, je mets les deux commandes testées ci-dessus : une pour le renouvellement et une pour le déploiement.

Pour l’instant j’ai mis --debug 3 pour vérifier l’exécution du script. Je l’ai ensuite retiré après avoir vérifié que tout fonctionnait.

Et justement, pour vérifier, j’active l’enregistrement des résultats de sortie (il semblerait que je ne puisse choisir qu’un dossier partagé, dans mon cas temp).

Et j’exécute manuellement la tâche.

J’ai bien les logs d’exécution.

pour le renouvellement, j’ai bien:

et pour le déploiement sur le NAS Synology, j’ai bien :

Donc je crois que je peux dire que tout est en place!!

Voilà ! Si tu es arrivé jusqu’ici, j’espère que cet article t’a été utile ! N’hésite pas à me faire un retour s’il t’a aidé ou s’il y a une correction à apporter.

En attendant je te dis à bientôt pour de nouvelles aventures!!

Partagez l'article:
FacebookTwitterEmailLinkedIn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.