Procedure consigliate per la sicurezza per le soluzioni IoT

Questa panoramica presenta i concetti chiave relativi alla protezione di una tipica soluzione Azure IoT. Ogni sezione include collegamenti al contenuto che fornisce ulteriori dettagli e indicazioni.

Il diagramma seguente mostra una visualizzazione generale dei componenti in una tipica soluzione IoT. Questo articolo è incentrato sulla sicurezza di una soluzione IoT.

Diagramma che illustra l'architettura della soluzione IoT di livello elevato evidenziando la sicurezza.

È possibile dividere la sicurezza di una soluzione IoT nelle tre aree seguenti:

  • Sicurezza dei dispositivi: proteggere il dispositivo IoT mentre viene distribuito in condizioni normali.

  • Sicurezza delle connessioni: garantire che tuti i dati trasmessi tra il dispositivo IoT e i servizi cloud IoT siano riservati e a prova di manomissione.

  • Sicurezza del cloud: proteggere i dati quando vengono spostati e archiviati nel cloud.

L'implementazione delle raccomandazioni in questo articolo consente di soddisfare gli obblighi di sicurezza descritti nel modello di responsabilità condivisa.

Microsoft Defender per IoT

Microsoft Defender per IoT può monitorare automaticamente alcune delle raccomandazioni incluse in questo articolo. Microsoft Defender per IoT deve essere la prima linea di difesa per proteggere le risorse in Azure. Microsoft Defender per IoT analizza periodicamente lo stato di sicurezza delle risorse di Azure per identificarne potenziali vulnerabilità. e fornisce raccomandazioni per affrontarle in modo efficace. Per ulteriori informazioni, vedere:

Sicurezza dei dispositivi

  • Definire l'ambito dell'hardware ai requisiti minimi: selezionare l'hardware del dispositivo per includere le funzionalità minime necessarie per il funzionamento e altro ancora. Ad esempio, includere porte USB solo se sono necessarie per il funzionamento del dispositivo nella soluzione. Funzionalità aggiuntive possono esporre il dispositivo a vettori di attacco indesiderati.

  • Selezionare hardware a prova di manomissione: selezionare l'hardware del dispositivo 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, che può avvisare gli operatori per questi eventi.

  • Selezionare hardware sicuro: se possibile scegliere l'hardware del dispositivo che include funzionalità di sicurezza come archiviazione sicura e crittografata e funzionalità di avvio basate su un modulo della piattaforma attendibile. Queste funzionalità rendono i dispositivi più sicuri e aiutano a proteggere l'intera infrastruttura IoT.

  • Abilitare gli aggiornamenti sicuri: gli aggiornamenti del firmware durante la durata del dispositivo sono inevitabili. Creare dispositivi con percorsi sicuri per gli aggiornamenti e la sicurezza crittografica delle versioni del firmware per proteggere i dispositivi durante e dopo gli aggiornamenti.

  • Seguire una metodologia di sviluppo software sicura: lo sviluppo di software sicuro richiede di prendere in considerazione la sicurezza dall'inizio del progetto fino all'implementazione, al test e alla distribuzione. Il ciclo di vita di sviluppo della sicurezza Microsoft offre un approccio dettagliato alla creazione di software sicuro.

  • Usare gli SDK dei dispositivi quando possibile: gli SDK per dispositivi implementano varie funzionalità di sicurezza, ad esempio crittografia e autenticazione che consentono di sviluppare applicazioni di dispositivi affidabili e sicure. Per altre informazioni, vedere Azure IoT SDK.

  • Scegliere software open source con attenzione: il software open source consente di sviluppare soluzioni in modo rapido. Quando si sceglie il software open source, valutare il livello di attività della community per ogni componente open source. Una community attiva garantisce il supporto del software e la possibilità di rilevare e risolvere i problemi. Un progetto software open source inattivo e oscuro potrebbe non essere supportato e i problemi probabilmente non vengono individuati.

  • Distribuire l'hardware in modo sicuro: le distribuzioni IoT possono richiedere la distribuzione dell'hardware in posizioni non sicure, ad esempio in spazi pubblici o impostazioni locali non supervisionate. In tali situazioni, assicurarsi che la distribuzione hardware sia il più possibile a prova di manomissione. Ad esempio, se l'hardware dispone di porte USB, assicurarsi che siano coperte in modo sicuro.

  • Proteggere le chiavi di autenticazione: durante la distribuzione, ogni dispositivo richiede gli ID dei dispositivi e le chiavi di autenticazione associate generate dal servizio cloud. Conservare fisicamente queste chiavi al sicuro anche dopo la distribuzione. Un dispositivo dannoso può usare qualsiasi chiave compromessa per mascherare come dispositivo esistente.

  • Aggiornare il sistema regolarmente: assicurarsi che tutti i sistemi operativi e i driver dei dispositivi vengano aggiornati alle versioni più recenti. Mantenere aggiornati i sistemi operativi consente di garantire che siano protetti da attacchi dannosi.

  • Proteggere i sistemi da attività dannose: se il sistema operativo lo consente, installare le più recenti funzionalità antivirus e anti-malware su ogni sistema operativo del dispositivo.

  • Effettuare controlli regolari: controllare la presenza di problemi di sicurezza all'infrastruttura IoT è un fattore chiave durante la risposta agli incidenti di sicurezza. La maggior parte dei sistemi operativi fornisce la registrazione degli eventi predefinita che è consigliabile esaminare frequentemente per assicurarsi che non si sia verificata alcuna violazione della sicurezza. Un dispositivo può inviare informazioni di controllo come flusso di telemetria separato al servizio cloud in cui può essere analizzato.

  • 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 queste indicazioni oltre alle indicazioni generiche elencate in questo articolo.

  • Usare un gateway sul campo per fornire servizi di sicurezza per dispositivi legacy o vincolati: i dispositivi legacy e vincolati potrebbero non avere la capacità di crittografare i dati, connettersi a Internet o fornire controllo avanzato. In questi casi, l'uso di un gateway moderno e sicuro sul campo può aggregare i dati dai dispositivi legacy al fine di garantire la protezione necessaria per la connessione di questi dispositivi a Internet. I gateway sul campo offrono l'autenticazione protetta, la negoziazione per le sessioni crittografate, la ricezione di comandi dal cloud e molte altre funzionalità di sicurezza.

Sicurezza delle connessioni

  • Usare i certificati X.509 per autenticare i dispositivi in hub IoT o IoT Central: hub IoT e IoT Central supportano sia l'autenticazione basata su certificati X509 che i token di sicurezza come metodi per l'autenticazione di un dispositivo. Se possibile, usare l'autenticazione basata su X509 negli ambienti di produzione perché offre maggiore sicurezza. Per altre informazioni, vedere Autenticazione di un dispositivo per hub IoT e Concetti di autenticazione del dispositivo in IoT Central.

  • Usare Transport Layer Security (TLS) 1.2 per proteggere le connessioni dai dispositivi: hub IoT e IoT Central usano TLS per proteggere le connessioni da dispositivi e servizi IoT. Sono attualmente supportate tre versioni del protocollo TLS: 1.0, 1.1 e 1.2. TLS 1.0 e 1.1 sono considerati legacy. Per altre informazioni, vedere Autenticazione e autorizzazione.

  • Assicurarsi di avere un modo per aggiornare il certificato radice TLS nei dispositivi: i certificati radice TLS sono di lunga durata, ma possono comunque scadere o essere revocati. Se non è possibile aggiornare il certificato nel dispositivo, il dispositivo potrebbe non essere in grado di connettersi a hub IoT, IoT Central o qualsiasi altro servizio cloud in un secondo momento.

  • È consigliabile usare collegamento privato di Azure: collegamento privato di Azure consente di connettere i dispositivi a un endpoint privato nella rete virtuale, consentendo di bloccare l'accesso agli endpoint pubblici del dispositivo dell'hub IoT. Per altre informazioni, vedere Connettività in ingresso a hub IoT tramite collegamento privato di Azure e Sicurezza di rete per IoT Central tramite endpoint privati.

Sicurezza del cloud

  • Seguire una metodologia di sviluppo software sicura: lo sviluppo di software sicuro richiede di prendere in considerazione la sicurezza dall'inizio del progetto fino all'implementazione, al test e alla distribuzione. Il ciclo di vita di sviluppo della sicurezza Microsoft offre un approccio dettagliato alla creazione di software sicuro.

  • Scegliere software open source con attenzione: il software open source consente di sviluppare soluzioni in modo rapido. Quando si sceglie il software open source, valutare il livello di attività della community per ogni componente open source. Una community attiva garantisce il supporto del software e la possibilità di rilevare e risolvere i problemi. Un progetto software open source inattivo e oscuro potrebbe non essere supportato e i problemi probabilmente non vengono individuati.

  • Eseguire l'integrazione con attenzione: molti dei problemi di sicurezza del software intervengono al confine tra librerie e API. Le funzionalità che potrebbero non essere necessarie per la distribuzione corrente potrebbero essere ancora disponibili tramite un livello API. Per garantire la sicurezza complessiva, assicurarsi di controllare tutte le interfacce dei componenti integrati per rilevare eventuali difetti di protezione.

  • Proteggere le credenziali cloud: un utente malintenzionato può usare le credenziali di autenticazione cloud usate per configurare e gestire la distribuzione IoT per ottenere l'accesso e compromettere il sistema IoT. Proteggere le credenziali modificando frequentemente la password e non usando queste credenziali nei computer pubblici.

  • Definire i controlli di accesso per l'hub IoT: comprendere e definire il tipo di accesso necessario per ogni componente nella soluzione hub IoT in base alle funzionalità necessarie. Esistono due modi per concedere le autorizzazioni per le API del servizio per connettersi all'hub IoT: ID Microsoft Entra o firme di accesso condiviso.

  • Definire i controlli di accesso per l'applicazione IoT Central: comprendere e definire il tipo di accesso abilitato per l'applicazione IoT Central. Per ulteriori informazioni, vedere:

  • Definire i controlli di accesso per i servizi back-end: altri servizi di Azure possono usare i dati inseriti dall'hub IoT o dall'applicazione IoT Central dai dispositivi. È possibile instradare i messaggi dai dispositivi ad altri servizi di Azure. Comprendere e configurare le autorizzazioni di accesso appropriate per hub IoT o IoT Central per connettersi a questi servizi. Per ulteriori informazioni, vedere:

  • Monitorare la soluzione IoT dal cloud: monitorare l'integrità complessiva della soluzione IoT usando le metriche hub IoT in Monitoraggio di Azure o Monitorare l'integrità delle applicazioni IoT Central.

  • Configurare la diagnostica: monitorare le operazioni registrando gli eventi nella soluzione e quindi inviando i log di diagnostica a Monitoraggio di Azure. Per altre informazioni, vedere Monitorare e diagnosticare i problemi nell'hub IoT.

Passaggi successivi

Per altre informazioni sulla sicurezza IoT, vedere: