Partager via


IoT Edge pour Linux sur la sécurité Windows

S’applique à :Coche IoT Edge 1.5 IoT Edge 1.5

Important

IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS est en fin de vie depuis le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Azure IoT Edge pour Linux sur Windows utilise toutes les fonctionnalités de sécurité d’un client ou d’un hôte serveur Windows et vérifie que tous les composants supplémentaires suivent les mêmes principes de sécurité. Cet article explique les différents principes de sécurité activés par défaut et certains principes facultatifs que vous pouvez activer.

Sécurité de la machine virtuelle

La machine virtuelle sélectionnée IoT Edge pour Linux (EFLOW) est basée sur Microsoft Azure Linux. Azure Linux est une distribution Linux interne pour l’infrastructure cloud, les produits de périphérie et les services de Microsoft. Azure Linux fournit une plateforme cohérente pour ces appareils et services, et permet à Microsoft de rester à jour sur les mises à jour Linux. Pour plus d’informations, consultez sécurité Linux Azure.

La machine virtuelle EFLOW utilise une plateforme de sécurité complète à quatre points :

  1. Mises à jour de maintenance
  2. Système de fichiers racine en lecture seule
  3. Verrouillage du pare-feu
  4. DM-Verity

Mises à jour de maintenance

Lorsque des vulnérabilités de sécurité surviennent, Azure Linux fournit les derniers correctifs et correctifs de sécurité via les mises à jour mensuelles EFLOW. La machine virtuelle n’a pas de gestionnaire de package. Vous ne pouvez donc pas télécharger ou installer manuellement des packages RPM. EFLOW installe toutes les mises à jour de la machine virtuelle à l’aide du mécanisme de mise à jour A/B. Pour plus d’informations sur les mises à jour d’EFLOW, consultez Mettre à jour IoT Edge pour Linux sur Windows.

Système de fichiers racine en lecture seule

La machine virtuelle EFLOW comporte deux partitions principales : rootfs et données. Les partitions rootFS-A ou rootFS-B sont interchangeables et l’une est montée en tant que système de fichiers en lecture seule sur /, vous ne pouvez donc pas modifier les fichiers dans cette partition. La partition de données , montée sous /var, est lisible et accessible en écriture. Vous pouvez donc modifier son contenu. Le processus de mise à jour ne modifie pas les données stockées dans cette partition. Il n’est donc pas modifié entre les mises à jour.

Étant donné que vous pouvez avoir besoin d’un accès en écriture à /etc, /homeet /root/varpour des cas d’usage spécifiques, EFLOW superpose ces répertoires sur la partition de données pour /var/.eflow/overlays fournir un accès en écriture. Cette configuration vous permet d’écrire dans ces répertoires. Pour plus d’informations sur les superpositions, consultez overlayfs.

Disposition de partition EFLOW CR

Séparation Taille Descriptif
BootEFIA 8 Mo Partition du microprogramme A pour démarrage GRUBless ultérieur
BootA 192 Mo Contient le chargeur de démarrage pour la partition A
RootFS A 4 Go Une des deux partitions actives/passives contenant le système de fichiers racine
BootEFIB 8 Mo Partition du microprogramme B pour démarrage GRUBless ultérieur
BootB 192 Mo Contient le chargeur de démarrage pour la partition B
RootFS B 4 Go Une des deux partitions actives/passives contenant le système de fichiers racine
Journal 1 Go ou 6 Go Partition propre aux journaux montée sous /logs
Données De 2 Go à 2 To Partition avec état pour le stockage des données persistantes entre les mises à jour. Extensible en fonction de la configuration du déploiement.

Remarque

La disposition de partition représente la taille du disque logique et n’indique pas l’espace physique que la machine virtuelle utilise sur le disque du système d’exploitation hôte.

Pare-feu

Par défaut, la machine virtuelle EFLOW utilise l’utilitaire iptables pour les configurations de pare-feu. Les iptables configurent, conservent et inspectent les tables des règles de filtre de paquets IP dans le noyau Linux. L'implémentation par défaut autorise le trafic entrant sur le port 22 (service SSH) et bloque l'autre trafic. Vérifiez la configuration des iptables en procédant comme suit :

  1. Ouvrez une session PowerShell avec élévation de privilèges.

  2. Connectez-vous à la machine virtuelle EFLOW.

    Connect-EflowVm
    
  3. Listez toutes les règles iptables.

    sudo iptables -L
    

    iptables EFLOW par défaut

Démarrage vérifié

La machine virtuelle EFLOW prend en charge le démarrage vérifié via la fonctionnalité de noyau incluse device-mapper-verity (dm-verity), qui fournit une vérification transparente de l’intégrité des appareils bloqués. dm-verity permet de lutter contre les rootkits persistants susceptibles de conserver des privilèges racines et de compromettre les appareils. Cette fonctionnalité garantit que l’image logicielle de base de machine virtuelle est identique et n’est pas modifiée. La machine virtuelle utilise la fonctionnalité dm-verity pour vérifier un périphérique de bloc spécifique, la couche de stockage sous-jacente du système de fichiers et voir si elle correspond à sa configuration attendue.

Par défaut, cette fonctionnalité est désactivée sur la machine virtuelle, mais vous pouvez l’activer ou la désactiver. Pour plus d’informations, consultez dm-verity.

Module de plateforme sécurisée (TPM)

La technologie de module de plateforme sécurisée (TPM, Trusted Platform Module) est conçue dans le but d’assurer des fonctions matérielles de sécurité. Une puce TPM est un processeur de chiffrement sécurisé conçu pour effectuer des opérations de chiffrement. La puce comprend plusieurs mécanismes de sécurité physique qui la protègent contre la falsification, et les logiciels malveillants ne peuvent pas falsifier les fonctions de sécurité du TPM.

La machine virtuelle EFLOW ne prend pas en charge vTPM. Toutefois, vous pouvez activer ou désactiver la fonctionnalité de passthrough TPM, qui permet à la machine virtuelle EFLOW d’utiliser le module TPM du système d’exploitation hôte Windows. Cela vous permet d’effectuer deux scénarios principaux :

Sécuriser la communication de l’hôte et de la machine virtuelle

EFLOW vous permet d’interagir avec la machine virtuelle à l’aide d’un module PowerShell. Pour plus d’informations, consultez Fonctions PowerShell pour IoT Edge pour Linux sur Windows. Ce module a besoin d’une session avec élévation de privilèges pour s’exécuter, et il est signé avec un certificat Microsoft Corporation.

Toutes les communications entre le système d’exploitation hôte Windows et la machine virtuelle EFLOW dont les applets de commande PowerShell ont besoin utilisent un canal SSH. Par défaut, le service SSH de machine virtuelle ne vous permet pas de vous authentifier avec un nom d’utilisateur et un mot de passe, et autorise uniquement l’authentification par certificat. Le certificat est créé pendant le processus de déploiement EFLOW et est unique pour chaque installation EFLOW. Pour éviter les attaques par force brute SSH, la machine virtuelle bloque une adresse IP s’il tente plus de trois connexions par minute au service SSH.

Dans la version EFLOW Continuous Release (CR), le canal de transport pour la connexion SSH change. À l’origine, le service SSH s’exécute sur le port TCP 22, que n’importe quel appareil externe sur le même réseau peut accéder à l’aide d’un socket TCP. Pour la sécurité, EFLOW CR exécute le service SSH sur des sockets Hyper-V au lieu de sockets TCP standard. Toutes les communications sur les sockets Hyper-V restent entre le système d’exploitation hôte Windows et la machine virtuelle EFLOW, sans utiliser la mise en réseau. Cette configuration limite l’accès au service SSH en limitant les connexions au système d’exploitation hôte Windows uniquement. Pour plus d’informations, consultez Sockets Hyper-V.

Étapes suivantes

En savoir plus sur les locaux de sécurité IoT Windows

Restez à jour avec les dernières mises à jour IoT Edge pour Linux sur Windows.