Partage via


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 de périphérie classique. Cet article décrit la sécurité d’une solution IoT basée sur la périphérie :

Diagramme de l’architecture générale d’une solution IoT basée sur la périphérie mettant en évidence la sécurité.

Vous pouvez diviser la sécurité d’une solution IoT basée sur la périphérie dans les trois domaines suivants :

  • Sécurité des ressources : sécurisez l’élément physique ou virtuel de valeur que vous voulez gérer, monitorer et à partir duquel vous souhaitez collecter des données.

  • Sécurité des connexions : vérifiez que toutes les données en transit entre la ressource, la périphérie et les services cloud sont confidentielles et inviolables.

  • Sécurité de la périphérie : sécurisez vos données quand elles transitent à la périphérie et y sont stockées.

  • Sécurité du cloud : Sécurisez vos données durant leur transit et leur stockage dans le cloud.

En règle générale, avec une solution basée sur la périphérie, vous souhaitez sécuriser vos opérations de bout en bout en utilisant des fonctionnalités de sécurité Azure. Opérations Azure IoT offre des fonctionnalités de sécurité intégrées comme la gestion des secrets, la gestion des certificats et les paramètres sécurisés sur un cluster Kubernetes avec Azure Arc. Quand un cluster Kubernetes est connecté à Azure, une connexion sortante à Azure est lancée, avec le protocole SSL standard pour sécuriser les données en transit, et plusieurs autres fonctionnalités de sécurité sont activées, par exemple :

Microsoft Defender pour IoT et pour les conteneurs

Microsoft Defender pour IoT est une solution de sécurité unifiée spécialement conçue pour identifier les appareil de technologie opérationnelle (OT) et IoT, les vulnérabilités et les menaces. Microsoft Defender pour les conteneurs est une solution native cloud qui permet d’améliorer, de surveiller et de maintenir la sécurité de vos ressources conteneurisées (clusters Kubernetes, nœuds Kubernetes, charges de travail Kubernetes, registres de conteneurs, images conteneur et plus encore) et de leurs applications dans des environnements multiclouds et locaux.

Defender pour IoT et Defender pour les conteneurs peuvent monitorer automatiquement certaines des recommandations fournies dans cet article. Defender pour IoT et Defender pour les conteneurs doivent constituer la première ligne de défense pour protéger votre solution basée sur la périphérie. Pour plus d'informations, consultez les rubriques suivantes :

Sécurité des ressources

  • Gestion des secrets : utilisez Azure Key Vault pour stocker et gérer les informations sensibles de la ressource, comme les clés, les mots de passe, les certificats et les secrets. Opérations Azure IoT utilise Azure Key Vault comme solution de coffre managée sur le cloud et utilise l’extension Magasin des secrets Azure Key Vault pour Kubernetes pour synchroniser les secrets à partir du cloud et les stocker à la périphérie en tant que secrets Kubernetes. Pour en savoir plus, consultez Gérer les secrets pour votre déploiement d’Opérations Azure IoT.

  • Gestion des certificats : la gestion des certificats est essentielle pour garantir une communication sécurisée entre les ressources et votre environnement d’exécution à la périphérie. Opérations Azure IoT fournit des outils pour gérer les certificats, notamment l’émission, le renouvellement et la révocation de certificats. Pour en savoir plus, consultez Gestion des certificats pour la communication interne des Opérations Azure IoT.

  • Sélectionner du matériel inviolable pour les ressources : choisissez des ressources matérielles intégrant des mécanismes qui détectent toute violation physique, comme l’ouverture du capot ou la suppression d’une partie de l’appareil. Ces signaux de violation peuvent être inclus dans le flux de données chargé sur le cloud, permettant d’informer les opérateurs de ces événements.

  • Activer les mises à jour sécurisées pour les microprogrammes des ressources : utilisez des services qui activent des mises à jour à distance pour vos ressources. Concevez des ressources avec des chemins sécurisés pour les mises à jour et la garantie du chiffrement des versions du microprogramme, afin de sécuriser vos ressources pendant et après les mises à jour.

  • Déployer des ressources matérielles de manière sécurisée : vérifiez que le déploiement de la ressource matérielle est aussi inviolable que possible, en particulier dans des emplacements non sécurisés comme les espaces publics ou les paramètres régionaux non supervisés. Activez uniquement les fonctionnalités nécessaires pour réduire l’empreinte d’attaque physique, par exemple en couvrant de manière sécurisée les ports USB s’ils ne sont pas nécessaires.

  • 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.

Sécurité de la connexion

  • Utiliser le protocole TLS (Transport Layer Security) pour sécuriser les connexions à partir des ressources : toutes les communications dans Opérations Azure IoT sont chiffrées avec le protocole TLS. Pour fournir une expérience sécurisée par défaut qui réduit l’exposition par inadvertance de votre solution basée sur la périphérie aux attaquants, Opérations Azure IoT est déployé avec une autorité de certification racine et un émetteur par défaut pour les certificats de serveur TLS. Pour un déploiement en production, nous vous recommandons d’utiliser votre propre émetteur d’autorité de certification et une solution PKI d’entreprise.

  • Utiliser des pare-feu d’entreprise ou des proxys pour gérer le trafic sortant : si vous utilisez des pare-feu d’entreprise ou des proxys, ajoutez les points de terminaison Opérations Azure IoT à votre liste d’autorisation.

  • Chiffrer le trafic interne du répartiteur de messages : la garantie de la sécurité des communications internes au sein de votre infrastructure périphérique est importante pour maintenir l’intégrité et la confidentialité des données. Vous devez configurer l’Agent MQTT pour chiffrer le trafic interne et les données en transit entre les pods de front-end et de back-end de l’Agent MQTT. Pour en savoir plus, Configurer le chiffrement du trafic interne et des certificats internes de l’Agent.

  • Configurer le protocole TLS avec la gestion automatique des certificats pour les écouteurs dans votre Agent MQTT : Opérations Azure IoT fournit une gestion automatique des certificats pour les écouteurs de votre Agent MQTT. Cela réduit la surcharge administrative liée à la gestion manuelle des certificats, garantit les renouvellements en temps opportun et permet de maintenir la conformité avec les stratégies de sécurité. Pour en savoir plus, consultez Sécuriser la communication de l’Agent MQTT avec BrokerListener.

  • Configurer une connexion sécurisée au serveur OPC UA : quand vous vous connectez à un serveur OPC UA, vous devez déterminer les serveurs OPC UA auxquels vous faites confiance pour établir une session de manière sécurisée. Pour en savoir plus, consultez Configurer l’infrastructure des certificats OPC UA pour le Connecteur OPC UA.

Sécurité de la périphérie

  • Maintenir à jour l’environnement d’exécution à la périphérie : maintenez votre cluster et votre déploiement Opérations Azure IoT à jour avec les derniers correctifs et les dernières versions mineures pour obtenir tous les correctifs de sécurité et de bogues disponibles. Pour les déploiements en production, désactivez la mise à niveau automatique d’Azure Arc afin d’avoir un contrôle total sur l’application des nouvelles mises à jour à votre cluster. Au lieu de cela, mettez à niveau manuellement les agents si nécessaire.

  • Vérifier l’intégrité des images docker et helm : avant de déployer une image sur votre cluster, vérifiez que l’image est signée par Microsoft. Pour plus d’informations, consultez Valider la signature des images.

  • Toujours utiliser des certificats X.509 ou des jetons de compte de service Kubernetes pour l’authentification avec votre Agent MQTT : un Agent MQTT prend en charge plusieurs méthodes d’authentification pour les clients. Vous pouvez configurer chaque port d’écoute pour qu’il ait ses propres paramètres d’authentification avec une ressource BrokerAuthentication. Pour en savoir plus, consultez Configurer l’authentification de l’Agent MQTT.

  • Fournir le plus petit privilège nécessaire à la ressource de rubrique dans votre Agent MQTT : les stratégies d’autorisation déterminent les actions que les clients peuvent effectuer sur l’Agent, comme la connexion, la publication ou l’abonnement aux rubriques. Configurer l’agent MQTT pour qu’il utilise une ou plusieurs stratégies d’autorisation à l’aide de la ressource BrokerAuthorization. Pour en savoir plus, consultez Configurer l’autorisation de l’Agent MQTT.

  • Configurer des environnements réseau isolés en utilisant la Gestion de réseau en couches Azure IoT (préversion) : la Gestion de réseau en couches Azure IoT (préversion) est un composant qui facilite la connexion entre Azure et les clusters dans des environnements réseau isolés. Dans les scénarios industriels, les réseaux isolés suivent l’architecture du réseau PurdueISA-95/. Pour en savoir plus, consultez Qu’est-ce que la Gestion de réseau en couches Azure IoT (préversion) ?.

Sécurité du cloud

  • Utiliser des identités managées affectées par l’utilisateur pour les connexions cloud : utilisez toujours l’authentification d’identité managée. Si possible, utilisez l’identité managée affectée par l’utilisateur dans les points de terminaison de flux de données pour plus de flexibilité et d’auditabilité.

  • Déployer l’observabilité des ressources et configurer des journaux : l’observabilité offre une visibilité sur chaque couche de votre configuration Opérations Azure IoT. Elle vous donne un aperçu du comportement réel des problèmes, ce qui augmente l’efficacité de l’ingénierie de fiabilité du site. Opérations Azure IoT offre une observabilité via des tableaux de bord Grafana organisés personnalisés hébergés dans Azure. Ces tableaux de bord sont alimentés par le service géré Azure Monitor pour Prometheus et par Container Insights. Déployez des ressources d’observabilité sur votre cluster avant de déployer Opérations Azure IoT.

  • Sécuriser l’accès aux ressources et aux points de terminaison de ressource avec RBAC Azure : les ressources et les points de terminaison de ressource dans Opérations Azure IoT ont des représentations dans le cluster Kubernetes et le portail Azure. Vous pouvez utiliser RBAC Azure pour sécuriser l’accès à ces ressources. Azure RBAC est un système d’autorisation qui vous permet de gérer l’accès aux ressources Azure. Vous pouvez utiliser la fonction de contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour garantir des autorisations à des utilisateurs, groupes et applications dans une certaine étendue. Pour en savoir plus, consultez Sécuriser l’accès aux ressources et aux points de terminaison de ressource.

Étapes suivantes

Pour en savoir plus sur la sécurité IoT, consultez :