Aller au contenu

Epok

Membres
  • Compteur de contenus

    4
  • Inscription

  • Dernière visite

À propos de Epok

Epok's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. Bonjour, Ce week-end j'ai changé le certificat de mon synology (DS409+) pour un certificat "officiel" et je me suis dit que ce serait pas mal de partager ma méthode car la fonction du webman ne suffit pas. Ce tuto permet d'utiliser son certificat pour : - la webstation (port 5001) - le filestation (port 7001) - le serveur FTP (ftpes) Prérequis - Mot de passe admin - Accès SSH activé sur le NAS - Un client SSH (comme PuTTY par exemple) - Une clé privée (cryptée ou non) - Un certificat émis par une autorité de confiance (OVH dans mon cas) - Un fichier de certificats intermédiaires de l'autorité de confiance (type chain) Concernant la première partie c'est à vous de trouver tout ça. Concernant la deuxième, dans le cas d'OVH tout vous est expliqué par ce dernier au moment de la création du certificat chez eux, sinon tournez-vous vers un tuto de création de certificats avant de suivre celui-ci Introduction Il faut commencer par ramener sur le NAS les fichiers nécessaires (d'autre méthodes existent mais en voila une simple pour ceux sous windows) : - Créer un dossier partagé ayant pour nom certifs (par exemple) sur le volume 1 (de même). - Lors de la création indiquer que ce dossier est caché dans "Mes emplacements réseaux" (c'est mieux). - Accéder au dossier partagé depuis votre poste : - Ouvrir le poste de travail - Dans la barre d'adresse, renseigner : \\NomduNAS\certifs - Y copier les fichiers (key, certificat, chain) Puis on se connecte au NAS en SSH, pour cela on lance PuTTY et on renseigne les champs suivants : - Host : IP du NAS (de préférence locale, type 192.168.x.x) - Port : 22 - Type : SSH Pas besoin d'autre chose, on appuie sur Open pour lancer la connexion Une fois la fenêtre ouverte le login doit être renseigné. Pour cela indiquer root et non admin. Indiquer ensuite le mot de passe d'admin. A partir d'ici faîtes attention, l'utilisateur root a, pour ainsi dire, accès à toute la machine, il serait dommage d'endommager la machine à cause d'une fausse manip' Vous voila connecté en SSH en tant que root. Installation des certificats Bon les choses sérieuses commencent Avant toute chose, si votre clé privée est cryptée, vous allez avoir besoin de la passer en clair pour que le serveur Apache puisse l'utiliser. Pour cela : cd /volume1/certifs openssl rsa -in ma_cle.key > ma_cle_decrypt.key On va commencer par faire un backup des fichiers à remplacer (inutile car on peut en régénérer comme on le vera à la fin du tuto mais c'est une habitude à prendre !) Pour cela exécuter les commandes suivantes : mv /usr/syno/etc/ssl/ssl.crt/server.crt /usr/syno/etc/ssl/ssl.crt/server.crt.old mv /usr/syno/etc/ssl/ssl.key/server.key /usr/syno/etc/ssl/ssl.key/server.key.old On vient donc de sauvegarder la clé privée et le certificat de base du NAS. Dans le cas où vous avez un fichier de certificats intermédiaires de votre autorité de confiance (type chain), nous allons créer un répertoire qui l'accueillera en respectant l'architecture synology : mkdir /usr/syno/etc/ssl/ssl.chain/ Bon, maintenant nous allons copier nos certificats à leurs emplacement respectifs (ils sont supposés être présents dans le dossier partagé certifs suite à mon introduction) : cp /volume1/certifs/mon_certificat.cert /usr/syno/etc/ssl/ssl.crt/server.crt cp /volume1/certifs/ma_cle_decrypt.key /usr/syno/etc/ssl/ssl.key/server.key cp /volume1/certifs/cert.chain /usr/syno/etc/ssl/ssl.chain/cert.chain Les fichiers sont en place ! Configuration des applications Pour modifier les fichiers de configuration deux méthodes : - Modification directement dans la console grâce au programme vi (utilisateurs moyens/avancés) - Rapatriement des fichiers puis modifications grâce à un éditeur de texte (type Notepad++) Ceux qui préfèrent vi n'ont pas besoin d'explications, je les laisse donc se débrouiller En leur indiquant tout de même les deux fichiers à modifier : /usr/syno/apache/conf/extra/httpd-ssl.conf-sys /usr/syno/etc/httpd-ssl-filestation.conf-sys Pour les autres voila la marche à suivre : Tout d'abord on récupère ces fichiers de configuration cp /usr/syno/apache/conf/extra/httpd-ssl.conf-sys /volume1/certifs cp /usr/syno/etc/httpd-ssl-filestation.conf-sys /volume1/certifs Avant de pouvoir les modifier sous votre explorer d'OS, il faut autoriser la modification de ces derniers : chmod 707 /volume1/certifs/httpd-ssl.conf-sys chmod 707 /volume1/certifs/httpd-ssl-filestation.conf-sys Attention ! Ces modifications permettent à n'importe quel utilisateurs de lire, écrire et executer ces fichiers. Ne faîtes pas cela sur n'importe quel fichier !! --> Vous pouvez maintenant les ouvrir dans votre explorer ( \\NomduNAS\certifs ) ¤ Concernant le fichier httpd-ssl.conf-sys Repérer les lignes suivantes : [...] SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt [...] SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key [...] #SSLCACertificateFile /usr/syno/apache/conf/ssl.crt/ca-bundle.crt Les deux premières correspondent aux fichier que nous avons préalablement "remplacer", aucune modification n'est requise mais sachez qu'elles existent et qu'elles se trouvent içi. La dernière est commenté (la ligne commence par #), le serveur ne les prends donc pas en compte. C'est ce que nous allons changer. De nos trois fichiers, deux sont déjà pris en compte par la configuration : le certificat du serveur ainsi que sa clé (décryptée). OVH fournit en plus un certificat de type chain, donc tout naturellement je l'aurais mis pour l'option SSLCertificateChainFile (entre la clé et le certificat de l'autorité tierce dans le fichier de configuration), mais dans leur exemple de configuration il était utilisé pour l'option SSLCACertificateFile. J'ai testé, ca fonctionne mais si quelqu'un peut m'expliquer la différence entre les deux et pourquoi on met un type chain pour le CA alors qu'une option chain est présente juste au dessus, je suis preneur Bref voici ce que cela devrait vous donner : [...] SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt [...] SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key [...] SSLCACertificateFile /usr/syno/etc/ssl/ssl.chain/cert.chain (remarquez que le # a disparu) Enregistrer le fichier et fermer le. ¤ Concernant le fichier httpd-ssl.conf-sys Reperez les deux lignes suivantes : SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key et rajoutez-y celle-ci : SSLCACertificateFile /usr/syno/etc/ssl/ssl.chain/cert.chain ce qui nous donne : SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key SSLCACertificateFile /usr/syno/etc/ssl/ssl.chain/cert.chain Enregistrer le fichier et fermer le. Vous remarquerez qu'il n'y a aucun fichier de configuration pour le ftp. Et bien, c'est parce que... je n'ai pas pu le trouver ' La solution que j'ai trouvé est donc de garder les anciens noms (nous aurions pu garder les noms originaux de nos certificats et les modifier dans les fichiers de conf) pour que quoi qu'il arrive le serveur FTP aille chercher (au même endroit donc) nos certificats et non ceux de synology. Les fichiers de configuration sont prêts, il ne reste plus qu'à les rapatrier. Pour cela, trois étapes : - Faire un backup des fichiers de la configuration actuelle - Déplacer les nouveaux fichiers de configuration - Rétablir les droits originaux Etape 1: mv /usr/syno/apache/conf/extra/httpd-ssl.conf-sys /usr/syno/apache/conf/extra/httpd-ssl.conf-sys.old mv /usr/syno/etc/httpd-ssl-filestation.conf-sys /usr/syno/etc/httpd-ssl-filestation.conf-sys.old Etape 2: mv /volume1/certifs/httpd-ssl.conf-sys /usr/syno/apache/conf/extra mv /volume1/certifs/httpd-ssl-filestation.conf-sys /usr/syno/etc Etape 3: chmod 700 /usr/syno/apache/conf/extra/httpd-ssl.conf-sys chmod 700 /usr/syno/etc/httpd-ssl-filestation.conf-sys Tout est en place ! Il ne nous reste plus qu'a redémarrer le synology... Finalisation ... ou simplement les applications concernées pour cela, executez les commandes suivantes : /usr/syno/etc/rc.d/S97apache-sys.sh restart /usr/syno/etc/rc.d/S97apache-user.sh restart /usr/syno/etc/rc.d/S99ftpd.sh restart Il est imporant de noter que si vous avez fait une erreur dans votre configuration, c'est à ce moment là que vous le saurez. En effet, en redémarrant, les applications vont de nouveau lire les fichiers de configuration et vous indiquer dans la console la nature des erreurs rencontrées (si il y a erreur ). Dernier point, vous pouvez à tout moment revenir a la configuration initiale en reprenant les fichiers .old que nous avons fait. Par exemple : mv /usr/syno/apache/conf/extra/httpd-ssl.conf-sys.old /usr/syno/apache/conf/extra/httpd-ssl.conf-sys puis en redémarrant les programmes comme indiqué ci-dessus ! La présence du script mkcert.sh est aussi à connaître, en effet il permet de regénerer des certificats auto-signés synology. /usr/syno/etc/ssl/mkcert.sh Voila, les trois services (web manager, file station, et serveur FTP) devraient maintenant utiliser votre propre certificat !
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.