Utiliser un certificat SSL Let’s Encrypt avec Synology DDNS

I. Présentation

Dans ce tutoriel, nous allons voir comment ajouter un certificat Let's Encrypt sur un NAS Synology sous DSM 7 en utilisant le service Synology DDNS ("synology.me"). Dans le cas où votre NAS Synology est accessible de l'extérieur par différents utilisateurs et que vous souhaitez éviter d'avoir l'avertissement de sécurité à cause du certificat Synology par défaut qui n'est pas reconnu, alors Let's Encrypt représente une solution gratuite à cette problématique.

Pour passer au HTTPS avec un certificat SSL sur un NAS Synology, il y a plusieurs possibilités :

  • Let's Encrypt : certificat SSL gratuit
  • Sectigo, Verisign, Digicert, GeoTrust, Gandi, Ionos, etc : certificat SSL payant
  • Autorité de certification d'entreprise (type ADCS) : généré directement par vos soins (un CSR peut-être généré sur DSM)

Pour cette démo, je vais utiliser un Synology DS220+ sous DSM 7, et le certificat Let's Encrypt sera positionné sur un domaine "synology.me" via le système DDNS Synology, et non sur un nom de domaine personnalisé, même si cela reste possible.

Note : je vous rappelle que le système DDNS correspond au "DNS Dynamique", c'est-à-dire que l'enregistrement DNS est mis à jour automatiquement si l'adresse IP associée à l'enregistrement venait à changer. Par exemple, si vous utilisez un DDNS sur votre box ou sur un NAS, et que votre box change d'adresse IP publique, l'enregistrement DDNS se mettra à jour automatiquement pour prendre la nouvelle adresse IP publique. Ainsi, le nom de domaine DDNS continue de fonctionner, car il résout toujours vers la bonne adresse IP publique, même si elle change.

Mon cours gratuit "Comment sécuriser son NAS Synology en entreprise ou à la maison ?" est disponible !

II. Dans quels cas utiliser Let's Encrypt sur un NAS Synology ?

À mon avis, l'installation d'un certificat SSL Let's Encrypt sur un NAS Synology ne doit pas être systématique, d'autant plus si vous envisagez d'utiliser un domaine personnalisé. Vous allez me dire : pourquoi ?

En fait, le certificat SSL Let's Encrypt est valide uniquement 90 jours, donc il doit être renouvelé assez fréquemment en comparaison d'un certificat SSL "classique" qui peut être valide 1 an (ou plus). Donc, même si ce renouvellement est automatique, il n'est pas sans contrainte ! En effet, pour le renouvellement du certificat, le NAS Synology doit être joignable depuis Internet (sur le port 80) par les serveurs correspondants à l'autorité de certification Let's Encrypt sinon l'opération échouera.

Dans le cas où le NAS n'a pas d'intérêt à être joignable sur Internet, je trouve que c'est dommage de l'exposer uniquement pour une histoire de renouvellement de certificat via Let's Encrypt. Cependant, cette contrainte s'applique uniquement dans le cas où vous utilisez un domaine personnalisé (mon-domaine.fr, par exemple) et non avec le DDNS Synology, c'est-à-dire avec une adresse telle que "mon-nas.synology.me" (d'autres extensions sont possibles).

Note - Dans sa documentation, Synology précise : "Pour renouveler un certificat Let's Encrypt d'un domaine personnalisé, veuillez vous assurer que le port 80 a été transmis à votre Synology NAS. Synology DDNS n'a pas cette limitation." Avec "synology.me", pas besoin de mettre en place une ouverture de ports pour renouveler le certificat, ce qui est appréciable !

Prenons deux cas concrets :

  • Un NAS Synology connecté au réseau d'une entreprise dont l'objectif est de stocker les sauvegardes des serveurs : il n'y a pas d'intérêt à mettre en place un certificat SSL Let's Encrypt, d'autant plus que ce NAS n'aura peut-être pas un accès constant à Internet 😉
  • Un NAS Synology utilisé à la maison pour stocker les données de la famille, et qui doit être accessible depuis des ordinateurs, des smartphones, etc... : il peut y avoir un intérêt pour éviter les erreurs de certificat lors de la connexion à DSM et d'autres applications, notamment s'il y a des accès nécessaires en dehors de la maison (sans passer par un VPN)

Pour conclure, on pourrait dire que pour un NAS lié à l'infrastructure IT d'une entreprise, ce n'est pas nécessaire (ou alors un autre type de certificat), mais pour un NAS utilisé par des utilisateurs finaux (ou la famille), cela à tout son sens d'utiliser un certificat SSL (Let's Encrypt ou autre). En fait, cela peut perturber les utilisateurs d'avoir un avertissement lié au certificat, d'autant plus qu'on essaie de les éduquer à faire attention et se méfier de ce type d'alertes donc il vaut mieux rester cohérent.

III. Configuration de Let's Encrypt avec Synology DDNS

A. Choisir le nom Synology DDNS

Le service DDNS de Synology est gratuit et permet de choisir un sous-domaine de "synology.me" (ou d'un autre sous-domaine, car Synology en propose plusieurs), par exemple "fb-caen.synology.me" que je vais utiliser dans ce tutoriel. Tout d'abord, il faut se connecter à l'interface de DSM, ouvrir le "Panneau de configuration", cliquer sur "Accès externe" à gauche (1), puis sur l'onglet "DDNS" (2). Ensuite, il faut cliquer sur le bouton "Ajouter" (3) pour ajouter un nom de domaine DDNS sur son NAS.

Configurer Synology DDNS

Pour remplir ce formulaire, suivez les instructions suivantes :

1 - Fournisseur de service : choisissez le service "Synology" pour utiliser "synology.me" ou un autre domaine (choix dans la liste déroulante en dessous).

2 - Nom d'hôte : indiquez le sous-domaine que vous souhaitez utiliser, en précisant "fb-caen" avec le domaine "synology.me", mon NAS sera accessible via l'adresse "fb-caen.synology.me".

3 - Obtenez un certificat auprès de Let's Encrypt et définissez-le comme certificat par défaut : cochez cette option pour obtenir un certificat SSL Let's Encrypt pour ce nom de domaine.

4 - Activer Hearbeat : cochez cette option pour recevoir une notification en cas de perte de connexion sur votre NAS

Avant de continuer, vous pouvez cliquer sur le bouton "Test de connexion" pour tester la connectivité et vérifier que le test retourne bien "Normal" comme statut. Enfin, cliquez sur "OK".

Synology - Ajouter un DDNS

Ici, un avertissement s'affiche pour vous indiquer que le certificat sera utilisé par défaut sur le NAS. En fait, si vous utilisez le FTPS, c'est-à-dire le FTP sécurisé par un certificat, ce sera ce nouveau certificat qui sera utilisé donc l'accès peut-être perturbé temporairement. Par la suite, nous verrons que l'on peut choisir un certificat différent pour chaque service du DSM afin d'éliminer cette contrainte. Pour continuer, cliquez sur "OK".

Pendant la configuration (enregistrement du nom de domaine et obtention du certificat), patientez... De mon côté, cette opération a duré environ 1 minute, mais cela peut être un peu plus long. Sachez également que le serveur Web va redémarrer à la fin du processus, donc une petite interruption de service est à prévoir.

B. Vérifier l'état DDNS et le certificat SSL

Puisque la configuration est terminée, nous devrions avoir notre certificat SSL Let's Encrypt sur notre NAS ! Afin de le vérifier, ouvrez le "Panneau de configuration", cliquez sur "Sécurité" puis sur l'onglet "Certificat". Comme le montre l'exemple ci-dessous, le certificat pour "fb-caen.synology.me" est bien là et valide pour une durée de trois mois (jusqu'au 12/07/2022). En complément, nous pouvons voir que le certificat est utilisé pour "FTPS, Synology Storage Console Server, VPN Server, etc...", mais c'est personnalisable.

Synology DDNS : comment ajouter un certificat SSL ?

Afin de déterminer quel est le certificat que vous souhaitez utiliser pour chaque service, il suffit de cliquer sur le bouton "Paramètres" de l'onglet "Certificat" pour ensuite choisir le certificat. Pour rappel, le certificat par défaut est "Synology".

Remarque : Si vous utilisez Synology Drive Server, et que vous changez le certificat associé, alors il faudra revalider la connexion sur les clients Synology Drive.

Enfin, avant de passer à la suite, si vous accédez au "Panneau de configuration", puis "Accès externe" et ensuite à "DDNS", vous devez voir votre nom de domaine DDNS avec le statut "Normal". Désormais, nous allons regarder ce qu'il se passe dans le navigateur : le certificat est-il reconnu ?

La réponse est oui ! Donc, pour le vérifier il suffit d'ouvrir un navigateur puis de se connecter à l'adresse "https://fb-caen.synology.me:<port DSM>" et de constater qu'il n'y a plus d'erreur liée au certificat. En complément, on peut voir le cadenas, et si l'on regarde les détails on voit la date de validité du certificat et qui l'a délivré, en l'occurrence ici "Let's Encrypt".

Utiliser un certificat SSL Let's Encrypt avec Synology DDNS

Voilà, félicitations ! Le certificat SSL Let's Encrypt est en place sur le NAS ! Avant de se quitter, j'ai encore quelques informations à partager avec vous...

IV. Synology DDNS : résolution locale et ouverture de ports

Certains d'entre vous ont probablement constaté que je n'ai pas parlé de la nécessité d'effectuer une ouverture de ports sur la Box (routeur) pour que le NAS Synology soit joignable depuis l'extérieur. Même si j'en ai déjà parlé, j'insiste sur le fait qu'avec le DDNS Synology, il n'est pas nécessaire d'exposer son NAS sur Internet pour obtenir un certificat, ce qui est un gros avantage ! En fait, Synology doit jouer le rôle d'intermédiaire avec Let's Encrypt afin de permettre l'obtention du certificat malgré tout.

Néanmoins, si vous mettez en place le DDNS c'est probablement pour vous connecter à distance à votre NAS. Donc, il sera indispensable de créer une règle de redirection de port sur votre box/routeur afin de rediriger les flux vers le NAS. Dans l'exemple ci-dessous, j'utilise le port "14000", car mon DSM est accessible en HTTPS sur le port 14000, et l'adresse IP du NAS est "192.168.1.149". Grâce à cette règle, je peux accéder à mon NAS même sans être à la maison.

Cette ouverture de port sera également une réponse à une problématique : la résolution locale de l'adresse "synology.me" ! Bien que dans ce cas, il n'y ait pas de réponse magique, car cela dépend de votre routeur/box... En effet, dans certains cas l'accès à votre NAS via l'adresse "synology.me" ne fonctionnera pas depuis une machine connectée sur le même réseau que votre NAS.

Ce blocage est lié à un problème de NAT loopback qui ne fonctionne pas sur certaines box ou routeur ! Pour contourner cette limitation, il y a plusieurs solutions :

  • Créer une règle de NAT comme celle ci-dessus pour ouvrir le flux (fonctionne pour l'accès local et l'accès distant) sur votre routeur : la solution dans mon cas
  • Créer une entrée dans votre serveur DNS que vous utilisez sur cette connexion pour associer "fb-caen.synology.me" à l'adresse IP "192.168.1.149"
    • En entreprise, cela s'annonce particulièrement facile s'il y a un serveur DNS local, lié à un Active Directory, par exemple
    • À la maison, vous pouvez monter un serveur DNS local sur le NAS Synology
  • Autoriser le NAT loopback sur votre routeur/box, car certains modèles permettent d'activer la fonctionnalité
  • Si vraiment vous ne parvenez pas à trouver une solution, postez un commentaire sur cet article 🙂

Si vous êtes amateur de matériel Synology, il faut savoir que le NAT loopback fonctionne très bien avec les routeurs Synology. Voilà, j'en ai fini avec mes fameuses informations supplémentaires à partager avec vous ! Pour en savoir plus sur les certificats sur un NAS Synology, et en attendant d'éventuels articles supplémentaires sur le sujet, voici un lien vers la documentation Synology.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 3767 posts and counting.See all posts by florian

One thought on “Utiliser un certificat SSL Let’s Encrypt avec Synology DDNS

  • Il y a peut etre une option pour mettre un cert auto-signe si le serveur est utilise en local

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

 

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