Authentification et autorisation
Sécuriser l'accès à l'éditeur
Méthode :
![]()
À l'aide du paragraphe « Editor & Admin API security » de la documentation Node-RED Securing Node-RED, créer un accès administrateur et un accès en lecture seule, ces deux accès devront être authentifiés, le mot de passe devra se conformer à la politique de mots de passe préconisée par la CNIL qui recommande une entropie d'au moins 80.
Remarque : on lancera une console en exécutant le fichier launch_node.bat présent dans le dossier de Node-RED pour lancer les commandes de la documentation Node-RED.
Identifiant | Mot de passe | Permissions |
admin | au choix | toutes |
lambda | au choix | lecture seule |
Vérifier que l'accès en local et à distance est désormais soumis à une authentification.
Faire les captures d'écrans :
de l'invite de commande (ligne de commande + résultat) ;
de la partie modifiée du fichier settings.js.
Q.4 Préciser les caractéristiques de la politique de mot de passe que vous avez retenue.
Sécuriser l'accès au tableau de bord
Méthode :
Faire la même chose (un seul compte administrateur) pour l'accès au tableau de bord cette fois en lisant le paragraphe « HTTP Node security » de la documentation Node-RED Securing Node-RED.
Identifiant | Mot de passe |
admin_ui | même mot de passe que admin |
Le mot de passe devra être de nouveau haché avec la commande que l'on a déjà vue :
node-red admin hash-pw
Vérifier que l'accès en local et à distance est désormais soumis à une authentification.
Faire les captures d'écrans :
de l'invite de commande (ligne de commande + résultat) ;
de la partie modifiée du fichier settings.js.
Q.5 Est-ce que les mots de passe hachés sont identiques pour les comptes admin et admin_ui ? Quel est l'algorithme utilisé pour calculer le mot de passe haché ?
Aller plus loin sur le hachage
Méthode :
Aller sur le site https://bcrypthashgenerator.tool-kit.dev/ qui permet de générer un mot de passe haché avec bcrypt et de déterminer si un mot de passe haché correspond bien à un mot de passe en clair :
Générer plusieurs fois le même mot de passe haché en ligne, qu'observe-t-on concernant le mot de passe haché (longueur, contenu, etc).
Maintenant décocher la case Random salt et entrer le texte MonSelLeMeilleur, puis hacher plusieurs fois le même mot de passe. Qu'observez-vous cette fois concernant le mot de passe haché ?
Q6. Quel rôle joue le sel dans le hachage ? La technique de salage est une technique défensive contre quels types d’attaque (au moins 2) ?
Le comparateur en ligne joue le même rôle que le serveur Node-RED lorsque vous vous authentifiez sur Node-RED :
Lorsque vous voulez vous authentifier sur Node-RED vous rentrez votre identifiant et votre mot de passe en clair, Node-RED vérifie tout d'abord dans son fichier settings.js que l'identifiant en question existe. Si c'est le cas il passe à l'étape 2 sinon il renvoie « Login failed ».
Node-RED génère alors un mot de passe haché avec le mot de passe en clair que l'utilisateur a saisi.
Node-RED compare alors le mot de passe haché avec le mot de passe haché dans le fichier settings.js et qui correspond à l'identifiant. Si les deux hachés sont identiques Node-RED envoie la page demandée sinon il envoie « Login failed ».
Q7. On a vu que Node-RED génère le mot de passe haché à partir du mot de passe en clair lors de l'authentification, mais on a vu aussi que pour générer un mot de passe haché il faut le mot de passe en clair et un sel. Comment selon vous Node-RED fait-il pour connaître le sel qui a été utilisé lors du hachage du mot de passe ? De manière plus générale, expliquer les différentes étapes qui conduisent Node-RED à servir la page demandée lors de l'authentification de l'utilisateur.
Conseil :
Un indice se trouve en bas du simulateur en ligne.
Bilan
Méthode :
Q8. En cybersécurité on distingue 3 notions que sont l'identification, l'authentification et l'autorisation. À partir de l'exemple précédent et de l'article de Kapersky illustrer dans un tableau ces 3 notions, le tableau pourra avoir l'aspect suivant :
Principe de sécurité | Exemple avec Node-RED | Définition | Remarques |
Identification | |||
Authentification | |||
Autorisation |

