Procedure di sicurezza consigliate per le soluzioni IoT
Questa panoramica presenta i concetti chiave relativi alla protezione di una tipica soluzione Azure IoT. Ogni sezione include collegamenti a contenuti che forniscono ulteriori dettagli e indicazioni.
Il diagramma seguente mostra una visualizzazione generale dei componenti in una tipica soluzione IoT basata su edge. Questo articolo è incentrato sulla sicurezza di una soluzione IoT basata su edge:
È possibile dividere la sicurezza in una soluzione IoT basata su edge nelle tre aree seguenti:
Sicurezza degli asset: proteggere l'elemento fisico o virtuale di valore da cui si vuole gestire, monitorare e raccogliere dati.
Sicurezza delle connessioni: assicurarsi che tutti i dati in transito tra asset, edge e servizi cloud siano riservati e a prova di manomissione.
Sicurezza perimetrale: proteggere i dati mentre si spostano e vengono archiviati nel perimetro.
Sicurezza del cloud: proteggere i dati quando vengono spostati e archiviati nel cloud.
In genere in una soluzione basata su edge è necessario proteggere le operazioni end-to-end usando le funzionalità di sicurezza di Azure. Le operazioni IoT di Azure hanno funzionalità di sicurezza predefinite, ad esempio la gestione dei segreti, la gestione dei certificati e le impostazioni sicure in un cluster Kubernetes abilitato per Azure Arc. Quando un cluster Kubernetes è connesso ad Azure, viene avviata una connessione in uscita ad Azure, usando SSL standard del settore per proteggere i dati in transito e sono abilitate diverse altre funzionalità di sicurezza, ad esempio:
- Visualizzare e monitorare i cluster usando Monitoraggio di Azure per i contenitori.
- Applicare la protezione dalle minacce usando Microsoft Defender per contenitori.
- Garantire la governance tramite l'applicazione di criteri con Criteri di Azure per Kubernetes.
- Concedere l'accesso e connettersi ai cluster Kubernetes da qualsiasi posizione e gestire l'accesso usando il controllo degli accessi in base al ruolo di Azure nel cluster.
Microsoft Defender per IoT e per i contenitori
Microsoft Defender per IoT è una soluzione di sicurezza unificata creata specificamente per identificare dispositivi, vulnerabilità e minacce (OT) IoT e tecnologia operativa. Microsoft Defender per contenitori è una soluzione nativa del cloud per migliorare, monitorare e gestire la sicurezza degli asset in contenitori (cluster Kubernetes, nodi Kubernetes, carichi di lavoro Kubernetes, registri contenitori, immagini del contenitore e altro ancora) e le relative applicazioni in ambienti multicloud e locali.
Sia Defender per IoT che Defender per contenitori possono monitorare automaticamente alcune delle raccomandazioni incluse in questo articolo. Defender per IoT e Defender per contenitori deve essere la prima linea di difesa per proteggere la soluzione basata sui dispositivi perimetrali. Per altre informazioni, vedere:
- Microsoft Defender per contenitori - Panoramica
- Microsoft Defender per IoT per le organizzazioni - Panoramica.
Sicurezza degli asset
Gestione dei segreti: usare Azure Key Vault per archiviare e gestire le informazioni riservate degli asset, ad esempio chiavi, password, certificati e segreti. Le operazioni di Azure IoT usano Azure Key Vault come soluzione di insieme di credenziali gestite nel cloud e usano l'estensione dell'archivio segreti di Azure Key Vault per Kubernetes per sincronizzare i segreti dal cloud e archiviarli nel cloud come segreti Kubernetes. Per altre informazioni, vedere Gestire i segreti per la distribuzione di Operazioni IoT di Azure.
Gestione dei certificati: la gestione dei certificati è fondamentale per garantire la comunicazione sicura tra gli asset e l'ambiente di runtime perimetrale. Le operazioni di Azure IoT offrono strumenti per la gestione dei certificati, tra cui rilascio, rinnovo e revoca dei certificati. Per altre informazioni, vedere Gestione dei certificati per le comunicazioni interne di Azure IoT Operations.
Selezionare hardware a prova di manomissione per gli asset: scegliere l'hardware asset con meccanismi predefiniti per rilevare manomissioni fisiche, ad esempio l'apertura della copertura del dispositivo o la rimozione di una parte del dispositivo. Questi segnali di manomissione possono far parte del flusso di dati caricato nel cloud e gli operatori di avviso per questi eventi.
Abilitare gli aggiornamenti sicuri per il firmware dell'asset: usare i servizi che abilitano gli aggiornamenti over-the-air per gli asset. Creare asset con percorsi sicuri per gli aggiornamenti e la sicurezza crittografica delle versioni del firmware per proteggere gli asset durante e dopo gli aggiornamenti.
Distribuire l'hardware dell'asset in modo sicuro: assicurarsi che la distribuzione dell'hardware dell'asset sia il più possibile manomissione, in particolare in posizioni non sicure, ad esempio spazi pubblici o impostazioni locali non supervisionate. Abilitare solo le funzionalità necessarie per ridurre al minimo il footprint di attacco fisico, ad esempio coprire in modo sicuro le porte USB se non sono necessarie.
Seguire le procedure consigliate per la sicurezza e la distribuzione del produttore del dispositivo: se il produttore del dispositivo fornisce indicazioni per la sicurezza e la distribuzione, seguire tali indicazioni oltre a quelle generiche elencate in questo articolo.
Sicurezza delle connessioni
Usare Transport Layer Security (TLS) per proteggere le connessioni dagli asset: tutte le comunicazioni all'interno delle operazioni IoT di Azure vengono crittografate tramite TLS. Per offrire un'esperienza sicura per impostazione predefinita che riduce al minimo l'esposizione accidentale della soluzione basata su edge agli utenti malintenzionati, le operazioni IoT di Azure vengono distribuite con una CA radice predefinita e un'autorità di certificazione per i certificati server TLS. Per una distribuzione di produzione, è consigliabile usare un'autorità di certificazione personalizzata e una soluzione PKI aziendale.
Prendere in considerazione l'uso di firewall aziendali o proxy per gestire il traffico in uscita: se si usano firewall o proxy aziendali, aggiungere gli endpoint delle operazioni IoT di Azure all'elenco elementi consentiti .
Crittografare il traffico interno del broker di messaggi: garantire la sicurezza delle comunicazioni interne all'interno dell'infrastruttura perimetrale è importante per mantenere l'integrità e la riservatezza dei dati. È necessario configurare il broker MQTT per crittografare il traffico interno e i dati in transito tra il front-end del broker MQTT e i pod back-end. Per altre informazioni, vedere Configurare la crittografia del traffico interno del broker e dei certificati interni.
Configurare TLS con la gestione automatica dei certificati per i listener nel broker MQTT: Le operazioni di Azure IoT forniscono la gestione automatica dei certificati per i listener nel broker MQTT. Ciò riduce il sovraccarico amministrativo della gestione manuale dei certificati, garantisce rinnovi tempestivi e consente di mantenere la conformità ai criteri di sicurezza. Per altre informazioni, vedere Proteggere la comunicazione tra broker MQTT tramite BrokerListener.
Configurare una connessione sicura al server OPC UA: quando ci si connette a un server OPC UA, è necessario determinare con quali server OPC UA considerare attendibili per stabilire in modo sicuro una sessione. Per altre informazioni, vedere Configurare l'infrastruttura di certificati OPC UA per il connettore per OPC UA.
Sicurezza perimetrale
Mantenere aggiornato l'ambiente di runtime perimetrale: mantenere aggiornata la distribuzione del cluster e delle operazioni IoT di Azure con le patch e le versioni secondarie più recenti per ottenere tutte le correzioni di sicurezza e bug disponibili. Per le distribuzioni di produzione, disattivare l'aggiornamento automatico per Azure Arc per avere il controllo completo su quando vengono applicati nuovi aggiornamenti al cluster. Aggiornare invece manualmente gli agenti in base alle esigenze.
Verificare l'integrità delle immagini Docker e Helm: prima di distribuire qualsiasi immagine nel cluster, verificare che l'immagine sia firmata da Microsoft. Per altre informazioni, vedere Convalidare la firma delle immagini.
Usare sempre certificati X.509 o token dell'account del servizio Kubernetes per l'autenticazione con il broker MQTT: un broker MQTT supporta più metodi di autenticazione per i client. È possibile configurare ogni porta del listener in modo che disponga delle proprie impostazioni di autenticazione con una risorsa BrokerAuthentication. Per altre informazioni, vedere Configurare l'autenticazione broker MQTT.
Fornire il privilegio minimo necessario per l'asset dell'argomento nel broker MQTT: i criteri di autorizzazione determinano le azioni che i client possono eseguire sul broker, ad esempio connettersi, pubblicare o sottoscrivere argomenti. Configurare il broker MQTT per l'uso di uno o più criteri di autorizzazione con la risorsa BrokerAuthorization. Per altre informazioni, vedere Configurare l'autorizzazione del broker MQTT.
Configurare ambienti di rete isolati usando Gestione rete a più livelli di Azure IoT (anteprima): Gestione rete a più livelli di Azure IoT (anteprima) è un componente che facilita la connessione tra Azure e i cluster in ambienti di rete isolati. Negli scenari industriali, le reti isolate seguono l'architettura di rete ISA-95/Purdue. Per altre informazioni, vedere Che cos'è Gestione rete a più livelli di Azure IoT (anteprima)?.
Sicurezza del cloud
Usare le identità gestite assegnate dall'utente per le connessioni cloud: usare sempre l'autenticazione dell'identità gestita. Quando possibile, usare l'identità gestita assegnata dall'utente negli endpoint del flusso di dati per la flessibilità e il controllo.
Distribuire le risorse di osservabilità e configurare i log: l'osservabilità offre visibilità su ogni livello della configurazione delle operazioni di Azure IoT. Offre informazioni dettagliate sul comportamento effettivo dei problemi, aumentando così l'efficacia della progettazione dell'affidabilità del sito. Le operazioni di Azure IoT offrono l'osservabilità tramite dashboard Grafana personalizzati ospitati in Azure. Questi dashboard sono basati sul servizio gestito di Monitoraggio di Azure per Prometheus e da Container Insights. Distribuire le risorse di osservabilità nel cluster prima di distribuire le operazioni di Azure IoT.
Proteggere l'accesso agli asset e agli endpoint degli asset con il controllo degli accessi in base al ruolo di Azure: gli asset e gli endpoint degli asset nelle operazioni IoT di Azure hanno rappresentazioni sia nel cluster Kubernetes che nel portale di Azure. È possibile usare il controllo degli accessi in base al ruolo di Azure per proteggere l'accesso a queste risorse. Il controllo degli accessi in base al ruolo di Azure è un sistema di autorizzazione che consente di gestire l'accesso alle risorse di Azure. È possibile usare Controllo degli accessi in base al ruolo di Azure per concedere autorizzazioni a utenti, gruppi e applicazioni in un determinato ambito. Per altre informazioni, vedere Proteggere l'accesso agli asset e agli endpoint degli asset.
Passaggi successivi
Per altre informazioni sulla sicurezza IoT, vedere: