Epok Posté(e) le 23 juin 2010 Partager Posté(e) le 23 juin 2010 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 ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rbot Posté(e) le 5 septembre 2010 Partager Posté(e) le 5 septembre 2010 Bonjour, Parfait ton tuto!! Merci. Bonjour, Ce week-end j'ai chang 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 14 mars 2011 Partager Posté(e) le 14 mars 2011 Bonjour, j'ai tester et a chaque fois je perd l'accès en https et j'ai une erreur lors du restart /usr/syno/etc/rc.d/S97apache-sys.sh restart /usr/syno/etc/rc.d/S97apache-sys.sh: system httpd stopped Start System Apache Server ..... -DSSL -f /usr/syno/apache/conf/httpd.conf-sys Syntax error on line 123 of /usr/syno/apache/conf/extra/httpd-ssl.conf-sys: SSLCACertificateFile: file '/usr/syno/apache/conf/ssl.crt/ca-bundle.crt' does not exist or is empty j'ai essayer de mettre le fichier .cert dans '/usr/syno/apache/conf/ssl.crt/ca-bundle.crt mais rien y fait la page n'est plus accessible j'ai du faire une boulette quelque part ^^ en tous cas sinon super tuto j'ai peut être réussi, si tel est le cas je ferrais part de mon expérience 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 15 mars 2011 Partager Posté(e) le 15 mars 2011 Bonjour, j'ai tester et a chaque fois je perd l'acc 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 15 mars 2011 Partager Posté(e) le 15 mars 2011 v 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 15 mars 2011 Partager Posté(e) le 15 mars 2011 Resolu, le probleme venais d'une toute petit erreur faire attention a la ligne #SSLCACertificateFile /usr/syno/apache/conf/ssl.crt/ca-bundle.crt par sa : SSLCACertificateFile /usr/syno/etc/ssl/ssl.chain/cert.chain c'etait dit dans le tuto mais je suis passé a coté une autre information que je peux communiquer dans le cas d'ovh pour la création de la cle public il y a deux possibilité soit la générer via le site (nom recommander) soit générer la clé public manuellement pour que sa fonctionne ou tous cas chez moi il a fallu que je le le face manuellement voici les commande générer la cle openssl genrsa -des3 -out ca.key 2048 générer la crs openssl req -new -key ca.key -out ca.csr sur cette dernière partie des informations vont vous être demander remplissez les si besoin, ovh vous indique ceux que vous devez renseigner j'espère que mon expérience pourras aider d'autre personne cordialement 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
willoo Posté(e) le 22 avril 2011 Partager Posté(e) le 22 avril 2011 au moment de faire la sauvegarde des ancien certficat du syno j'ai le message suivant alor que je suis bien connecter en admin mv: can't rename '/usr/syno/etc/ssl/ssl.crt/server.crt': Permission denied 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 3 mai 2011 Partager Posté(e) le 3 mai 2011 au moment de faire la sauvegarde des ancien certficat du syno j'ai le message suivant alor que je suis bien connecter en admin mv: can't rename '/usr/syno/etc/ssl/ssl.crt/server.crt': Permission denied Bonjour, la connexion se fait en root, donc a la place de admin vous mettez root et le pass, c'est celui de l'admin je me permet d'ajouter a nouveau un complement a ce merveilleux tuto, tous est nikel a l'execption d'un petit detail les certificat sont completement installer sur diskstation et filestation, cependant ce n'est pas le cas pour webstation, en effet la chain n'est pas préciser pour l'ecoute du port 443 pour remédiez a ce probleme: Édité le fichier /usr/syno/apache/conf/extra/httpd-ssl.conf-user Ajoutez la ligne SSLCACertificateFile /usr/syno/etc/ssl/ssl.chain/cert.chain vous aviez ceci # # Global parameters for virtual host # SSLCipherSuite HIGH:MEDIUM:!RC4:!aNULL SSLProtocol all -SSLv2 SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key ## ## SSL Virtual Host Context ## vous devriez avoir # # Global parameters for virtual host # SSLCipherSuite HIGH:MEDIUM:!RC4:!aNULL SSLProtocol all -SSLv2 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 ## ## SSL Virtual Host Context ## voila Cordialement 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.