IoT Edge för Linux på Windows-säkerhet
Gäller för: IoT Edge 1.4
Viktigt!
Azure IoT Edge 1.5 LTS och IoT Edge 1.4 stöds. IoT Edge 1.4 LTS når slutet av tjänsten den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
Azure IoT Edge för Linux i Windows drar nytta av alla säkerhetserbjudanden från att köras på en Windows-klient-/servervärd och ser till att alla extra komponenter behåller samma säkerhetslokal. Den här artikeln innehåller information om de olika säkerhetslokaler som är aktiverade som standard, och några av de valfria lokalerna som användaren kan aktivera.
Säkerhet för virtuella datorer
Den IoT Edge för Linux-kuraterade virtuella datorn (EFLOW) baseras på Microsoft CBL-Mariner. CBL-Mariner är en intern Linux-distribution för Microsofts molninfrastruktur och edge-produkter och -tjänster. CBL-Mariner är utformat för att tillhandahålla en konsekvent plattform för dessa enheter och tjänster och förbättrar Microsofts möjlighet att hålla sig uppdaterad om Linux-uppdateringar. Mer information finns i CBL-Mariner-säkerhet.
Den virtuella EFLOW-datorn bygger på en fyrapunkts omfattande säkerhetsplattform:
- Underhållsuppdateringar
- Skrivskyddat rotfilsystem
- Brandväggslåsning
- DM-Verity
Underhållsuppdateringar
När säkerhetsrisker uppstår gör CBL-Mariner de senaste säkerhetskorrigeringarna och korrigeringarna tillgängliga för service via ELOW-uppdateringar varje månad. Den virtuella datorn har ingen pakethanterare, så det går inte att ladda ned och installera RPM-paket manuellt. Alla uppdateringar av den virtuella datorn installeras med hjälp av EFLOW A/B-uppdateringsmekanismen. Mer information om EFLOW-uppdateringar finns i Uppdatera IoT Edge för Linux i Windows
Skrivskyddat rotfilsystem
Den virtuella EFLOW-datorn består av två huvudpartitioner och data. RootFS-A- eller rootFS-B-partitionerna är utbytbara och en av de två monteras som ett skrivskyddat filsystem på /
, vilket innebär att inga ändringar tillåts på filer som lagras i den här partitionen. Å andra sidan är datapartitionen som monteras under /var
läsbar och skrivbar, vilket gör att användaren kan ändra innehållet i partitionen. Data som lagras på den här partitionen manipuleras inte av uppdateringsprocessen och ändras därför inte mellan uppdateringar.
Eftersom du kan behöva skrivåtkomst till /etc
, /home
, /root
, /var
för specifika användningsfall görs skrivåtkomst för dessa kataloger genom att lägga över dem på vår datapartition specifikt till katalogen /var/.eflow/overlays
. Slutresultatet av detta är att användarna kan skriva vad som helst till de tidigare nämnda katalogerna. Mer information om överlägg finns i överlägg.
Partition | Storlek | beskrivning |
---|---|---|
BootEFIA | 8 MB | Partition A för inbyggd programvara för framtida GRUBless-start |
BootA | 192 MB | Innehåller startladdaren för en partition |
RootFS A | 4 GB | En av två aktiva/passiva partitioner som innehåller rotfilsystemet |
BootEFIB | 8 MB | Partition B för inbyggd programvara för framtida GRUBless-start |
BootB | 192 MB | Innehåller startladdaren för B-partitionen |
RootFS B | 4 GB | En av två aktiva/passiva partitioner som innehåller rotfilsystemet |
Loggas | 1 GB eller 6 GB | Loggar specifik partition monterad under /logs |
Data | 2 GB till 2 TB | Tillståndskänslig partition för lagring av beständiga data mellan uppdateringar. Kan expanderas enligt distributionskonfigurationen |
Kommentar
Partitionslayouten representerar den logiska diskstorleken och anger inte det fysiska utrymme som den virtuella datorn kommer att uppta på värdoperativsystemets disk.
Brandvägg
Som standard använder den virtuella EFLOW-datorn verktyget iptables för brandväggskonfigurationer. Iptables används för att konfigurera, underhålla och inspektera tabellerna för IP-paketfilterregler i Linux-kerneln. Standardimplementeringen tillåter endast inkommande trafik på port 22 (SSH-tjänsten) och blockerar annars trafiken. Du kan kontrollera konfigurationen av iptables med följande steg:
Öppna en upphöjd PowerShell-session
Ansluta till den virtuella EFLOW-datorn
Connect-EflowVm
Visa en lista över alla iptables-regler
sudo iptables -L
Verifierad start
Den virtuella EFLOW-datorn stöder verifierad start via den inkluderade kernelfunktionen device-mapper-verity (dm-verity), vilket ger transparent integritetskontroll av blockenheter. dm-verity hjälper till att förhindra beständiga rootkits som kan hålla fast vid rotprivilegier och kompromettera enheter. Den här funktionen säkerställer att den virtuella datorns basprogramavbildning är densamma och att den inte har ändrats. Den virtuella datorn använder funktionen dm-verity för att kontrollera en specifik blockenhet, filsystemets underliggande lagringsnivå och avgöra om den matchar den förväntade konfigurationen.
Som standard är den här funktionen inaktiverad på den virtuella datorn och kan aktiveras eller inaktiveras. Mer information finns i dm-verity.
Betrodd plattformsmodul (TPM)
TPM-teknik (Trusted Platform Module) är utformad för att tillhandahålla maskinvarubaserade, säkerhetsrelaterade funktioner. Ett TPM-chip är en säker kryptoprocessor som är utformad för att utföra kryptografiska åtgärder. Chipet innehåller flera fysiska säkerhetsmekanismer för att göra det manipuleringsbeständigt, och skadlig programvara kan inte manipulera säkerhetsfunktionerna i TPM.
Den virtuella EFLOW-datorn stöder inte vTPM. Användaren kan dock aktivera/inaktivera funktionen för TPM-genomströmning som gör att den virtuella EFLOW-datorn kan använda Windows-värdoperativsystemets TPM. Detta möjliggör två huvudscenarier:
- Använd TPM-teknik för IoT Edge-enhetsetablering med hjälp av Device Provision Service (DPS). Mer information finns i Skapa och etablera en IoT Edge för Linux på Windows-enheter i stor skala med hjälp av en TPM.
- Skrivskyddad åtkomst till kryptografiska nycklar som lagras i TPM. Mer information finns i Set-EflowVmFeature för att aktivera TPM-genomströmning.
Säker kommunikation mellan värd och virtuell dator
EFLOW tillhandahåller flera sätt att interagera med den virtuella datorn genom att exponera en omfattande PowerShell-modulimplementering. Mer information finns i PowerShell-funktioner för IoT Edge för Linux i Windows. Den här modulen kräver en upphöjd session som ska köras och den signeras med ett Microsoft Corporation-certifikat.
All kommunikation mellan Windows-värdoperativsystemet och den virtuella EFLOW-datorn som krävs av PowerShell-cmdletarna görs med hjälp av en SSH-kanal. Som standard tillåter inte den virtuella datorns SSH-tjänst autentisering via användarnamn och lösenord, och den är begränsad till certifikatautentisering. Certifikatet skapas under EFLOW-distributionsprocessen och är unikt för varje EFLOW-installation. För att förhindra SSH-råstyrkeattacker blockerar den virtuella datorn dessutom en IP-adress om den försöker utföra mer än tre anslutningar per minut till SSH-tjänsten.
I versionen av EFLOW Continuous Release (CR) introducerade vi en ändring i den transportkanal som används för att upprätta SSH-anslutningen. Ursprungligen körs SSH-tjänsten på TCP-port 22, som kan nås av alla externa enheter i samma nätverk med hjälp av en TCP-socket till den specifika porten. Av säkerhetsskäl kör EFLOW CR SSH-tjänsten via Hyper-V-socketar i stället för vanliga TCP-socketar. All kommunikation via Hyper-V-socketar körs mellan Windows-värdoperativsystemet och den virtuella EFLOW-datorn, utan att använda nätverk. Detta begränsar åtkomsten till SSH-tjänsten, vilket begränsar anslutningar till endast Windows-värdoperativsystemet. Mer information finns i Hyper-V-socketar.
Nästa steg
Läs mer om Windows IoT-säkerhetslokal
Håll dig uppdaterad med de senaste IoT Edge för Linux i Windows-uppdateringar.