Sicurezza di IoT Edge per Linux in Windows
Si applica a: IoT Edge 1.1
Importante
La data di fine del supporto di IoT Edge 1.1 è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.
Azure IoT Edge per Linux in Windows trae vantaggio da tutte le offerte di sicurezza dall'esecuzione in un host client/server Windows e garantisce che tutti i componenti aggiuntivi mantengano la stessa sicurezza locale. Questo articolo fornisce informazioni sulle diverse impostazioni locali di sicurezza abilitate per impostazione predefinita e alcune delle impostazioni locali facoltative che l'utente può abilitare.
Sicurezza delle macchine virtuali
La macchina virtuale IoT Edge per Linux (EFLOW) è basata su Microsoft CBL-Mariner. CBL-Mariner è una distribuzione Linux interna per l'infrastruttura cloud e i servizi perimetrali di Microsoft. CBL-Mariner è progettato per offrire una piattaforma coerente per questi dispositivi e servizi e migliora la capacità di Microsoft di rimanere aggiornati sugli aggiornamenti di Linux. Per altre informazioni, vedere Sicurezza di CBL-Mariner.
La macchina virtuale EFLOW è basata su una piattaforma di sicurezza completa a tre punti:
- Aggiornamenti di manutenzione
- File system radice di sola lettura
- Blocco del firewall
Aggiornamenti di manutenzione
Quando si verificano vulnerabilità di sicurezza, CBL-Mariner rende disponibili le patch di sicurezza e le correzioni più recenti per essere gestite tramite gli aggiornamenti mensili ELOW. La macchina virtuale non dispone di gestione pacchetti, quindi non è possibile scaricare e installare manualmente i pacchetti RPM. Tutti gli aggiornamenti alla macchina virtuale vengono installati usando il meccanismo di aggiornamento EFLOW A/B. Per altre informazioni sugli aggiornamenti di EFLOW, vedere Aggiornare IoT Edge per Linux in Windows
File system radice di sola lettura
La macchina virtuale EFLOW è costituita da due partizioni principali rootfs e dati. Le partizioni rootFS-A o rootFS-B sono intercambiabili e una delle due viene montata come file system di sola lettura in /
, il che significa che non sono consentite modifiche nei file archiviati all'interno di questa partizione. D'altra parte, la partizione di dati montata in /var
è leggibile e scrivibile, consentendo all'utente di modificare il contenuto all'interno della partizione. I dati archiviati in questa partizione non vengono modificati dal processo di aggiornamento e pertanto non verranno modificati tra gli aggiornamenti.
Poiché potrebbe essere necessario l'accesso in scrittura a /etc
, /home
, /root
, /var
per casi d'uso specifici, l'accesso in scrittura per queste directory viene eseguito sovrapponendoli alla partizione di dati specificamente alla directory /var/.eflow/overlays
. Il risultato finale è che gli utenti possono scrivere qualsiasi elemento nelle directory indicate in precedenza. Per altre informazioni sulle sovrimpressioni, vedere overlayfs.
Partizione | Dimensione | Descrizione |
---|---|---|
Avvio | 192 MB | Contiene il bootloader |
RootFS A | 2 GB | Una delle due partizioni attive/passive che contengono il file system radice |
RootFS B | 2 GB | Una delle due partizioni attive/passive che contengono il file system radice |
AB Update | 2 GB | Contiene i file di aggiornamento. Verificare che nella macchina virtuale sia sempre disponibile spazio sufficiente per gli aggiornamenti |
Dati | Da 2 GB a 2 TB | Partizione con stato per l'archiviazione di dati persistenti tra gli aggiornamenti. Espandibile in base alla configurazione della distribuzione |
Nota
Il layout della partizione rappresenta le dimensioni del disco logico e non indica lo spazio fisico che la macchina virtuale occupa sul disco del sistema operativo host.
Firewall
Per impostazione predefinita, la macchina virtuale EFLOW usa l'utilità iptables per le configurazioni del firewall. Iptables viene usato per configurare, gestire ed esaminare le tabelle delle regole di filtro dei pacchetti IP nel kernel Linux. L'implementazione predefinita consente solo il traffico in ingresso sulla porta 22 (servizio SSH) e blocca il traffico in caso contrario. È possibile controllare la configurazione di iptables seguendo questa procedura:
Aprire una sessione di PowerShell con privilegi elevati
Connettersi alla macchina virtuale EFLOW
Connect-EflowVm
Elencare tutte le regole iptables
sudo iptables -L
Modulo TPM (Trusted Platform Module)
La tecnologia TPM (Trusted Platform Module) è progettata per fornire funzioni correlate alla sicurezza basate su hardware. Un chip TPM è un livello di crittografia-processore protetto che è progettato per eseguire le operazioni di crittografia. Il chip include diversi meccanismi di sicurezza fisica per renderlo di manomissione e di software dannoso è in grado di alterare le funzioni di protezione del TPM.
La macchina virtuale EFLOW non supporta vTPM. Tuttavia, l'utente può abilitare/disabilitare la funzionalità pass-through TPM, che consente alla macchina virtuale EFLOW di usare il TPM del sistema operativo host Windows. Ciò consente due scenari principali:
- Usare la tecnologia TPM per il provisioning di dispositivi IoT Edge usando il servizio Device Provisioning (DPS). Per altre informazioni, vedere Creare ed effettuare il provisioning di un dispositivo IoT Edge per Linux su larga scala usando un TPM.
- Accesso in sola lettura alle chiavi crittografiche archiviate all'interno del TPM. Per altre informazioni, vedere Set-EflowVmFeature per abilitare il pass-through TPM.
Proteggere la comunicazione tra host e macchine virtuali
EFLOW offre diversi modi per interagire con la macchina virtuale esponendo un'implementazione avanzata del modulo di PowerShell. Per altre informazioni, vedere Funzioni di PowerShell per IoT Edge per Linux in Windows. Questo modulo richiede l'esecuzione di una sessione con privilegi elevati ed è firmato usando un certificato di Microsoft Corporation.
Tutte le comunicazioni tra il sistema operativo host Windows e la macchina virtuale EFLOW richieste dai cmdlet di PowerShell vengono eseguite usando un canale SSH. Per impostazione predefinita, il servizio SSH della macchina virtuale non consentirà l'autenticazione tramite nome utente e password ed è limitata all'autenticazione del certificato. Il certificato viene creato durante il processo di distribuzione EFLOW ed è univoco per ogni installazione EFLOW. Inoltre, per evitare attacchi di forza bruta SSH, la macchina virtuale bloccherà un indirizzo IP se tenta più di tre connessioni al minuto al servizio SSH.
Passaggi successivi
Altre informazioni sulla sicurezza di Windows IoT locale
Rimanere aggiornati con gli aggiornamenti più recenti in IoT Edge per Linux in Windows.