Activer HTTPS sur votre NAS QNAP (certificat SSL)

Certificate-SSL-https-QNAP

Je dispose maintenant depuis quelques années d’un NAS QNAP TS-412 dont j’avais d’ailleurs présenté les principales caractéristiques à l’époque sur cet article.

Je vous propose de voir ensemble comment paramétrer l’accès web à votre NAS (dans mon cas de marque QNAP) en https et donc d’y associer un véritable certificat SSL signé par une autorité de certification.

Prérequis

Premièrement, vous devez configurer le serveur web de votre NAS (ou tout du moins le portail web d’administration, en fonction de ce que vous voulez faire) pour qu’il accepte les connections sur le port 443 (port utilisé par le protocole https). Si nécessaire, n’oubliez pas non plus d’adapter la configuration de votre routeur ou de votre box Internet s’il y a lieu.

HTTPS-QNAP_1

Sur le portail d’administration d’un QNAP, vous devriez trouver cela dans Paramètres Système, Réglage de base puis Administration du système (dans mon cas, je m’intéresse uniquement au portail d’administration et non un serveur web pour afficher des sites personnels ou autres).

A noter que comme indiqué sur la capture d’écran, je souhaite forcer spécifiquement l’utilisation du HTTPS.

Deuxièmement, vous devez bien sûr investir dans un certificat SSL. Pour cela, vous avez plusieurs options, vous pouvez utiliser ce que l’on appelle un certificat auto-signé. L’avantage de cette première solution est que le certificat est gratuit et que vous trouverez plein d’articles vous détaillant comment créer votre propre certificat auto-signé (via openssl, IIS, …).

Mais aujourd’hui, le but pour moi sera d’utiliser un véritable certificat SSL généré par une autorité de certification. Pour cela, je vous recommande d’utiliser NameCheap.com qui propose des certificats SSL de base pour 9 $ / an. C’est à l’heure actuelle, la meilleure offre que j’ai trouvé (mais libre à vous de l’acheter ailleurs OVH, 1&1 vous avez l’embarras du choix).

Attention, une fois que vous avez acheté le certificat SSL ne soyez pas surpris, NameCheap.com ne vous pose aucune question concernant la configuration et l’association de ce certificat à une URL précise. Ces étapes interviennent après le paiement ! 😉

Génération de la clé privée et du CSR

Avant d’aller configurer notre certificat SSL sur NameCheap.com (ou ailleurs) nous allons générer depuis notre NAS la clé privée (private key) et le CSR (certificate request). Le tout peut se faire en une seule et unique ligne de commande que vous retrouverez ci-dessous et que vous pouvez exécuter dans une fenêtre PuTTy après vous êtes connecté en SSH sur le NAS :


openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

Vous serez alors invité à saisir un certain nombre d’informations (attention à ne pas vous tromper) :

  • Country
  • State (or province)
  • Locality (or city)
  • Organization
  • Organizational Unit (Department)
  • Common Name (the domain name certificate should be issued for)
  • E-mail address
  • Et éventuellement un Challenge Password et/ou un Company Name (facultatif)

Renseignez de véritables informations et surtout ne faîtes pas d’erreur sur le Common Name qui doit correspondre à l’URL à laquelle vous souhaitez accéder en https. Par exemple, si votre URL d’accès est du format : https://monnas.website.com alors vous devrez renseigner monnas.website.com pour ce champs.

HTTPS-QNAP_2

HTTPS-QNAP_3

Si vous avez saisi la commande à l’identique, vous aurez alors obtenus les 2 fichiers suivants à l’issue du processus :

  • Server.key (private key)
  • Server.csr (certificarte request)

HTTPS-QNAP_4

Si vous visualiser le contenu d’un des deux fichiers, ça doit ressembler à plein de chiffres et de lettres… c’est bien parti ! 🙂

Configuration du certificat SSL sur NameCheap.com

Une fois le certificat acheté, identifiez-vous sur votre espace personnel NameCheap.com pour visualiser votre certificat SSL et procéder à sa configuration. Cliquez depuis le Menu sur l’option Manage SSL Certificates.

Sur NameCheap.com, choisissez dans le menu déroulant certificat SSL du type : Apache / OpenSSL.

Vous devrez dans un premier temps copier-coller l’ensemble du fichier serv.csr (certificate request) généré précédemment (sur votre NAS) sur NameCheap.com. Vous recevrez alors par email un code pour procéder à l’activation de votre certificat. Cliquez simplement sur le lien fournit et saisissez le code dans le seul champs disponible sur la page qui s’ouvre.

HTTPS-QNAP_5

Par la suite, vous serez invité à confirmer des informations vous concernant : votre adresse, ville, code postal, adresse email. Là-encore, pas de psychose SPAM, utilisez des informations correctes pour éviter tout problème par la suite.

HTTPS-QNAP_6

Cliquez sur le lien et validez votre code.

HTTPS-QNAP_7

HTTPS-QNAP_8

Retournez sur NameCheap.com, votre certificat SSL est prêt.

Si vous retournez dans votre espace personnel, vous verrez que votre certificat a été correctement créé. Pas d’inquiétude, vous n’aurez rien à télécharger depuis votre espace personnel. Le certificat à proprement parlé va arriver dans votre boîte email au format d’une archive ZIP (d’où l’important de saisir une adresse email valide).

HTTPS-QNAP_9

Selon le type d’utilisation que vous souhaitez faire du certificat SSL, vous recevrez plusieurs fichiers. Concernant notre cas d’utilisation avec le QNAP, nous n’aurons besoin que du dernier fichier Your positiveSSL Certificate. Le fichier .CRT est facile à repérer car dans le cas présent il est nommé avec l’URL que vous avez précédemment défini en Common Name (avec des underscores à la places des points).

HTTPS-QNAP_10

HTTPS-QNAP_11

Je vais donc prendre le fichier qui porte le nom : xxxx_akril_net.crt. Là, soit vous importer l’ensemble du fichier sur le NAS, ou bien vous copier-coller le contenu du fichier sur le portail d’administration du NAS, le résultat est le même.

Pour ce faire, une fois identifié sur votre portail d’administration, rendez-vous dans la section qui se trouve dans Paramètres système, Sécurité et dans l’onglet Clé privée et certificat.

Vous devez alors copier-coller dans le premier champs le contenu du fichier que vous avez reçu par email de NameCheap.com et qui correspond à votre certificat SSL. Et dans le second champ, vous devez copier-coller le contenu de votre private key (le second fichier que nous n’avions pas encore utilisé et que nous avions généré tout au début ; il s’agit du server.key dans notre cas).

Copier-coller l’ensemble des informations (vous pouvez même conserver les balises BEGIN / END CERTIFICATE) dans le portail d’administration du NAS.

HTTPS-QNAP_12

HTTPS-QNAP_13

Cliquez sur Télécharger pour lancer l’import du nouveau certificat et de sa clé privée sur votre NAS.

Et voilà, l’import s’est correctement déroulé. Vous pouvez dès à présent actualiser la page (et si nécessaire vider le cache de votre navigateur) pour vérifier que vous pouvez bien accéder à votre NAS via l’URL en HTTPS et qu’il n’y aura plus d’avertissement concernant la présence d’un certificat non-signé (ou l’absence complète de certificat).

Pour vous en assurer, vous pouvez cliquer sur le cadenas visible dans la plupart des navigateurs, celui-ci est “verrouillé” et ne renvoi aucun alerte.

HTTPS-QNAP_16

Ci-dessous l’aperçu vu de Google Chrome lorsque vous cliquez sur le cadenas pour obtenir des informations sur le certificat. Ci-dessous l’aperçu via Internet Explorer, lorsque vous souhaitez obtenir des détails sur le certificat appliqué à la page que vous visitez.HTTPS-QNAP_17

Dans les deux cas, nous avons bien la confirmation du chiffrement de la connexion.

Bien entendu, la démarche est applicable à d’autres NAS ou d’autres sites, il vous suffit de repérer l’option ou la façon d’importer les différents éléments (server.crt, private.key, …) au sein de votre serveur web.

Il vous manque une précision ou vous avez une question, n’hésitez pas à demander dans les commentaires  ! 🙂

Quelques liens :