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

Um die Zertifikatsdateien an einem zentralen Ort speichern zu können empfiehlt es sich einen Ordner im NodeRed Verzeichnis zu erstellen. Sofern Euere “.node-red”-Ordner in Eurem home-verzeichnis liegt – was der Fall sein sollte, wenn Ihr NodeRed mit dem Installationsskript installiert habt – könnt ihr einen neuen Ordner mit folgendem Befehl erstellen.

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

Nachdem Ihr diesen Befehl ausgeführt habt sollte ein neuer Ordner namens “certificates” in Eurem “.node-red” Ordner erstellt worden sein.


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.
Als erstes entfernt Ihr die beiden Schrägstriche vor “var fs = requiere(“fs”);”. Dadurch wird eine Funktion geladen, welche es NodeRed ermöglicht auf die Zertifikatsdateien zuzugreifen.
Utilisez maintenant les touches fléchées pour naviguer jusqu'à la position spécifiée dans le fichier de configuration.
Dort angekommen entfernt Ihr wieder die Schrägstriche vor “https: {” und der drei Zeilen tiefer liegenden Zeile mit “},”. Das entfernen der Schrägstriche aktiviert diesen Funktionsblock und die darin enthaltenen Einstellungen.

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.
Die letze Änderung findet Ihr ein paar Zeilen tiefer. Dort müsst Ihr die beiden Schrägstriche vor “requireHttps: true,” entfernen. Dies sollte dazu führen, dass Ihr automatisch auf die sichere Verbindung umgeleitet werdet falls ihr über eine unsichere Verbindung versucht auf NodeRed zuzugreifen. ACHTUNG: Hier unbedingt darauf achten, dass nach dem “requireHttps: true” ein Komma eingetragen ist. Falls dieses fehlt startet euere NodeRed-Installation nicht korrekt.
habt ihr alle Änderungen vorgenommen, könnt ihr die Konfigurationsdatei wieder schließen. Drückt dazu auf “STRG+X”…
…und bestätigt die Nachfrage mit “Y” und “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

Nach dem Ihr NodeRed neugestartet habt werdet ihr sehen, dass eure NodeRed-Installation unter der alten URL nicht mehr erreichbar ist. Dies liegt daran, dass Ihr vorher über “http://” auf eure NodeRed-Konfigurationsseite zugegriffen habt, diese nun aber nur noch unter “https://” erreichbar ist. Die Screenshots zeigen den Weg mit dem browser Google Chrome. Bei anderen Browsern ist dieser Weg aber ähnlich.

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

Damit ihr nun wieder auf Eure NodeRed-Konfigurationsseite zugreifen könnt müsst Ihr der URL zu Eurer NodeRed-Konfigurationsseite ein “https://” voranstellen.

URL zur Konfigurationsseite mit vorangestelltem “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).

Um die Warnung zu umgehen klickt ihr auf “Erweitert”…

…und dann auf “Weiter zu …”. Nun werdet Ihr auf die gewohnte Konfigurationsseite euer NodeRed-Installation weitergeleitet.

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.