ssl

[Synology] Ajouter une certification SSL de classe 1 gratuite à votre Syno

Cet article a été rédigé il y a 4 années ! Il commence à dater, mais n'est pas forcément obsolète.. Lisez-le en gardant cela en tête !
Bonjour, Vous l’aurez peut-être remarqué, l’organisation du Réseau Gauss-IT.NET a quelque peu changer depuis hier (entre autre l’adresse du blog) ! J’ai profité de l’ajout d’une certification SSL valide pour faire un grand ménage et entre autre mettre à jour mon blog, ainsi que d’autres services dont je vous parlerai plus tard. En effet, cela faisait longtemps que j’envisageais de réorganiser les services et sécuriser encore un peu plus le Réseau. Les services utilisant le protocole HTTPS affichait une mise en garde assez gênante et c’est dorénavant chose réglée. Je vais vous expliquer dans cet article comment j’ai procédé et comment vous pouvez faire pour mettre en place une certification SSL valide de classe 1 et cela GRATUITEMENT ! 🙂 Edit: 2 avril 2015, mise à jour du tutoriel, norme de hachage SHA256

I) Une certification SSL gratuite et valide avec StartSSL

J’utilisais depuis un moment un certificat auto-signé permettant d’accéder à des protocoles sécurisés facilement en mettant une exception sur mon domaine gauss-it.net. C’était bien au début pour les rares fois où j’utilisais des services sécurisés, mais avec l’arrivée de services en ligne tel que mon idée de mon réseau autohébergeurs, je pense qu’il était temps d’avoir une certification correcte. Surtout que je souhaite faire évoluer le concept et ajouter d’autres services d’administration nécessitant selon moi une connexion sécurisée. Je suis donc tombé sur le site StartSSL.com. Ce qui est génial c’est que cet organisme a autorité à délivrer des certificats SSL, mais le mieux c’est qu’il propose une offre totalement gratuite. Cette offre concerne le domaine principal ainsi qu’un sous-domaine de votre choix, c’est ce qu’on appelle une certification SSL de classe 1 ! Il existe 2 autres classes et la certification de classe 3 vous permet de sécuriser l’ensemble de votre domaine, incluant tous les sous-domaines. Cependant cela coûte aussi beaucoup plus cher !!  

II) Le principe de la certification

La certification permet de confirmer l’identité d’une personne ou d’un responsable dans un service sécurisé. La certification peut s’utiliser pour être authentifié sur un site sans avoir à taper de mot de passe. Mais aussi pour confirmer l’identité d’une personne lorsqu’on envoi un mail par exemple. Nous allons nous intéresser à la certification des services web, toutefois avec StartSSL vous pouvez obtenir aussi un certificat valide et gratuit permettant de sécuriser votre adresse mail ! Par expérience, il ne faut pas se précipiter, car il suffit de s’emmêler les pinceaux et perdre un certificat ou une clef pour que votre pair soit inutilisable.. !  Concernant la certification web, je vais commencer par la fin pour que vous compreniez où je veux vous emmener. La certification SSL se sépare en 3 fichiers dont 2 (il s’agit du .crt et .key) qui sont très importants et qui ne peuvent être recréés sans payer des frais de dossiers sur le site StartSSL. Voici l’ensemble des fichiers que vous devrez posséder à la fin de cet article.
  • Le certificat .crt
  • La clef privée .key
  • Le certificat intermédiaire .pem, assurat la compatibilité du certificat  entre les différents navigateurs !
Si ces informations tombaient entre de mauvaises mains c’est bien entendu votre identité qui pourrait être usurpée ! En effet avec ces 2 documents, on peut prendre l’identité du propriétaire du fichier, faites donc gaffe à ne pas les mettre sur la place publique.. Enfin voici le dernier point avant de passer à la pratique. La clef privée vous est transmise de façon cryptée avec un passphrase dont il faudra vous souvenir ! Il vous faudra alors décrypter cette clef pour obtenir la vrai clef rsa privée .key dont vous allez vous servir pour valider votre certificat. Si vous avez des questions ou un doute n’hésitez pas à m’écrire un commentaire avant de passer à la suite. O on résoudra le problème si vous n’avez pas dépassé la partie .key + .crt dans la démarche 🙂

III) Let’s go ! 🙂

1. Réorganiser vos services

Avant de choisir le sous-domaine que vous allez certifier, posez vous la question de comment vous allez faire pour organiser vos services. Demandez-vous quels services nécessite vraiment une certification et les lesquels n’en nécessite pas. Nous sommes dans une époque où les gens utilisent des sous-domaines pour tout : mail.mondomaine.tld, moncompte.mondomaine.tld, forum.mondomaine.tld, etc.. car cela permet de raccourcir aussi les adresses et en même temps rendre le site peut-être plus convivial. Néanmoins d’autres contraintes s’appliquent ici c’est pourquoi il faut réorganiser vos services . Je vais vous donner un cas concret, car mon domaine gauss-it.net est certifié. Cela vous permettra peut-être de trouver une solution qui vous conviendra mieux ! Dans mon cas, j’ai donc décidé de certifier le sous-domaine www. J’ai donc par conséquent remplacé les sous-domaines suivants :
  • phpMyAdmin.gauss-it.net par www.gauss-it.net/phpmyadmin, 
  • sqlitemanager.gauss-it.net par www.gauss-it.net/sqlitemanager
  • network.gauss-it.net par www.gauss-it.net/network.
Ainsi les différentes parties seront protégées par le certificat www ! 🙂 Je ne vous cache pas que le changement des différents virtualhost n’a pas été facile. J’ai passé beaucoup de temps pour que l’organisation interne ne soit pas trop chamboulée et qu’il y ait une architecture logique ! Et j’aurai pu très bien remplacer mes services par gauss-it.net/XXX au lieu de www.gauss-it.net/XXX et ainsi me permettre d’avoir un sous-domaine autre que www sécurisé.  

2. Création de la certification avec StartSSL

  1. Inscrivez-vous au site StartSSL et confirmez votre adresse.
  2. Vous allez recevoir un certificat vous permettant de vous connecter à votre compte StartSSL sans avoir à passer par un mot de passe !
  3. Rendez-vous dans la section Validations Wizard vous allez pouvoir choisir le type de certification que vous souhaitez générer. (J’étais un peu perdu au débit, alors j’ai commencé par une certification mail. Vous pouvez tout à fait faire pareil pour vérifier votre adresse mail, si vous passez par ssl)
  4. Bon après cela je suis passé à la partie Domain Name Validation, j’ai donc indiqué la racine de mon domaine : gauss-it.net et non un sous-domaine genre www.gauss-it.net. A partir de là vous allez devoir passer par une phase de vérification, permettant à StartSSL de vérifier que vous êtes bien propriétaire du domaine. Parmi la liste des adresses mail proposées où sera envoyé le code de confirmation, j’ai opté pour postmaster@gauss-it.net..
  5. Une fois le domaine validé, rendez-vous dans la section Certificates Wizard et choisissez la cible Web Server SSL/TLS Certificate. Attention, dans la suite cliquez bien sur CONTINUER et n’appuyez pas sur la touche ENTRER de votre clavier, car perso j’ai eu un problème dans la suite. Je suis retourné à l’accueil avec le certificat et sans la clef ! 🙁
  6. Entrer un mot de passe dans le formulaire que l’on vous propose sur cette nouvelle page. Souvenez-vous en bien !! Et choisissez une clef de taille 2048 et crypté avec l’algorithme SHA2 ou SHA256 (Edit : Bientôt le SHA1 sera déprécié à parti de janvier 2017)
  7. Une fois avoir cliqué sur le bouton CONTINUER, vous allez récupérer la clef CRYPTÉ. Ouvrez alors un nouvel onglet et allez sur http://startssl.com dans Tool Box et choisissez Decrypt Private Key. Entrez alors le texte de votre clef cryptée ainsi que le password que vous aviez choisi. Et cliquez sur CONTINUER. La clef crypté apparait alors. Il ne vous reste plus qu’à la sauvegarder sous le nom ca.key au format UTF-8 avec votre éditeur de texte. A partir de là vous possédez la clef privée .key. C’est le seul élément que vous ne pourrez pas recréez donc gardez la bien !
  8. Retournez sur l’onglet précédent et continuez la démarche. Une fois le sous-domaine indiqué pour votre domaine, il ne vous reste plus qu’à sauvegarder le certificat dans un fichier ca.crt au format UTF-8.
  9. Pour finir, vous allez encore avoir besoin du certificat intermédiaire disponible dans l’onglet Tool Box > StartCom CA Certificates. C’est ici que vous allez trouver les certificats publics de StartSSL. Téléchargez alors le fichier Class 1 Intermediate Server CA
  A présent rendez-vous sur l’interface du DSM de votre Syno, et allez dans : Panneau de configuration >> Sécurité >> Certificat. Et importez le fichier .key, puis .crt, puis .pem. Validez, votre service web va redémarrer et voilà le travail !! 🙂  

Conclusion,

Bien entendu, cet article a été mis en pratique sur un serveur Synology, mais il marchera tout à faire sur n’importe quel autre serveur  ! Si vous avez des questions ou un doute, n’hésitez pas à m’écrire un commentaire. Et vous pouvez toujours voter pour cet article (en cliquant sur le bouton vert!) si il vous a servi ou que vous avez aimé ! 🙂

31 réponses à “[Synology] Ajouter une certification SSL de classe 1 gratuite à votre Syno

  1. Merci KZL pour cet excellent tuto. Le meilleur trouvé sur le net ! Je l’ai appliqué à la lettre et tout fonctionne correctement. Une petite précision pour ceux qui sont en DSM5.0, on trouve l’onglet "certificat" dans "Sécurité" du panneau de configuration.
    Voilà, du tout bon 🙂

    1. Merci pour ce commentaire 🙂 Je ne pouvais rêver de mieux !

      Très content que cet article vous ait servi
      Je vais corriger l’emplacement de l’onglet certificat pour les DSM 5.0 dans le texte, merci encore !

  2. C’est moi qui doit dire merci, pour avoir partagé ces connaissances 😉
    Ayant découvert ce blog avec cet article, je vais lire avec plaisir d’autres articles.

  3. Bon, ben j’ai parlé trop vite. La connexion au DSM fonctionne bien avec le certificat StartSSL mais pas celle à Photostation. En clair, lorsque je tape https://sousdomaine.domaine.fr/photo, l’accès n’est pas authentifié par le certificat StartSSL mais celui de Synology donc la fenêtre d’erreur apparait. Une idée KZL ? Merci d’avance

    1. Salut ! Que peux tu me dire à propos du status de la certification quand tu vas dans l’onglet Certificat ?
      Y a-t’il bien marqué que ton domaine est certifié ou y a-t’il écrit certification Synology ?

      Autrement je pense que la réponse est simple si il y a bien marqué que ton domaine est cerfitié.
      La certification StartSSL ne permet de certifier qu’un seul sous-domaine de ton nom de domaine !
      Donc si tu essaies d’accéder à un sous-domaine non certifié cela engendre une erreur !

  4. Merci KZL pour ton aide. J’ai trouvé comment pallier à mon problème. J’ai activé le service WebStation , puis créer un fichier .htaccess dans le répertoire "Web" nouvellement créé par ce service. J’ai créé un fichier texte avec :

    RewriteEngine On
    RewriteRule ^(.*)$ http://sousdomaine.domaine.fr/photo/$1 [P]

    J’ai renommé le fichier texte en .htaccess. Maintenant en tapant https://sousdomaine.domaine.fr , une redirection transparente s’effectue vers le service photostation avec SSL vérifié.
    Voilà. Ce que je voulais faire fonctionne désormais.
    Cela pourra servir à d’autre.

    1. Salut !
      Merci pour cette astuce de redirection.
      Cependant, j’aimerais que le certificat soit aussi prit en compte pour PhotoStation (ne pas avoir le message d’erreur Google), mais sans la redirection :
      J’accede déjà à http://sousdomaine.domaine.fr en https sans problème et sans message de Goggle grace à ce tuto, mais quand j’essais d’aller sur PhotoStation le message de Google revient..

      Auriez-vous un solution ?
      Merci en tout cas et bonne journée !

    2. Bonjour,
      Est-ce que photostation est sur le meme sous-domaine ?
      Le certificat proposé est de classe 1, marche pas pour 2 ss-domaine, attention!

    3. Salut !
      Le PhotoStation s’ouvre effectivement sur un autre sous-domaine; le domaine DNS de Synology : http://monnas.myds.me.
      Le truc c’est que j’ai créer un sous domaine https://monnas.fabiensworks.com qui renvois au DNS et c’est lui qui a le certificat.
      Comment faire pour obliger PhotoStation à utiliser ce sous domaine (vu que https://monnas.fabiensworks.com/photo renvois aussi à PhotoStation) ?

      Surtout que créer un certificat pour les myds.me et autre DNS proposé par Synology ça ne marche pas.

    4. Salut !
      Le PhotoStation s’ouvre effectivement sur un autre sous-domaine; le domaine DNS de Synology : http://monnas.myds.me.
      Le truc c’est que j’ai créer un sous domaine https://monnas.fabiensworks.com qui renvois au DNS et c’est lui qui a le certificat.
      Comment faire pour obliger PhotoStation à utiliser ce sous domaine (vu que https://monnas.fabiensworks.com/photo renvois aussi à PhotoStation) ?

      Surtout que créer un certificat pour les myds.me et autre DNS proposé par Synology ça ne marche pas.
      Merci beaucoup !

    1. Merci à toi 🙂 N’hésite pas à en parler!
      Ou poster des commentaires, j’adore interagir à propos de mes articles pour les améliorer! Je ne demande que ça 🙂

  5. Merci pour le tuto. Je suis avec un Synology, DSM 5.0.
    Mon nom de domaine est du type XXX.synology.me
    Quand je suis chez STARTSSL et que j’essaye de certifier mon nom de domaine, je choisis l’extension .me, et j’indique XXX.synology mais il me répond que je ne peux pas utiliser un sous domaine.
    J’ai vérifié et l’extension synology.me n’est pas dispo dans la liste, donc je suis coincé.
    Que faire ? Merci pour votre réponse !

    1. Salut, la raison est très simple malheureusement, vous ne pouvez certifier qu’un nom de domaine que vous possedez. Or c’est ici la société Synology qui est propriétaire de ce domaine!

  6. Ha… mince.
    Avec mes connaissances limitées, j’essaye tout simplement d’utiliser https sans avoir des messages d’avertissements comme quoi j’utilise un certificat auto-signé. Je pensais m’en sortir avec ce tuto, mais je n’avais pas capté la différence. Une idée pour m’aider ?

    1. Oui je comprends, c’est le but de ce tutoriel. La solution la plus simple c’est d’acheter son nom de domaine ! Sinon tu peux mettre ine exception depuis ton navigateur web mais cela ne resolvera que pour ton ordinateur le probleme !

    1. Moi je cherche uniquement à ne plus recevoir des alertes de sécurités lorsque je veux aller sur mon NAS avec mon browser. Est-ce tout simplement possible sans devoir acheter un nom de domaine ?

    2. Je pense que si tu prends ton navigateur de preference firefox quand t’ouvres la page, et bien ti cliques sur ajouter exception. Et tu verras pas de page d’erreur mais seulement un ptit cadenas cassé.

  7. Bonjour,

    Tout d’abord, merci pour ce tuto qui est très bien réalisé. Après l’avoir suivit à la lettre, lorsque j’aimerais importer le certificat, DSM me dit "certificat illegal". Quel peut être la conséquence ?

    Merci

  8. Après plusieurs recherches infructueuses je n’ai pas compris si cela servait a quelque chose d’utiliser HTTPS si on a pas d’organisme tiers (payant donc) qui peuvent vérifier le certificat. En gros si au final on met une exception dans le navigateur, cela sert il a quelque chose d’avoir fait une connexion HTTPS ?

    1. Bonjour! Y a deux choses à comprendre. La premiere est que HTTPS a son intérêt si tu as besoin de sécuriser une page internet à savoir me resultat d’un formulaire, une connexion ou un payement.
      Ensuite il y a le tier, qui est ine autorité certifiée et qui assure à l’utilisateur que ce que propose le site est vraiment du HTTPS. Cette autorité est soit payante (assez cher d’ailleurs) soit pour le cas de StartSSL gratuite mais limité. Néanmoins c’est déjà pas mal car tu n’as pas besoin de mettre d’exception, qui au passage doit etre mise personnement pour chaque visiteur de ton site.

  9. Merci pour ta reponse. Donc pour moi qui me connecte sur MON nas en externe, je n’ai pas besoin d’organisme de certification car je connais le destinataire (mon nas). HTTPS me garanti que mes identifiant ne circuleront pas de manière transparente sur le net.
    Par contre ce qui m’étonne c’est que je n’ai jamais eu besoin de générer ni de certificat, ni de clef privée ni de clef publique. Donc je ne comprend pas trop comment la connexion peut être securisee….

    1. Encore une fois ce n’est pas le certificat qui sécurise, c’est juste un billet qui dit aux navigateurs que la connexion est sécurisée.
      Maintenant c’est HTTPS qui véritablement sécurisé.
      Ce tutoriel est finalement un juste un moyen de ne pas avoir à mettre d’exception quand on change d’ordinateur par exemple. Je pense qu’un https n’est pas forcement nécessaire pour un service local. C’est mieux, mais le débit de transfert va décroitre.

  10. Salut KZL.
    J’ai suivi ton tuto à la lettre.
    Tout s’est passé niquel.
    Mais maintenant, je n’ai plus aucun accès au syno, même en local :
    message d’erreur.

    Une erreur est survenue pendant une connexion à 192.168.1.**:5001. Le serveur OCSP n’a pas de statut pour le certificat. (Code d’erreur : sec_error_ocsp_unknown_cert)

    C’est un peu la merde, tous mes services sont down.
    Tu sais d’où ça pourrait venir ? C’est un cas d’urgence

    Merci d’avance 😉

    1. Salut! J’ai deja vu ce type d’erreur. Est-ce que tu fonctionnes avec Firefox?
      Dans tous les cas il me semble qu’il s’agit d’une erreur temporaire d’après StartSSL sous certains navigateurs. Essaie de changer de navigateur quelques temps.
      Aussi tente d’accéder via http au port 5000 pour voir si tu peux reprendre la main.
      Autrement je regarde encore ce soir pour plus de détail et je te tiens au courant !
      A+

    2. Salut !
      En effet, après un bon moment de recherche, il semblerait que ça soit Firefox qui soit beaucoup plus strict avec l’OCSP que les autres navigateur et bloqueles certificats SSL de noms de domaines quand il pointent vers une adresse IP différente : la sécurité a un certain prix !

      Cela dit, oui, le DSM était accessible via d’autres navigateurs, donc la panique n’a duré qu’un temps. Je me suis d’ailleurs un peu précipité pour t’écrire !

      J’ai pu lire aussi sur d’autres forums que StartSSL était un peu long à la réaction et que la prise en charge réelle des certificats pouvait aller jusqu’à 24h… la gratuité aussi a un certain prix !

      Merci ! ++

Laisser un commentaire

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