Partager via


IoT Edge pour Linux sur la sécurité Windows

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

Important

Azure IoT Edge 1.5 LTS et IoT Edge 1.4 sont des versions prises en charge. IoT Edge 1.4 LTS arrive en fin de service 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 bénéficie de toutes les offres de sécurité associées à l’exécution sur un hôte client/serveur Windows, et garantit que tous les composants supplémentaires conservent les mêmes locaux de sécurité. Cet article fournit des informations sur les différents locaux de sécurité activés par défaut, et certains des locaux facultatifs que l’utilisateur peut activer.

Sécurité de la machine virtuelle

La machine virtuelle organisée IoT Edge pour Linux (EFLOW) est basée sur Microsoft CBL-Mariner. CBL-Mariner est une distribution Linux interne pour l’infrastructure cloud et les produits et services de périphérie de Microsoft. CBL-Mariner est conçue pour fournir une plateforme cohérente pour ces appareils et services et améliore la capacité de Microsoft à rester à jour par rapport aux mises à jour Linux. Pour plus d’informations, consultez Sécurité CBL-Mariner.

La machine virtuelle EFLOW repose sur 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é apparaissent, CBL-Mariner met à disposition les derniers correctifs et correctifs de sécurité en vue d’une mise à jour par le biais des mises à jour mensuelles ELOW. La machine virtuelle n’a pas de gestionnaire de package. Il n’est donc pas possible de télécharger et d’installer manuellement des packages RPM. Toutes les mises à jour de la machine virtuelle sont installées à l’aide du mécanisme de mise à jour EFLOW A/B. Pour plus d’informations sur les mises à jour EFLOW, consultez Mettre à jour IoT Edge pour Linux sur Windows.

Système de fichiers racine en lecture seule

La machine virtuelle EFLOW est constituée de deux partitions principales, rootfs et data. Les partitions rootFS-A ou rootFS-B sont interchangeables, et l’une des deux est montée en tant que système de fichiers en lecture seule à /, ce qui signifie qu’aucune modification n’est autorisée sur les fichiers stockés dans cette partition. En revanche, la partition data montée sous /var est lisible et accessible en écriture, ce qui permet à l’utilisateur de modifier le contenu à l’intérieur de la partition. Les données stockées sur cette partition ne sont pas manipulées par le processus de mise à jour et ne sont donc pas modifiées entre les mises à jour.

Étant donné que vous pouvez avoir besoin d’un accès en écriture à /etc, /home, /root et /var pour des cas d’usage spécifiques, l’accès en écriture pour ces répertoires est obtenu en les superposant sur notre partition de données spécifiquement dans le répertoire /var/.eflow/overlays. Le résultat final est que les utilisateurs peuvent écrire n’importe quoi dans les répertoires mentionnés ci-dessus. Pour plus d’informations sur les superpositions, consultez overlayfs.

Disposition de partition EFLOW CR

Partition Size Description
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 des partitions représente la taille du disque logique et n’indique pas l’espace physique occupé par la machine virtuelle 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. Iptables sert à configurer, à gérer et à inspecter les tables des règles de filtre de paquets IP dans le noyau Linux. L’implémentation par défaut autorise uniquement le trafic entrant sur le port 22 (service SSH) et bloque tout autre trafic. Vous pouvez vérifier la configuration iptables en effectuant les étapes suivantes :

  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 la machine virtuelle est identique et n’a pas été 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 déterminer si elle correspond à sa configuration attendue.

Par défaut, cette fonctionnalité est désactivée sur la machine virtuelle et peut être activée ou désactivée. 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, l’utilisateur peut activer/désactiver la fonctionnalité de relais TPM qui permet à la machine virtuelle EFLOW d’utiliser le module TPM du système d’exploitation hôte Windows. Cela autorise deux scénarios principaux :

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

EFLOW offre plusieurs façons d’interagir avec la machine virtuelle en exposant une riche implémentation de module PowerShell. Pour plus d’informations, consultez Fonctions PowerShell pour IoT Edge pour Linux sur Windows. L’exécution de ce module nécessite une session avec élévation de privilèges, et il est signé à l’aide d’un certificat Microsoft Corporation.

Toutes les communications entre le système d’exploitation hôte Windows et la machine virtuelle EFLOW requise par les applets de commande PowerShell sont effectuées à l’aide d’un canal SSH. Par défaut, le service SSH de la machine virtuelle n’autorise pas l’authentification via le nom d’utilisateur et le mot de passe, et elle est limitée à l’authentification par certificat. Le certificat est créé pendant le processus de déploiement EFLOW, et il est unique pour chaque installation EFLOW. En outre, pour empêcher les attaques par force brute SSH, la machine virtuelle bloque toute adresse IP qui tente d’établir plus de trois connexions par minute au service SSH.

Dans la version EFLOW Continuous Release (CR), nous avons introduit une modification dans le canal de transport utilisé pour établir la connexion SSH. À l’origine, le service SSH s’exécute sur le port TCP 22, accessible par tous les appareils externes du même réseau à l’aide d’un socket TCP vers ce port spécifique. Pour des raisons de sécurité, EFLOW CR exécute le service SSH sur des sockets Hyper-V plutôt que des sockets TCP normaux. Toutes les communications sur les sockets Hyper-V s’exécutent entre le système d’exploitation hôte Windows et la machine virtuelle EFLOW, sans utiliser de mise en réseau. Cela restreint l’accès du service SSH, limitant les connexions uniquement au système d’exploitation hôte Windows. 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.