Les trois raisons qui m’ont poussé à me faire des certificats auto-signés :
• J’ai bénéficié de certificats de Gandi gratuits la première année, et que c’était super sympa mais après un an, ils coutent la peau du cul (environ 100 € par an)
• J’ai écrasé/perdu les certificats qui étaient installé initialement par SYNOLOGY. Il ne me reste plus les certificats de chez Gandi expirés depuis 6 mois. Ça fait moche 🙁
• Je suis le seul à accéder en HTTPS sur mon serveur alors des certificats auto-signés sont amplement suffisant
Préalables :
La génération des clefs de certificats repose sur le protocole RSA. Tous les éléments théoriques sont expliqués de long en large sur le web et évidement sur Wikipédia http://fr.wikipedia.org/wiki/Rivest_Shamir_Adleman.
Par sûreté, j’utilise des clés RSA d’une taille de 2 048 bits, ce qui est considéré comme inviolable à ce jour et est supporté par défaut par Synology.
La création des certificats se fait via le logiciel « openSSL » qui est installé par défaut sur votre NAS Synology.
Les grandes étapes de la création d’un « certificat auto-signé » sont les suivantes :
1. Création d’une clef privée – fichier : server.key
2. Création d’une clef publique – fichier : server.csr
3. Création de la clef privée de l’autorité de certification – fichier : ca.key
4. Création de la clef publique de l’autorité de certification – fichier : ca.crt
5. Certification de votre clef publique par la clef publique de votre autorité de certification – fichier : server.crt
6. Installation sur le Nas de votre clef privée et de votre clef publique certifiée : fichiers : server.key + server.crt
La création des certificats se fait en mode console. Il faut vous connecter à votre NAS Synology soit en Telnet ou mieux en ssh via un outil comme putty. Les certificats seront stockés dans un dossier « certificats » que j’ai créé préalablement sur le nas dans le volume 1.
1 – Création de la clef privée
Tapez la commande suivante en mode console :
openssl genrsa 2048 > server.key
Cette commande vous génère une clef privée RSA de 2048 bits pour votre serveur (server.key). A conserver précieusement, la clef vous sera demandé à la dernière étape par votre Synology.
Cette commande ne génère pas mettre de mot de passe sinon Apache vous le demandera à chaque redémarrage.
2 – Création de la clef publique à certifier
La fichier CSR est un fichier contenant toutes les informations de votre de certificat et est appelé le plus souvent clé publique.
La commande de génération est la suivante :
openssl req -new -key server.key > server.csr
L’attribut « Req » signifie Gestion X.509 « Certificate Signing Request » (CSR).
Exemple d’informations à renseigner :
——————————————-
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:France
Locality Name (eg, city) []:Esse
Organization Name (eg, company) [Internet Widgits Pty Ltd]:brizawen.com
Organizational Unit Name (eg, section) []:Brizawen Inc.
Common Name (eg, YOUR name) []:*.brizawen.com
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
——————————————-
Ne pas rentrer de mot de passe et inutile de renseigner le champ « optional company name ».
Vous devez obtenir le fichier « server.csr ».
3 – Création de la clef privée de l’autorité de certification
Vu que vous n’avez pas nécessaire ni les moyens ni la volonté de faire appel à une autorité reconnue pour certifier les certificats, nous allons nous créer notre propre autorité.
openssl genrsa -des3 2048 > ca.key
Cette clef est protégée par un mot de passe que vous vous devez renseigner (option –des3 ?).
Vous obtenez le fichier « ca.key ».
4 – Création de la clef publique de l’autorité de certification
openssl req -new -x509 -days 365 -key ca.key > ca.crt
Vous devrez renseigner le mot de passe que vous aurez inscrit à l’étape précédente.
Exemple d’informations à renseigner :
————————-
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:France
Locality Name (eg, city) []:Esse
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Brizawen CA
Organizational Unit Name (eg, section) []:Brizawen CA
Common Name (eg, YOUR name) []:Brizawen CA
Email Address []:
————————-
Vous obtenez le fichier ca.crt.
5 – Signature du certificat serveur par le CA (Certificate Autority)
openssl x509 -req -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl
Vous devrez renseigner le mot de passe de votre autorité de certification.
Vous obtenez le fichier server.crt
6 – Installation sur le NAS SYNOLOGY
L’installation des certificats se fait directement via l’interface de votre Nas. Pour cela, allez dans le « Panneau de Configuration » puis « Services Web »
Activer la case « Activer la connexion HTTPS pour les services Web » et cliquez sur le bouton « Importer le certificat ».
– Insérer votre clef privée (fichier server.key) à l’aide du bouton Parcourir.
– Procédez de la même façon pour votre clef publique certifiée (server.crt) et cliquez sur le bouton OK.
Les services Web doivent redémarrer et vos certificats sont en principe opérationnels.
tuto suivi à la lettre sur ds112 dsm dernier en date d’octobre 2012.
lorsque je tente de me connecter au nas en local ou pas internet :
Échec de la connexion sécurisée
Une erreur est survenue pendant une connexion à 192.168.1.10:5001.
Le certificat du pair a une signature invalide.
(Code d’erreur : sec_error_bad_signature)
bref meme histoire qu’ici:
http://www.nas-forum.com/forum/topic/5882-plantage-syno-suite-a-lupload-cle-public-certificat-firm-0722/
Donc semble ne plus marcher sur les dernieres DSM.