Freigeben über


Sicherheit bei IoT Edge für Linux unter Windows

Gilt für:IoT Edge 1.4 Häkchen IoT Edge 1.4

Wichtig

IoT Edge 1.5 LTS und IoT Edge 1.4 sind unterstützte Releases. Das Ende der Lebensdauer von IoT Edge 1.4 LTS wird am 12. November 2024 erreicht. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Azure IoT Edge für Linux unter Windows profitiert von sämtlichen Sicherheitsangeboten, die die Ausführung auf einem Windows-Client/-Serverhost bietet. Außerdem ist sichergestellt, dass auch für alle zusätzlichen Komponenten dieselben Sicherheitsvorgaben gelten. In diesem Artikel finden Sie Informationen zu den verschiedenen Sicherheitseinstellungen, die standardmäßig aktiviert sind, und zu einigen optionalen Einstellungen, die von Benutzer*innen aktiviert werden können.

Sicherheit virtueller Computer

Die kuratierte EFLOW-VM (IoT Edge für Linux) basiert auf Microsoft CBL-Mariner. CBL-Mariner ist eine interne Linux-Distribution für die Cloudinfrastruktur und die Edgeprodukte und -dienste von Microsoft. CBL-Mariner ist als konsistente Plattform für diese Geräte und Dienste konzipiert und soll die Möglichkeiten von Microsoft verbessern, bei Linux-Updates aktuell zu bleiben. Weitere Informationen finden Sie unter CBL-Mariner: Sicherheit.

Die EFLOW-VM basiert auf einer vier Punkte umfassenden Sicherheitsplattform:

  1. Wartungsaktualisierungen
  2. Schreibgeschütztes Stammdateisystem
  3. Firewallsperrung
  4. DM-Verity

Wartungsaktualisierungen

Wenn Sicherheitsrisiken auftreten, stellt CBL-Mariner die neuesten Sicherheitspatches und Fixes bereit, die über monatliche EFLOW-Updates bereitgestellt werden. Die VM verfügt nicht über einen Paket-Manager, daher ist es nicht möglich, RPM-Pakete manuell herunterzuladen und zu installieren. Alle Updates auf der VM werden mithilfe des EFLOW-A/B-Updatemechanismus installiert. Weitere Informationen zu EFLOW-Updates finden Sie unter Aktualisieren von IoT Edge für Linux unter Windows.

Schreibgeschütztes Stammdateisystem

Die EFLOW-VM besteht aus zwei Hauptpartitionen rootfs und data. Die Partitionen „rootFS-A“ und „rootFS-B“ sind austauschbar. Eine der beiden wird als schreibgeschütztes Dateisystem unter / eingebunden, sodass keine Änderungen an Dateien zulässig sind, die in dieser Partition gespeichert sind. Die Partition data wird hingegen unter /var eingebunden und ist lesbar und schreibbar, sodass Benutzer*innen den Inhalt innerhalb der Partition ändern können. Die auf dieser Partition gespeicherten Daten werden vom Updateprozess nicht geändert und bleiben daher zwischen verschiedenen Updates unverändert.

Da Sie möglicherweise Schreibzugriff auf /etc, /home, /root und /var für bestimmte Anwendungsfälle benötigen, wird der Schreibzugriff auf diese Verzeichnisse ermöglicht, indem sie auf die Partition „data“ überlagert werden, speziell auf das Verzeichnis /var/.eflow/overlays. Im Endergebnis können Benutzer*innen so ohne Einschränkungen in den genannten Verzeichnisse schreiben. Weitere Informationen zu Überlagerungen finden Sie unter overlayfs.

EFLOW CR-Partitionslayout

Partition Size Beschreibung
BootEFIA 8 MB Firmwarepartition A für den zukünftigen GRUBless-Start
BootA 192 MB Enthält den Bootloader für Partition A
RootFS A 4 GB Eine von zwei Aktiv/Passiv-Partitionen mit dem Stammdateisystem
BootEFIB 8 MB Firmwarepartition B für den zukünftigen GRUBless-Start
BootB 192 MB Enthält den Bootloader für Partition B
RootFS B 4 GB Eine von zwei Aktiv/Passiv-Partitionen mit dem Stammdateisystem
Protokoll 1 GB oder 6 GB Protokolliert bestimmte Partition, eingebunden unter „/logs“
Daten 2 GB bis 2 TB Zustandsbehaftete Partition zum Speichern persistenter Daten über Updates hinweg. Erweiterbar gemäß der Bereitstellungskonfiguration

Hinweis

Das Partitionslayout stellt die logische Datenträgergröße dar, aber nicht den physischen Speicherplatz, den die VM auf dem Datenträger mit dem Hostbetriebssystem belegt.

Firewall

Standardmäßig verwendet die EFLOW-VM das Hilfsprogramm iptables für Firewallkonfigurationen. iptables wird für das Einrichten, Verwalten und Untersuchen von Tabellen mit IP-Paketfilterregeln im Linux-Kernel verwendet. Die Standardimplementierung erlaubt nur eingehenden Datenverkehr an Port 22 (SSH-Dienst) und blockiert jeden anderen Datenverkehr. Sie können die iptables-Konfiguration mit den folgenden Schritten überprüfen:

  1. Öffnen Sie eine PowerShell-Sitzung mit erhöhten Rechten.

  2. Stellen Sie eine Verbindung mit der EFLOW-VM her.

    Connect-EflowVm
    
  3. Listen Sie alle iptables-Regeln auf.

    sudo iptables -L
    

    EFLOW iptables-Standard

Verifizierter Start

Die EFLOW-VM unterstützt den verifizierten Start über das enthaltene Kernelfeature device-mapper-verity (dm-verity), das eine transparente Integritätsprüfung von Blockgeräten ermöglicht. dm-verity hilft, persistente Rootkits zu verhindern, die root-Berechtigungen beibehalten und Geräte kompromittieren können. Mit diesem Feature wird sichergestellt, dass das Basissoftwareimage der VM identisch ist und nicht geändert wurde. Die VM überprüft mit dem Feature dm-verity bestimmte Blockgeräte und die zugrunde liegende Speicherebene des Dateisystems und ermittelt, ob sie der erwarteten Konfiguration entsprechen.

Standardmäßig ist dieses Feature auf der VM deaktiviert und kann nicht aktiviert oder deaktiviert werden. Weitere Informationen finden Sie unter dm-verity.

TPM (Trusted Platform Module)

Die TPM-Technologie stellt hardwarebasierte, sicherheitsbezogene Funktionen bereit. Ein TPM-Chip ist ein sicherer Krypto-Prozessor, der für die Ausführung kryptografischer Vorgänge ausgelegt ist. Der Chip umfasst mehrere physische Sicherheitsmechanismen, die ihn manipulationssicher machen, und Schadsoftware ist nicht in der Lage, die TPM-Sicherheitsfunktionen zu manipulieren.

Die EFLOW-VM unterstützt vTPM nicht. Benutzer:innen können jedoch das Feature TPM-Passthrough aktivieren bzw. deaktivieren, das es der EFLOW-VM ermöglicht, das TPM des Windows-Hostbetriebssystems zu nutzen. Dies ermöglicht im Wesentlichen zwei Szenarien:

Schützen der Kommunikation zwischen Host und VM

EFLOW bietet mehrere Möglichkeiten für die Interaktion mit der VM, indem eine umfassende PowerShell-Modulimplementierung verfügbar gemacht wird. Weitere Informationen finden Sie unter PowerShell-Funktionen für IoT Edge für Linux unter Windows. Dieses Modul erfordert für die Ausführung eine Sitzung mit erhöhten Rechten und wird mit einem Zertifikat der Microsoft Corporation signiert.

Die gesamte Kommunikation zwischen dem Windows-Hostbetriebssystem und der EFLOW-VM, die für die PowerShell-Cmdlets benötigt wird, erfolgt über einen SSH-Kanal. Standardmäßig lässt der SSH-Dienst der VM keine Authentifizierung über Benutzername und Kennwort zu, sondern ist auf die Authentifizierung über ein Zertifikat beschränkt. Das Zertifikat wird während des EFLOW-Bereitstellungsprozesses erstellt und ist für jede EFLOW-Installation eindeutig. Um Brute-Force-Angriffe per SSH zu verhindern, blockiert die VM außerdem eine IP-Adresse, wenn sie versucht, mehr als drei Verbindungen pro Minute mit dem SSH-Dienst herzustellen.

In der EFLOW CR-Version (Continuous Release) wurde eine Änderung am Transportkanal eingeführt, der zum Herstellen der SSH-Verbindung verwendet wird. Ursprünglich wird der SSH-Dienst an TCP-Port 22 ausgeführt, auf den alle externen Geräte im selben Netzwerk mit einem TCP-Socket zu diesem Port zugreifen können. Aus Sicherheitsgründen führt EFLOW CR den SSH-Dienst über Hyper-V-Sockets anstelle normaler TCP-Sockets aus. Die gesamte Kommunikation über Hyper-V-Sockets wird zwischen dem Windows Hostbetriebssystem und der EFLOW-VM ausgeführt, ohne das Netzwerk zu verwenden. Dadurch wird der Zugriff auf den SSH-Dienst ausschließlich auf das Windows-Hostbetriebssystem beschränkt. Weitere Informationen finden Sie unter Hyper-V-Sockets.

Nächste Schritte

Erfahren Sie mehr über Windows-IoT-Sicherheitsvorgaben.

Bleiben Sie auf dem neuesten Stand mit den neuesten IoT Edge für Linux unter Windows-Updates.