HowTo : Node Red - Crypter la connexion

Dans l'article NodeRed - configurer la connexion de l'utilisateur il a déjà été souligné qu'il est très important de sécuriser l'accès à votre interface de configuration NodeRed. Surtout si vous accédez à votre configuration NodeRed via Internet, vous devez vous assurer que vous seul y avez vraiment accès.

Outre la mise en place d'un login utilisateur, il est également important et utile de crypter la connexion entre votre navigateur et le serveur NodeRed.

La procédure à suivre est décrite dans l'article suivant.


Consignes de sécurité

Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/

Liens d'affiliation/publicitaires

Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂 


Conditions préalables

Articles utiles :
Pour que vous puissiez configurer une connexion utilisateur, NodeRed doit bien sûr déjà être installé.
Comment préparer un RaspberryPi puis installer NodeRed dessus est décrit dans les articles suivants.

Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPi – La première configuration !
RaspberryPi - Contrôlez le RaspberryPi via SSH

NodeRed – Installer NodeRed sur le RaspberryPi

Matériel requis :
-Non-

Matériel requis :

Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.


Connectez-vous au RaspberryPi via SSH

Pour commencer, vous devez d'abord vous connecter au Rasp Pi avec Putty via SSH. Comment faire cela est dans l'article RaspberryPi - Contrôlez le RaspberryPi via SSH décrites.

Après avoir entré votre nom d'utilisateur et votre mot de passe, vous pouvez entrer les premières commandes.

Créer un dossier pour les certificats

Afin de pouvoir stocker les fichiers de certificat dans un emplacement central, il est recommandé de créer un dossier dans le répertoire NodeRed. Si votre dossier « .node-red » se trouve dans votre répertoire personnel – ce qui devrait être le cas si vous avez installé NodeRed avec le script d'installation – vous pouvez créer un nouveau dossier avec la commande suivante.

mkdir /home/pi/.node-red/certificats

Après avoir exécuté cette commande, un nouveau dossier appelé « certificats » devrait avoir été créé dans votre dossier « .node-red ».


Passer au dossier créé

Pour que les fichiers de certificat à créer soient également enregistrés dans ce dossier nouvellement créé, vous devez maintenant basculer vers celui-ci avec la commande suivante.

cd /home/pi/.node-red/certificats/


Générer des fichiers de certificat

Pour que le cryptage de votre connexion à Node-Red fonctionne, vous devez créer quelques fichiers de certificat. Avec la commande suivante, vous créez un fichier clé.

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
Après avoir entré cette commande, il vous sera demandé quelques détails qui seront entrés dans votre clé. Ici, vous pouvez bien sûr tout remplir correctement - dans la mesure du possible - mais vous n'êtes pas obligé de le faire. Par souci de simplicité, vous pouvez également tout laisser vide ou (comme dans cet exemple) n'entrer que des tirets.

openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt

Cette commande crée un certificat et le signe avec la clé que vous avez créée.

Entrez le chemin d'accès aux fichiers de certificat dans le fichier de configuration NodeRed

Vous devez maintenant indiquer à votre installation NodeRed que la connexion doit être cryptée à l'avenir. Vous devez également spécifier où se trouvent les fichiers de certificat que vous venez de créer.
Ces informations doivent être renseignées dans le fichier de configuration de NodeRed. Pour cela, ouvrez votre fichier de configuration NodeRed avec la commande suivante :

sudo nano /home/pi/.node-red/settings.js

Plusieurs paramètres/valeurs doivent être ajustés dans le fichier de configuration.
Tout d’abord, supprimez les deux barres obliques avant « var fs = requiere(« fs »); ». Cela charge une fonction qui permet à NodeRed d'accéder aux fichiers de certificat.
Utilisez maintenant les touches fléchées pour naviguer jusqu'à la position spécifiée dans le fichier de configuration.
Une fois là-bas, supprimez les barres obliques devant « https : { » et la ligne trois lignes en dessous avec « } ». La suppression des barres obliques active ce bloc fonctionnel et les paramètres qu'il contient.

Pour que ce bloc fonction contienne également les chemins vers vos fichiers de certificats, vous devez encore les spécifier. Pour ce faire, copiez le texte suivant dans le bloc fonction.

clé : fs.readFileSync('/home/pi/.node-red/certificates/key.pem'), certificat : fs.readFileSync('/home/pi/.node-red/certificates/server.crt')
Si vous avez copié les commandes dans le bloc fonctionnel, l'ensemble devrait ressembler à ceci.
Vous pouvez retrouver le dernier changement quelques lignes ci-dessous. Là, vous devez supprimer les deux barres obliques avant « requireHttps: true ». Cela devrait entraîner que vous soyez automatiquement redirigé vers la connexion sécurisée si vous essayez d'accéder à NodeRed via une connexion non sécurisée. ATTENTION : Assurez-vous qu'une virgule est saisie après « requireHttps : true ». Si cela manque, votre installation NodeRed ne démarrera pas correctement.
Une fois que vous avez effectué toutes les modifications, vous pouvez fermer à nouveau le fichier de configuration. Pour ce faire, appuyez sur « CTRL+X »…
...et confirmez la demande avec « Y » et « Enter ».

Redémarrez NodeRed

Pour que les modifications entrées dans le fichier de configuration soient désormais également acceptées, vous devez maintenant redémarrer NodeRed. Cela peut être fait avec la commande suivante.

Redémarrage du nœud de service sudo en rouge


Accédez à la page de configuration de NodeRed

Après avoir redémarré NodeRed, vous verrez que votre installation NodeRed n'est plus accessible sous l'ancienne URL. En effet, vous avez précédemment accédé à votre page de configuration NodeRed via « http:// », mais elle n'est désormais accessible que via « https:// ». Les captures d'écran montrent la voie à suivre avec le navigateur Google Chrome. Cependant, ce chemin est similaire pour les autres navigateurs.

L'accès via l'ancienne URL n'est plus possible.

Pour que vous puissiez désormais accéder à nouveau à votre page de configuration NodeRed, vous devez préfixer l'URL de votre page de configuration NodeRed avec « https:// ».

URL vers la page de configuration précédée de « https:// ».

La plupart des navigateurs avertissent désormais à ce stade que le certificat que vous utilisez pour chiffrer votre connexion est auto-signé et donc non validé par un tiers. C'est en fait un problème sur les sites Web normaux, car cela peut indiquer que la connexion supposée sécurisée n'est en fait pas sécurisée. Dans ce cas, ça va parce que nous venons de créer nous-mêmes le certificat.

Avertissement de sécurité du navigateur (dans ce cas, Google Chrome).

Pour contourner l’avertissement, cliquez sur « Avancé »…

…puis cliquez sur « Continuer vers… ». Vous allez maintenant être redirigé vers la page de configuration habituelle de votre installation NodeRed.

La page de configuration de NodeRed est appelée avec une connexion désormais cryptée.

Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

2 commentaires

  1. Bonjour,
    Nous vous remercions de votre contribution.

    Cet avertissement de sécurité me dérange, ainsi que tous les autres utilisateurs de ma maison. La vérification de la température ambiante est toujours associée à quelques clics.
    Comment puis-je contourner l'avertissement de sécurité du navigateur (lorsque j'ouvre le tableau de bord) ?
    J'utilise Node-Red sur un Raspberry.

    Je vous remercie, et vous adresse mes salutations distinguées

    1. Salut l'éloge,
      volontier. 🙂
      Le problème est que le certificat auto-signé n'est pas accepté par le navigateur. C'est en fait voulu mais bien sûr ennuyeux.
      A ma connaissance, vous avez deux options :
      – Installez le certificat sur chaque appareil. Malheureusement, je n'ai pas d'instructions pour cela, mais je pense également que ce ne serait qu'une option pour Windows. Pour des raisons de sécurité, cela n'est pas possible sur les appareils Android/Apple (pour autant que je sache).
      - Il pourrait y avoir Option 2 possible : Des certificats SSL signés peuvent être créés avec LetsEncrypt. Malheureusement, je n'ai pas non plus d'instructions pour cela. Mais peut-être ce qui suit aide. 🙂
      https://discourse.nodered.org/t/node-red-ssl-using-letsencrypt-certbot/17606
      Cordialement
      Fabien

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.