Partie 1 – Sécurisation de NodeRed et Mosquitto MQTT avec Domoticz et ESP-Easy

Sécurisation de Node-Red

On commence par installer node-red-admin :

npm install -g node-red-admin

Ensuite on génère un mot de passe pour notre compte admin :

# node-red-admin hash-pw
Password: <SAISIR LE MOT DE PASSE>
$2b$08$DRs0VjaIJ3hm05cBE.YLUOjjRkEI95HhKs.Kx3MQ2bTdtPdhOf.eC

Editer ensuite le fichier de configuration de node-red présent dans ~/.node-red/settings.js

Décommenter les lignes suivantes et insérer le mot de passe hashé obtenu précédemment :

adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2b$08$DRs0VjaIJ3hm05cBE.YLUOjjRkEI95HhKs.Kx3MQ2bTdtPdhOf.eC",
permissions: "*"
}]
},

Redémarrer node-red :

service node-red restart

Maintenant, vous pouvez vous connecter à Node-Red avec votre compte “admin”.

Sécurisation de Mosquitto MQTT avec Domoticz et ESP-Easy

L’idée ici est d’utiliser deux topics différents, un pour Domoticz et un pour les objets connectés (type ESP Easy), afin qu’ils n’aient pas accès directement à tous les périphériques de Domoticz. Node-Red servira à faire la liaison entre les deux.

Domoticz utilise les topics domoticz/in et domoticz/out. Dans la même logique, on va utiliser un topic espeasy/in et espeasy/out pour les périphériques sous ESP-Easy.

Etape 1 – Création de comptes utilisateurs pour Domoticz et ESP-Easy

Par défaut sous Ubuntu, mosquitto est installé sous /etc/mosquitto

Création d’un fichier de mot de passe et des deux comptes domoticz et espeasy :

mosquitto_passwd -c mosquitto_pwd.txt domoticz
mosquitto_passwd mosquitto_pwd.txt espeasy

On édite ensuite le fichier mosquitto.conf pour ajouter les deux lignes suivantes :

allow_anonymous false
password_file /etc/mosquitto/mosquitto_pwd.txt

Etape 2 – Attribution des droits aux utilisateurs

On crée un nouveau fichier acl.conf qui contiendra :

user domoticz
topic readwrite domoticz/#

user espeasy
topic readwrite espeasy/#

On édite ensuite le fichier mosquitto.conf pour ajouter la ligne suivantes :

acl_file /etc/mosquitto/acl.conf

Redémarrer mosquitto :

service mosquitto restart

Modification de Domoticz

Il est maintenant nécessaire d’indiquer à Domoticz de se connecter avec une authentification au broker Mosquitto.

Dans Configuration / Matériel, saisir le login et mot de passe de votre compte Mosquitto domoticz.

Suite : Configuration ESP Easy avec MQTT (NodeRed et Mosquitto)