Proteggere le soluzioni IoT

Le soluzioni IoT consentono di connettere, monitorare e controllare i dispositivi e gli asset IoT su larga scala. In una soluzione connessa al cloud, i dispositivi e gli asset si connettono direttamente al cloud. In una soluzione connessa all'edge, i dispositivi e gli asset si connettono a un ambiente di runtime edge. È necessario proteggere gli asset fisici e i dispositivi, l'infrastruttura perimetrale e i servizi cloud per proteggere la soluzione IoT dalle minacce. È anche necessario proteggere i dati che passano attraverso la soluzione IoT, sia che si trovino nella rete perimetrale o nel cloud.

Questo articolo fornisce indicazioni su come proteggere al meglio la soluzione IoT. Ogni sezione include i collegamenti al contenuto che offre ulteriori dettagli e indicazioni.

Il diagramma seguente mostra una visualizzazione generale dei componenti in una tipica soluzione IoT connessa a edge. Questo articolo è incentrato sulla sicurezza di una soluzione IoT con connessione perimetrale:

Diagramma che mostra l'architettura della soluzione connessa a IoT Edge di alto livello evidenziando la sicurezza.

In una soluzione IoT connessa a edge è possibile suddividere la sicurezza nelle quattro aree seguenti:

  • Sicurezza degli asset: proteggere l'asset IoT mentre viene distribuito in locale.

  • Sicurezza delle connessioni: assicurarsi che tutti i dati in transito tra asset, i dispositivi perimetrali e i servizi cloud siano riservati e a prova di manomissione.

  • Sicurezza perimetrale: proteggere i dati man mano che si spostano e vengono archiviati nella rete perimetrale.

  • Sicurezza del cloud: proteggere i dati man mano che si spostano e vengono archiviati nel cloud.

Microsoft Defender for Cloud e Microsoft Defender per i contenitori

Microsoft Defender for Cloud è una soluzione di sicurezza unificata creata specificamente per identificare i dispositivi IoT e la tecnologia operativa (OT), le vulnerabilità e le minacce. Microsoft Defender per contenitori è una soluzione nativa del cloud che consente di migliorare, monitorare e gestire la sicurezza degli asset in contenitori (cluster Kubernetes, nodi Kubernetes, carichi di lavoro Kubernetes, registri contenitori, immagini dei contenitori e altro ancora) e delle applicazioni in ambienti multicloud e locali.

Sia Defender per IoT che Defender per i contenitori possono monitorare automaticamente alcune delle raccomandazioni incluse in questo articolo. Defender for IoT e Defender for Containers devono essere la prima linea di difesa per proteggere la soluzione connessa all'edge. Per altre informazioni, vedere:

Limiti di sicurezza OT, IT e cloud

Operazioni di Azure IoT consente alle organizzazioni di connettere asset OT e origini dati industriali ai servizi di gestione, analisi e automazione basati sul cloud.

La connessione di ambienti OT ai sistemi IT e cloud offre vantaggi operativi significativi, ma cambia anche i limiti di sicurezza tradizionali. I dati, le identità, le operazioni di gestione e i carichi di lavoro possono estendersi in ambienti storicamente gestiti in isolamento.

Quando si progetta una distribuzione Operazioni di Azure IoT, considerare i principi seguenti:

  • Applicare la segmentazione di rete tra ambienti OT, IT e connessi al cloud. Per una topologia segmentata Purdue/ISA-95, usare una distribuzione di rete a più livelli per limitare la comunicazione ai livelli adiacenti.
  • Usare controlli di accesso con privilegi minimi per utenti, applicazioni e sistemi di gestione e configurare identità dedicate tramite impostazioni sicure e identità gestite.
  • Considerare i dati operativi connessi al cloud come informativi, a meno che non siano convalidati dai processi di sicurezza operativi. I dati indirizzati attraverso l'esperienza operativa e i dashboard sono più adatti al monitoraggio.
  • Evitare di usare dashboard, analisi o visualizzazioni di monitoraggio cloud come unica autorità per decisioni operative critiche o di emergenza per la sicurezza.
  • Seguire gli standard di settore applicabili, i requisiti normativi e i criteri di sicurezza specifici del sito quando si connettono asset OT ai servizi cloud.

L'applicazione di Zero Trust principi di sicurezza consente di proteggere questi limiti: verificare in modo esplicito, usare l'accesso con privilegi minimi e presupporre la violazione. L'utente rimane responsabile della determinazione dei dati operativi e dei percorsi di controllo appropriati per l'integrazione cloud all'interno dell'ambiente.

Sicurezza degli asset

Questa sezione fornisce indicazioni su come proteggere gli asset, ad esempio apparecchiature industriali, sensori e altri dispositivi che fanno parte della soluzione IoT. La sicurezza dell'asset è fondamentale per garantire l'integrità e la riservatezza dei dati generati e trasmessi.

  • Usare Azure Key Vault e l'estensione dell'archivio segreti: usare Azure Key Vault per archiviare e gestire le informazioni riservate per gli asset, ad esempio chiavi, password, certificati e segreti. Operazioni di Azure IoT usa Azure Key Vault come soluzione di insieme di credenziali gestito nel cloud e usa l'estensione Secret Store di Azure Key Vault per Kubernetes per sincronizzare i segreti dal cloud e archiviarli all'edge come segreti Kubernetes. Per altre informazioni, vedere Gestire i segreti per la distribuzione Operazioni di Azure IoT.

  • Configurare la gestione sicura dei certificati: la gestione dei certificati è fondamentale per garantire la comunicazione sicura tra gli asset e l'ambiente di runtime perimetrale. Operazioni di Azure IoT fornisce strumenti per la gestione dei certificati, tra cui rilascio, rinnovo e revoca dei certificati. Per altre informazioni, vedere Gestire i certificati per la distribuzione Operazioni di Azure IoT.

  • Selezionare hardware a prova di manomissione: scegliere 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 segnalano tali eventi all'operatore.

  • 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 a prova di 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 coprendo 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 sulla sicurezza e sulla distribuzione, seguire le indicazioni generali riportate in questo articolo.

Sicurezza delle connessioni

Questa sezione fornisce indicazioni su come proteggere le connessioni tra gli asset, l'ambiente di runtime perimetrale e i servizi cloud. La sicurezza delle connessioni è fondamentale per garantire l'integrità e la riservatezza dei dati trasmessi.

  • Use Transport Layer Security (TLS) per proteggere le connessioni dagli asset: tutte le comunicazioni all'interno di Operazioni di Azure IoT vengono crittografate tramite TLS. Per offrire un'esperienza sicura per impostazione predefinita che riduce al minimo l'esposizione accidentale della soluzione connessa alla rete perimetrale agli utenti malintenzionati, Operazioni di Azure IoT viene distribuita 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.

  • Utilizzo del proprio CA per l'ambiente di produzione: Per le implementazioni in produzione, sostituire la CA radice autofirmata predefinita con il proprio emittente di CA e integrarsi con un'infrastruttura PKI aziendale per garantire fiducia e conformità. Per altre informazioni, vedere Bring Your Own Issuer).

  • 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 Operazioni di Azure IoT 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 Crittografia interna del traffico.

  • Configurare TLS con gestione automatica dei certificati per i listener nel broker MQTT: Operazioni di Azure IoT fornisce la gestione automatica dei certificati per i listener nel broker MQTT. Questa funzionalità 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 ai server OPC UA: prima di connettersi a un server OPC UA, determinare quali server OPC UA considerare attendibili in modo da poter stabilire sessioni protette. Per altre informazioni, vedere Configurare l'infrastruttura di certificati OPC UA per il connettore per OPC UA.

  • Isolare e segmentare le reti: usare la segmentazione di rete e i firewall per isolare i cluster operazioni IoT e i dispositivi perimetrali da altre risorse di rete. Aggiungere gli endpoint necessari all'elenco elementi consentiti se si usano firewall o proxy aziendali. Per altre informazioni, vedere Linee guida per la distribuzione di produzione - Rete.

Sicurezza perimetrale

Questa sezione fornisce indicazioni su come proteggere l'ambiente di runtime perimetrale, ovvero il software in esecuzione nella piattaforma perimetrale. Questo software elabora i dati degli asset e gestisce la comunicazione tra gli asset e i servizi cloud. La sicurezza dell'ambiente di runtime perimetrale è fondamentale per garantire l'integrità e la riservatezza dei dati elaborati e trasmessi.

  • Mantieni aggiornato l'ambiente di runtime edge: mantieni aggiornati il cluster e la distribuzione di Operazioni di Azure IoT con le patch e le release secondarie più recenti per ottenere tutte le correzioni di sicurezza e dei bug disponibili. Per le distribuzioni di produzione, disattivare l’autoupgrade per Azure Arc per avere il controllo completo su quando vengono applicati nuovi aggiornamenti al cluster. Invece, Aggiornare manualmente gli agenti in base alle esigenze.

  • Verificare l'integrità dei contenitori e delle immagini 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 con il 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 con il broker MQTT.

Sicurezza del cloud

Questa sezione fornisce indicazioni su come proteggere i servizi cloud, ovvero i servizi che elaborano e archiviano i dati degli asset. La sicurezza dei servizi cloud è fondamentale per garantire l'integrità e la riservatezza dei dati.

  • 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. Per altre informazioni, vedere Configurare un'identità gestita assegnata dall'utente per le connessioni cloud.

  • Distribuisci le risorse di osservabilità e configura i log: L'osservabilità offre visibilità su ogni livello della tua configurazione di Operazioni di Azure IoT. Offre informazioni dettagliate sul comportamento effettivo dei problemi, aumentando così l'efficacia della progettazione dell'affidabilità del sito. Operazioni di Azure IoT offre osservabilità tramite dashboard Grafana personalizzati ospitati in Azure. Questi dashboard sono basati su Monitoraggio di Azure servizio gestito per Prometheus e da Container Insights. Distribuire le risorse di osservabilità nel tuo cluster prima di distribuire Operazioni di Azure IoT.

  • Assicurare l'accesso sicuro agli asset e agli endpoint degli asset con Azure RBAC: Gli asset e gli endpoint degli asset in Operazioni di Azure IoT hanno rappresentazioni sia nel cluster Kubernetes che nel portale di Azure. Usare Azure RBAC per proteggere l'accesso a queste risorse. Azure RBAC (controllo degli accessi in base al ruolo) è un sistema di autorizzazione che consente di amministrare l'accesso alle risorse di Azure. Usare il controllo degli accessi in base al ruolo (RBAC) di Azure per concedere autorizzazioni a utenti, gruppi e applicazioni in un determinato contesto. Per altre informazioni, vedere Ruoli RBAC personalizzati per le risorse di Operazioni di Azure IoT.