Meilleures pratiques de sécurité pour les solutions IoT
Cette vue d’ensemble présente les concepts clés relatifs à la sécurisation d’une solution Azure IoT classique. Chaque section inclut des liens vers du contenu qui fournit des détails et des conseils supplémentaires.
Le diagramme suivant montre une vue générale des composants d’une solution IoT classique. Cet article est axé sur la sécurité d’une solution IoT.
Vous pouvez diviser la sécurité d’une solution IoT en trois domaines :
Sécurité des appareils : Sécurisez l’appareil IoT durant son déploiement.
Sécurité des connexions : Vérifiez que toutes les données transmises entre l’appareil IoT et les services cloud IoT sont confidentielles et infalsifiables.
Sécurité du cloud : Sécurisez vos données durant leur transit et leur stockage dans le cloud.
L’implémentation des recommandations de cet article vous aidera à respecter les obligations de en matière de sécurité décrites dans le modèle de responsabilité partagée.
Microsoft Defender pour IoT
Microsoft Defender pour IoT peut superviser automatiquement certaines des recommandations fournies dans cet article. Microsoft Defender pour IoT doit être la première ligne de défense pour protéger vos ressources dans Azure. Microsoft Defender pour IoT analyse périodiquement l’état de sécurité de vos ressources Azure pour identifier les failles de sécurité potentielles. Il fournit ensuite des recommandations sur la façon de les corriger. Pour plus d'informations, consultez les rubriques suivantes :
- Améliorer la posture de sécurité avec des recommandations de sécurité.
- Présentation de Microsoft Defender pour IoT pour les organisations.
- Présentation de Microsoft Defender pour IoT pour les fabricants d’appareils.
Sécurité de l'appareil
Concevoir le matériel en fonction des exigences minimales : sélectionnez votre matériel de façon à inclure les fonctionnalités minimales requises pour son fonctionnement, et rien de plus. Par exemple, incluez des ports USB uniquement s’ils sont nécessaires au fonctionnement de l’appareil dans votre solution. Des fonctionnalités supplémentaires peuvent exposer l’appareil à des vecteurs d’attaque indésirables.
Sélectionner du matériel résistant aux falsifications : sélectionnez du matériel intégrant des mécanismes permettant de détecter toute falsification physique telle que l’ouverture du capot ou la suppression d’une partie de l’appareil. Ces signaux de falsification peuvent être inclus dans le flux de données chargé sur le cloud, permettant d’informer les opérateurs de ces événements.
Sélectionner du matériel sécurisé : dans la mesure du possible, choisissez du matériel qui intègre des fonctionnalités de sécurité, telles que le stockage sécurisé et chiffré, et une fonctionnalité de démarrage basée sur un module de plateforme sécurisée (TPM). Ces fonctionnalités renforcent la sécurité des appareils et facilitent la protection de l’infrastructure IoT globale.
Activer les mises à jour sécurisées : les mises à jour du microprogramme durant la durée de vie de l’appareil sont inévitables. Prévoyez des chemins d’accès sécurisés pour les mises à jour et la garantie du chiffrement des versions du microprogramme, afin de sécuriser vos appareils pendant et après les mises à jour.
Respecter une méthodologie de développement de logiciels sécurisés : le développement de logiciels sécurisés nécessite de prendre en compte la sécurité depuis le lancement du projet jusqu’à son implémentation, les tests et le déploiement. Le cycle de développement Microsoft Security Development Lifecycle offre une approche pas à pas de la création de logiciels sécurisés.
Utiliser des kits SDK d’appareil dans la mesure du possible : les kits SDK d’appareil implémentent différentes fonctionnalités de sécurité, telles que le chiffrement et l’authentification, qui vous aident à développer des applications d’appareil robustes et sécurisées. Pour plus d’informations, consultez Kits SDK Azure IoT.
Choisir des logiciels open source avec précaution : les logiciels open source permettent de développer des solutions rapidement. Quand vous choisissez des logiciels open source, tenez compte du niveau d’activité de la communauté vis-à-vis de chaque composant open source. Avec une communauté active, les logiciels bénéficient d’un vaste soutien, et les problèmes sont identifiés et traités. Ce n’est pas nécessairement le cas d’un projet logiciel open source obscur et inactif : les problèmes ne sont probablement pas identifiés.
Déployer le matériel de façon sécurisée : les déploiements IoT risquent de vous faire déployer du matériel dans des lieux non sécurisés, par exemple dans des espaces publics ou des lieux non surveillés. Dans ce cas, veillez à ce que le déploiement matériel soit protégé contre les falsifications dans la mesure du possible. Par exemple, si le matériel a des ports USB, veillez à ce qu’ils soient couverts de manière sécurisée.
Protéger les clés d’authentification : lors du déploiement, chaque appareil requiert des ID et les clés d’authentification associées générées par le service cloud. Protégez physiquement ces clés, même après le déploiement. Un appareil malveillant peut utiliser n’importe quelle clé compromise pour usurper l’identité d’un appareil existant.
Garder le système à jour : vérifiez que les systèmes d’exploitation et tous les pilotes des appareils sont au niveau des dernières versions. Tenir à jour les systèmes d’exploitation permet également de les protéger contre les attaques malveillantes.
Protéger le système contre les activités malveillantes : installez les dernières fonctionnalités de protection antivirus et anti-programme malveillant sur le système d’exploitation de chaque appareil, quand celui-ci le permet.
Effectuer des audits fréquemment : il est essentiel de rechercher les problèmes de sécurité au sein de l’infrastructure IoT pour traiter les incidents de sécurité. La plupart des systèmes d’exploitation offrent une journalisation des événements intégrée. Examinez les journaux fréquemment pour vérifier qu’aucune violation de sécurité n’a été détectée. Un appareil peut envoyer des informations d’audit sous la forme d’un flux de télémétrie au service cloud, où elles peuvent être analysées.
Suivre les meilleures pratiques en matière de sécurité et de déploiement préconisées par le fabricant de l’appareil : si le fabricant de l’appareil fournit des instructions relatives à la sécurité et au déploiement, suivez ces instructions en plus des instructions génériques répertoriées dans cet article.
Utiliser une passerelle de champ pour fournir des services de sécurité aux appareils hérités ou contraints : les appareils hérités et contraints peuvent ne pas avoir la capacité à chiffrer les données, à se connecter à Internet ou à fournir un audit avancé. Dans ce cas, une passerelle de champ moderne et sécurisée peut agréger les données des appareils existants et offrir la sécurité requise pour connecter ces appareils à Internet. Les passerelles de champ peuvent assurer l’authentification sécurisée, la négociation de sessions chiffrées, la réception des commandes du cloud et beaucoup d’autres fonctionnalités de sécurité.
Sécurité de la connexion
Utiliser des certificats X.509 pour authentifier vos appareils auprès d’IoT Hub ou d’IoT Central : IoT Hub et IoT Central prennent en charge l’authentification basée sur des certificats X509 et les jetons de sécurité en tant que méthodes pour qu’un appareil s’authentifie. Si possible, utilisez l’authentification basée sur X509 dans les environnements de production, car elle offre une sécurité accrue. Pour plus d’informations, consultez Authentification d’un appareil auprès d’IoT Hub et Concepts relatifs à l’authentification des appareils dans IoT Central.
Utiliser TLS (Transport Layer Security) 1.2 pour sécuriser les connexions à partir d’appareils : IoT Hub et IoT Central utilisent TLS pour sécuriser les connexions en provenance d’appareils et de services IoT. Trois versions du protocole TLS sont actuellement prises en charge : 1.0, 1.1 et 1.2. TLS 1.0 et 1.1 sont considérés comme hérités. Pour en savoir plus, consultez Authentification et autorisation.
Veiller à avoir un moyen de mettre à jour le certificat racine TLS sur les appareils : les certificats racines TLS ont une longue durée de vie, mais ils peuvent tout de même expirer ou être révoqués. S’il n’existe aucun moyen de mettre à jour le certificat sur l’appareil, il est probable que celui-ci ne puisse pas se connecter ultérieurement à IoT Hub, IoT Central ou tout autre service cloud.
Envisager l’utilisation d’Azure Private Link : Azure Private Link vous permet de connecter vos appareils à un point de terminaison privé sur votre réseau virtuel, ce qui vous permet de bloquer l’accès aux points de terminaison publics de votre hub IoT. Pour en savoir plus, consultez Connectivité d’entrée vers IoT Hub avec Azure Private Link et Sécurité réseau pour IoT Central à l’aide de points de terminaison privés.
Sécurité du cloud
Respecter une méthodologie de développement de logiciels sécurisés : le développement de logiciels sécurisés nécessite de prendre en compte la sécurité depuis le lancement du projet jusqu’à son implémentation, les tests et le déploiement. Le cycle de développement Microsoft Security Development Lifecycle offre une approche pas à pas de la création de logiciels sécurisés.
Choisir des logiciels open source avec précaution : les logiciels open source permettent de développer des solutions rapidement. Quand vous choisissez des logiciels open source, tenez compte du niveau d’activité de la communauté vis-à-vis de chaque composant open source. Avec une communauté active, les logiciels bénéficient d’un vaste soutien, et les problèmes sont identifiés et traités. Ce n’est pas nécessairement le cas d’un projet logiciel open source obscur et inactif : les problèmes ne sont probablement pas identifiés.
Intégrer les composants avec précaution : les failles de sécurité logicielle se situent, pour nombre d’entre elles, à la limite des bibliothèques et des API. Une fonctionnalité qui n’est pas requise pour le déploiement concerné peut quand même rester disponible par le biais d’une couche API. Pour garantir la sécurité globale, vérifiez que toutes les interfaces des composants intégrés sont exemptes de failles de sécurité.
Protéger les informations d’identification cloud : un attaquant peut utiliser les informations d’identification d’authentification cloud que vous utilisez pour configurer et exploiter votre déploiement IoT en vue d’accéder à votre système IoT et de le compromettre. Protégez les informations d’identification en modifiant fréquemment le mot de passe, et ne les utilisez pas sur des machines publiques.
Définir des contrôles d’accès pour votre hub IoT : comprenez et définissez le type d’accès dont chaque composant de votre solution IoT Hub a besoin en fonction des fonctionnalités requises. Il existe deux façons d’accorder des autorisations aux API de service pour qu’elles se connectent à votre IoT Hub : Microsoft Entra ID ou des signatures d’accès partagé. Si possible, utilisez Microsoft Entra ID dans les environnements de production, car il offre une sécurité accrue.
Définir des contrôles d’accès pour votre application IoT Central : comprenez et définissez le type d’accès que vous activez pour votre application IoT Central. Pour plus d'informations, consultez les rubriques suivantes :
Définir des contrôles d’accès pour les services back-end : d’autres services Azure peuvent consommer les données que votre application IoT Hub ou IoT Central ingère à partir de vos appareils. Vous pouvez router les messages de vos appareils vers d’autres services Azure. Comprenez et configurez les autorisations d’accès appropriées pour qu’IoT Hub ou IoT Central se connecte à ces services. Pour plus d'informations, consultez les rubriques suivantes :
- Lire des messages appareil-à-cloud à partir du point de terminaison intégré IoT Hub
- Utiliser le routage des messages IoT Hub pour envoyer des messages appareil-à-cloud à différents points de terminaison
- Exporter des données IoT Central
- Exporter des données IoT Central vers une destination sécurisée sur un Réseau virtuel Azure
Superviser votre solution IoT à partir du cloud : supervisez l’intégrité globale de votre solution IoT à l’aide des métriques IoT Hub dans Azure Monitor ou supervisez l’intégrité de l’application IoT Central.
Configurer des diagnostics: supervisez vos opérations en journalisant les événements dans votre solution, puis en envoyant les journaux de diagnostic à Azure Monitor. Pour plus d’informations, consultez Superviser et diagnostiquer les problèmes dans votre hub IoT.
Étapes suivantes
Pour en savoir plus sur la sécurité IoT, consultez :