Metodtips för säkerhet för IoT-lösningar

Den här översikten beskriver viktiga begrepp kring att skydda en typisk Azure IoT-lösning. Varje avsnitt innehåller länkar till innehåll som ger mer information och vägledning.

Följande diagram visar en översikt över komponenterna i en typisk IoT-lösning. Den här artikeln fokuserar på säkerheten för en IoT-lösning.

Diagram som visar den övergripande IoT-lösningsarkitekturen som belyser säkerheten.

Du kan dela in säkerheten i en IoT-lösning i följande tre områden:

  • Enhetssäkerhet: Skydda IoT-enheten när den distribueras i naturen.

  • Anslut ionssäkerhet: Se till att alla data som överförs mellan IoT-enheten och IoT-molntjänsterna är konfidentiella och manipuleringssäkra.

  • Molnsäkerhet: Skydda dina data när de flyttas igenom och lagras i molnet.

Genom att implementera rekommendationerna i den här artikeln kan du uppfylla de säkerhetsskyldigheter som beskrivs i modellen med delat ansvar.

Microsoft Defender for IoT

Microsoft Defender för IoT kan automatiskt övervaka några av rekommendationerna i den här artikeln. Microsoft Defender för IoT bör vara den första försvarslinjen för att skydda dina resurser i Azure. Microsoft Defender för IoT analyserar regelbundet säkerhetstillståndet för dina Azure-resurser för att identifiera potentiella säkerhetsrisker. Sedan får du rekommendationer om hur du hanterar dem. Mer information finns i:

Enhetssäkerhet

  • Omfångsmaskinvara till minimikrav: Välj enhetens maskinvara för att inkludera de minsta funktioner som krävs för dess drift, och inget mer. Ta till exempel bara med USB-portar om de behövs för att enheten ska fungera i din lösning. Extra funktioner kan exponera enheten för oönskade attackvektorer.

  • Välj manipulationssäker maskinvara: Välj enhetsmaskinvara med inbyggda mekanismer för att identifiera fysisk manipulering, till exempel öppnandet av enhetsskyddet eller borttagning av en del av enheten. Dessa manipuleringssignaler kan vara en del av dataströmmen som laddas upp till molnet, vilket kan varna operatörer för dessa händelser.

  • Välj säker maskinvara: Välj om möjligt enhetsmaskinvara som innehåller säkerhetsfunktioner som säker och krypterad lagrings- och startfunktion baserat på en betrodd plattformsmodul. De här funktionerna gör enheterna säkrare och skyddar den övergripande IoT-infrastrukturen.

  • Aktivera säkra uppgraderingar: Uppgraderingar av inbyggd programvara under enhetens livslängd är oundvikliga. Skapa enheter med säkra sökvägar för uppgraderingar och kryptografisk säkerhet för versioner av inbyggd programvara för att skydda dina enheter under och efter uppgraderingar.

  • Följ en säker metod för programvaruutveckling: Utvecklingen av säker programvara kräver att du överväger säkerhet från starten av projektet hela vägen genom implementering, testning och distribution. Microsoft Security Development Lifecycle tillhandahåller en stegvis metod för att skapa säker programvara.

  • Använd enhets-SDK:er när det är möjligt: Enhets-SDK:er implementerar olika säkerhetsfunktioner, till exempel kryptering och autentisering som hjälper dig att utveckla robusta och säkra enhetsprogram. Mer information finns i Azure IoT SDK:er.

  • Välj programvara med öppen källkod med försiktighet: Programvara med öppen källkod ger en möjlighet att snabbt utveckla lösningar. När du väljer programvara med öppen källkod bör du överväga communityns aktivitetsnivå för varje komponent med öppen källkod. En aktiv community ser till att programvara stöds och att problem identifieras och åtgärdas. Ett obskyrt och inaktivt programvaruprojekt med öppen källkod kanske inte stöds och problem identifieras sannolikt inte.

  • Distribuera maskinvara på ett säkert sätt: IoT-distributioner kan kräva att du distribuerar maskinvara på oskyddade platser, till exempel i offentliga utrymmen eller oövervakade nationella inställningar. I sådana situationer bör du se till att maskinvarudistributionen är så manipulationssäker som möjligt. Om maskinvaran till exempel har USB-portar ser du till att de täcks på ett säkert sätt.

  • Skydda autentiseringsnycklar: Under distributionen kräver varje enhet enhets-ID och associerade autentiseringsnycklar som genereras av molntjänsten. Håll dessa nycklar fysiskt säkra även efter distributionen. En skadlig enhet kan använda valfri komprometterad nyckel för att maskera sig som en befintlig enhet.

  • Håll systemet uppdaterat: Se till att enhetens operativsystem och alla enhetsdrivrutiner uppgraderas till de senaste versionerna. Genom att hålla operativsystemen uppdaterade ser du till att de skyddas mot skadliga attacker.

  • Skydda mot skadlig aktivitet: Om operativsystemet tillåter det installerar du de senaste funktionerna för antivirusprogram och program mot skadlig kod på varje enhets operativsystem.

  • Granska ofta: Granskning av IoT-infrastruktur för säkerhetsrelaterade problem är nyckeln när du svarar på säkerhetsincidenter. De flesta operativsystem tillhandahåller inbyggd händelseloggning som du bör granska ofta för att se till att inga säkerhetsöverträdelser har inträffat. En enhet kan skicka granskningsinformation som en separat telemetriström till molntjänsten där den kan analyseras.

  • Följ metodtipsen för säkerhet och distribution av enhetstillverkare: Om enhetstillverkaren ger vägledning om säkerhet och distribution följer du den vägledningen utöver den allmänna vägledning som anges i den här artikeln.

  • Använd en fältgateway för att tillhandahålla säkerhetstjänster för äldre eller begränsade enheter: Äldre och begränsade enheter kan sakna möjligheten att kryptera data, ansluta till Internet eller tillhandahålla avancerad granskning. I dessa fall kan en modern och säker fältgateway aggregera data från äldre enheter och ge den säkerhet som krävs för att ansluta dessa enheter via Internet. Fältgatewayer kan tillhandahålla säker autentisering, förhandling av krypterade sessioner, mottagande av kommandon från molnet och många andra säkerhetsfunktioner.

Anslutningssäkerhet

  • Använd X.509-certifikat för att autentisera dina enheter till IoT Hub eller IoT Central: IoT Hub och IoT Central stöder både X509-certifikatbaserad autentisering och säkerhetstoken som metoder för en enhet att autentisera. Använd om möjligt X509-baserad autentisering i produktionsmiljöer eftersom det ger större säkerhet. Mer information finns i Autentisera en enhet till IoT Hub och Enhetsautentiseringsbegrepp i IoT Central.

  • Använd TLS (Transport Layer Security) 1.2 för att skydda anslutningar från enheter: IoT Hub och IoT Central använder TLS för att skydda anslutningar från IoT-enheter och -tjänster. Tre versioner av TLS-protokollet stöds för närvarande: 1.0, 1.1 och 1.2. TLS 1.0 och 1.1 anses vara äldre. Mer information finns i Autentisering och auktorisering.

  • Se till att du har ett sätt att uppdatera TLS-rotcertifikatet på dina enheter: TLS-rotcertifikaten är långlivade, men de kan fortfarande upphöra att gälla eller återkallas. Om det inte finns något sätt att uppdatera certifikatet på enheten kanske enheten inte kan ansluta till IoT Hub, IoT Central eller någon annan molntjänst vid ett senare tillfälle.

  • Överväg att använda Azure Private Link: Med Azure Private Link kan du ansluta dina enheter till en privat slutpunkt på ditt virtuella nätverk, så att du kan blockera åtkomst till din IoT Hubs offentliga enhetsuppkopplade slutpunkter. Mer information finns i Inkommande anslutning till IoT Hub med azure private link och nätverkssäkerhet för IoT Central med hjälp av privata slutpunkter.

Molnsäkerhet

  • Följ en säker metod för programvaruutveckling: Utvecklingen av säker programvara kräver att du överväger säkerhet från starten av projektet hela vägen genom implementering, testning och distribution. Microsoft Security Development Lifecycle tillhandahåller en stegvis metod för att skapa säker programvara.

  • Välj programvara med öppen källkod med försiktighet: Programvara med öppen källkod ger en möjlighet att snabbt utveckla lösningar. När du väljer programvara med öppen källkod bör du överväga communityns aktivitetsnivå för varje komponent med öppen källkod. En aktiv community ser till att programvara stöds och att problem identifieras och åtgärdas. Ett obskyrt och inaktivt programvaruprojekt med öppen källkod kanske inte stöds och problem identifieras sannolikt inte.

  • Integrera med försiktighet: Det finns många säkerhetsbrister för programvara vid gränsen för bibliotek och API:er. Funktioner som kanske inte krävs för den aktuella distributionen kan fortfarande vara tillgängliga via ett API-lager. Se till att kontrollera alla gränssnitt för komponenter som är integrerade för säkerhetsbrister för att säkerställa den övergripande säkerheten.

  • Skydda molnautentiseringsuppgifter: En angripare kan använda de autentiseringsuppgifter för molnautentisering som du använder för att konfigurera och använda din IoT-distribution för att få åtkomst till och kompromettera ditt IoT-system. Skydda autentiseringsuppgifterna genom att ändra lösenordet ofta och använd inte dessa autentiseringsuppgifter på offentliga datorer.

  • Definiera åtkomstkontroller för din IoT-hubb: Förstå och definiera vilken typ av åtkomst varje komponent i din IoT Hub-lösning behöver baserat på de funktioner som krävs. Det finns två sätt att bevilja behörigheter för tjänst-API:er för att ansluta till din IoT-hubb: Microsoft Entra-ID eller signaturer för delad åtkomst.

  • Definiera åtkomstkontroller för ditt IoT Central-program: Förstå och definiera den typ av åtkomst som du aktiverar för ditt IoT Central-program. Mer information finns i:

  • Definiera åtkomstkontroller för serverdelstjänster: Andra Azure-tjänster kan använda data som ditt IoT-hubb- eller IoT Central-program matar in från dina enheter. Du kan dirigera meddelanden från dina enheter till andra Azure-tjänster. Förstå och konfigurera lämpliga åtkomstbehörigheter för IoT Hub eller IoT Central för att ansluta till dessa tjänster. Mer information finns i:

  • Övervaka din IoT-lösning från molnet: Övervaka den övergripande hälsan för din IoT-lösning med hjälp av IoT Hub-måtten i Azure Monitor eller Övervaka IoT Central-programmets hälsotillstånd.

  • Konfigurera diagnostik: Övervaka dina åtgärder genom att logga händelser i din lösning och sedan skicka diagnostikloggarna till Azure Monitor. Mer information finns i Övervaka och diagnostisera problem i din IoT-hubb.

Nästa steg

Mer information om IoT-säkerhet finns i: