Formation PUB420 : Système domotique DIY, 2020 Échanger des données entre boîtes domotiques (MQTT et API)

11.4 La sécurité avec MQTT


Le protocole MQTT peut être très sécuritaire s'il est bien utilisé. Dans le cas contraire, il peut ouvrir la porte à des attaques ou à une violation de la vie privée.

Voici quelques aspects à prendre en considération.

Agent MQTT utilisé

Les clients publieurs et les clients abonnés doivent passer par un agent MQTT pour que les informations transigent du publieur vers le ou les abonnés.

Cet agent peut être installé n'importe où : sur la machine du client publieur, sur la machine du client abonné, sur une machine tierce. Il est même possible d'utiliser un agent de test disponible à l'adresse https://test.mosquitto.org.

Attention si vous utilisez cet agent de test : les informations qui y transigent sont publiques! Il ne faut en aucun cas l'utiliser pour autre chose que des tests.

Visibilité de l'agent MQTT sur le réseau

Si l'agent MQTT est sur le même réseau que le client publieur et le client abonné et qu'ils sont protégés par un pare-feu, il n'y a pas de risque que les données qui transigent soient interceptées en dehors de ce réseau. 

Vous pourriez vous croire en sécurité mais n'oubliez jamais que le pirate peut être une personne de l'intérieur, qui a accès à ce même réseau.

Dans le cas où un port est ouvert pour rendre l'agent disponible sur Internet, les risques d'interception sont encore plus importants.

Dans tous les cas, vous devez prendre les précautions mentionnées dans les sections qui suivent.

Mot de passe pour s'abonner à un canal

Lorsque vous configurez un agent MQTT, vous avez la possibilité de demander un identifiant et un mot de passe.

Ceci est particulièrement important dès que l'agent MQTT est mis en production. Mais pour que ce soit efficace, il faut également que la communication soit encryptée, d'où l'importance du point suivant.

Port utilisé par l'agent MQTT

Par défaut, un agent MQTT écoutera sur le port TCP/IP 1883. Il s'agit d'un port réservé par l'Internet Assigned Numbers Authority (IANA) pour MQTT.

Ce port n'est pas sécuritaire.

Il est préférable d'utiliser le port 8883. Il s'agit d'un autre port réservé par l'IANA pour MQTT mais cette fois, il exige une communication avec SSL/TLS. Vous aurez donc à installer un certificat TLS. Les clients devront utiliser ce certificat pour que les communications fonctionnent.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre