Installation d’un certificat auto–signé sur votre Nas Synology

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 »

Installation d'un certificat sur un NAS SYNOLOGY
Installation d'un certificat sur un NAS SYNOLOGY

Activer la case « Activer la connexion HTTPS pour les services Web » et cliquez sur le bouton « Importer le certificat ».

certificat sur un NAS SYNOLOGY
Installation d'un certificat sur un NAS SYNOLOGY

– 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.

1 réflexion au sujet de « Installation d’un certificat auto–signé sur votre Nas Synology »

  1. 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.

Les commentaires sont fermés.