dans Hardware, Software

Certification SSL (gratuite) pour votre Syno

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 leblogdekzl.fr. 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 leblogdekzl.fr 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.leblogdekzl.fr par www.leblogdekzl.fr/phpmyadmin, 
  • sqlitemanager.leblogdekzl.fr par www.leblogdekzl.fr/sqlitemanager
  • network.leblogdekzl.fr par www.leblogdekzl.fr/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 leblogdekzl.fr/XXX au lieu de www.leblogdekzl.fr/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 : leblogdekzl.fr et non un sous-domaine genre www.leblogdekzl.fr. 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@leblogdekzl.fr..
  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é ! 🙂

Ecrire un Commentaire

Commenter