https avec Node-RED

Il est temps de configurer Node-RED en https, ce qui permettra de chiffrer les échanges, d'assurer l'intégrité des données et d'authentifier le serveur Node-RED.

Configurer Node-RED en https

Création d'un certificat auto-signé

Le protocole TLS nécessite la demande de signature de certificat (CSR) à une autorité de certification. Pour des raisons pratiques nous ne ferons pas de demande et nous allons créer un certificat auto-signé.

Méthode

Pour créer un certificat auto-signé il faut disposer d'outils logiciels, nous allons utiliser l'outil libre OpenSSL.

Dézipper l'archive suivante : openssl-v3 [zip] dans le dossier dézippé lancé launch.bat qui ouvre une console dans laquelle on va pouvoir taper des lignes de commande pour créer le certificat auto-signé.

Taper la ligne suivante qui permet de générer une paire de clés publique privée RSA[1] de 2048 bits et de stocker cette clé dans le fichier node-key.pem :

1
openssl genrsa -out node-key.pem 2048

Taper la commande dir pour voir si la clé a bien été générée puis taper la commande type node-key.pem pour voir le contenu du fichier node-key.pem.

Il faut maintenant créer le certificat numérique qui contiendra des informations sur l'identité du serveur :

Champ

Valeur

Remarque

Country name [AU]

FR

State or Province

PACA

Locality Name

Toulon

Organisation Name

LycRouv

Organiszation Unit Name

Ciel

Common Name

<adresse_ip>

Remplacer <adresse_ip> par l'adresse de votre poste (ipconfig /all)

Email Address

0831616f@ac-nice.fr

Challenge password [] :

Laisser vide

An optional company name [] :

Laisser vide

Taper la ligne de commande suivante pour créer une demande de certificat numérique (CSR) avec les informations du tableau précédent :

1
openssl req -new -sha256 -key node-key.pem -out node-csr.pem

Il ne reste plus qu'à signer le CSR avec la clé privée afin de créer le certificat au format X509 :

1
openssl x509 -req -in node-csr.pem -signkey node-key.pem -out node-cert.pem

Vérifier les informations de votre certificat puis faire une capture d'écran (commande + résultat sauf la valeur de la signature) :

1
openssl req -in node-csr.pem -noout -text

Paramétrage de Node-RED

Méthode

Copier coller les fichiers node-key.pem et node-cert.pem dans le répertoire de node-RED. Décommenter le bloc suivant et remplacer le nom des fichiers privkey.pem et cert.pem par respectivement node-key.pem et node-cert.pem :

1
//https: {
2
    //  key: require("fs").readFileSync('privkey.pem'),
3
    //  cert: require("fs").readFileSync('cert.pem')
4
    //},

Validation de la configuration https de Node-RED

Méthode

Redémarrer Node-RED puis taper https://localhost:1880 dans la barre d'adresse du navigateur Edge , vous devez obtenir une alerte de sécurité :

Alerte de sécurité https sur Edge

Q.9 Pourquoi a-t-on une alerte de sécurité ? Quelle condition du https n'est pas remplie (intégrité, confidentialité, authentification du serveur) ? Quel est l'intérêt d'avoir mis en place le https pour Node-RED ?

Conseil

En cliquant sur l'icône à gauche de l'url vous pouvez avoir des informations :

  • sur le certificat que le navigateur à demander à Node-RED ;

  • sur la signification de l'alerte affichée.

Dans Edge il est possible d'avoir plus de détails sur les caractéristiques de la connexion en appuyant sur F12 puis en ajoutant l'outil Sécurité à la barre d'activités.

À lire également : https://www.globalsign.com/fr/centre-information-ssl/dangers-certificats-auto-signes.

Méthode

Faire la capture d'écran des informations générales du certificat obtenu par Edge.

Dans Edge cliquer sur le bouton Avancé puis cliquer sur Continuer vers localhost(non sécurisé) pour accéder à Node-RED. Essayer d'accéder au tableau de bord et observez que l'on a le même avertissement de sécurité.

Alerte « Non sécurisé » sous Edge