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 kantbaserad IoT-lösning. Den här artikeln fokuserar på säkerheten för en gränsbaserad IoT-lösning:
Du kan dela upp säkerheten i en gränsbaserad IoT-lösning i följande tre områden:
Tillgångssäkerhet: Skydda det fysiska eller virtuella värdeobjektet som du vill hantera, övervaka och samla in data från.
Anslutningssäkerhet: Se till att alla data som överförs mellan tillgångs-, gräns- och molntjänsterna är konfidentiella och manipuleringssäkra.
Edge-säkerhet: Skydda dina data när de flyttas igenom och lagras i gränsen.
Molnsäkerhet: Skydda dina data när de flyttas igenom och lagras i molnet.
Vanligtvis i en gränsbaserad lösning vill du skydda dina åtgärder från slutpunkt till slutpunkt med hjälp av Azure-säkerhetsfunktioner. Azure IoT Operations har inbyggda säkerhetsfunktioner som hantering av hemligheter, certifikathantering och säkra inställningar i ett Azure Arc-aktiverat Kubernetes-kluster . När ett Kubernetes-kluster är anslutet till Azure initieras en utgående anslutning till Azure med hjälp av branschstandard-SSL för att skydda data under överföring och flera andra säkerhetsfunktioner aktiveras, till exempel:
- Visa och övervaka dina kluster med hjälp av Azure Monitor för containrar.
- Framtvinga skydd mot hot med Hjälp av Microsoft Defender för containrar.
- Säkerställa styrning genom att tillämpa principer med Azure Policy for Kubernetes.
- Bevilja åtkomst och anslut till dina Kubernetes-kluster var som helst och hantera åtkomst med hjälp av rollbaserad åtkomstkontroll i Azure (Azure RBAC) i klustret.
Microsoft Defender för IoT och för containrar
Microsoft Defender för IoT är en enhetlig säkerhetslösning som skapats specifikt för att identifiera IoT- och driftteknikenheter (OT), sårbarheter och hot. Microsoft Defender för containrar är en molnbaserad lösning för att förbättra, övervaka och upprätthålla säkerheten för dina containerbaserade tillgångar (Kubernetes-kluster, Kubernetes-noder, Kubernetes-arbetsbelastningar, containerregister, containeravbildningar med mera) och deras program i miljöer med flera moln och lokalt.
Både Defender för IoT och Defender för containrar kan automatiskt övervaka några av rekommendationerna i den här artikeln. Defender för IoT och Defender för containrar bör vara frontlinjen i försvaret för att skydda din gränsbaserade lösning. Mer information finns i:
- Microsoft Defender för containrar – översikt
- Microsoft Defender för IoT för organisationer – översikt.
Tillgångssäkerhet
Hantering av hemligheter: Använd Azure Key Vault för att lagra och hantera tillgångs känslig information, till exempel nycklar, lösenord, certifikat och hemligheter. Azure IoT Operations använder Azure Key Vault som lösning för hanterat valv i molnet och använder Azure Key Vault Secret Store-tillägget för Kubernetes för att synkronisera hemligheterna från molnet och lagra dem på gränsen som Kubernetes-hemligheter. Mer information finns i Hantera hemligheter för din Azure IoT Operations-distribution.
Certifikathantering: Det är viktigt att hantera certifikat för att säkerställa säker kommunikation mellan tillgångar och din gränskörningsmiljö. Azure IoT Operations innehåller verktyg för att hantera certifikat, inklusive utfärdande, förnyelse och återkallande av certifikat. Mer information finns i Certifikathantering för intern kommunikation i Azure IoT Operations.
Välj manipulationssäker maskinvara för tillgångar: Välj tillgångsmaskinvara med inbyggda mekanismer för att identifiera fysisk manipulering, till exempel öppnande av enhetsskyddet eller borttagning av en del av enheten. Dessa manipuleringssignaler kan vara en del av dataströmmen som laddas upp till molnet och avisera operatörer om dessa händelser.
Aktivera säkra uppdateringar för tillgångs inbyggd programvara: Använd tjänster som aktiverar uppdateringar över hela luften för dina tillgångar. Skapa tillgångar med säkra sökvägar för uppdateringar och kryptografisk säkerhet för versioner av inbyggd programvara för att skydda dina tillgångar under och efter uppdateringar.
Distribuera tillgångsmaskinvara på ett säkert sätt: Se till att distributionen av tillgångsmaskinvara är så manipuleringssäker som möjligt, särskilt på osäkra platser som offentliga utrymmen eller oövervakade nationella inställningar. Aktivera endast nödvändiga funktioner för att minimera fotavtrycket för fysiska attacker, till exempel att på ett säkert sätt täcka USB-portar om de inte behövs.
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.
Anslutningssäkerhet
Använd TLS (Transport Layer Security) för att skydda anslutningar från tillgångar: All kommunikation i Azure IoT-åtgärder krypteras med hjälp av TLS. För att ge en säker som standardupplevelse som minimerar oavsiktlig exponering av din gränsbaserade lösning för angripare distribueras Azure IoT Operations med en standardrotcertifikatutfärdare och utfärdare för TLS-servercertifikat. För en produktionsdistribution rekommenderar vi att du använder en egen CA-utfärdare och en PKI-lösning för företag.
Överväg att använda företagsbrandväggar eller proxyservrar för att hantera utgående trafik: Om du använder företagsbrandväggar eller proxyservrar lägger du till Azure IoT Operations-slutpunkterna i listan över tillåtna .
Kryptera intern trafik för meddelandekö: Det är viktigt att säkerställa säkerheten för intern kommunikation i din gränsinfrastruktur för att upprätthålla dataintegritet och konfidentialitet. Du bör konfigurera MQTT-koordinatorn för att kryptera intern trafik och data under överföring mellan MQTT-koordinatorklientdelen och serverdelspoddarna. Mer information finns i Konfigurera kryptering av intern asynkron trafik och interna certifikat.
Konfigurera TLS med automatisk certifikathantering för lyssnare i din MQTT-koordinator: Azure IoT Operations tillhandahåller automatisk certifikathantering för lyssnare i din MQTT-asynkron meddelandekö. Detta minskar de administrativa kostnaderna för manuellt hantering av certifikat, säkerställer snabb förnyelse och bidrar till att upprätthålla efterlevnaden av säkerhetsprinciper. Mer information finns i Säker MQTT-koordinatorkommunikation med hjälp av BrokerListener.
Konfigurera en säker anslutning till OPC UA-servern: När du ansluter till en OPC UA-server bör du bestämma vilka OPC UA-servrar som du litar på för att upprätta en session på ett säkert sätt med. Mer information finns i Konfigurera OPC UA-certifikatinfrastruktur för anslutningsappen för OPC UA.
Gränssäkerhet
Håll edge-körningsmiljön uppdaterad: Håll klustret och Azure IoT Operations-distributionen uppdaterade med de senaste korrigeringarna och mindre versioner för att få alla tillgängliga säkerhets- och buggkorrigeringar. För produktionsdistributioner inaktiverar du automatisk uppgradering för Azure Arc för att ha fullständig kontroll över när nya uppdateringar tillämpas på klustret. Uppgradera i stället agenter manuellt efter behov.
Kontrollera integriteten för Docker- och Helm-avbildningar: Kontrollera att avbildningen är signerad av Microsoft innan du distribuerar en avbildning till klustret. Mer information finns i Verifiera avbildningssignering.
Använd alltid X.509-certifikat eller Kubernetes-tjänstkontotoken för autentisering med din MQTT-koordinator: En MQTT-asynkron autentiseringsmetod stöder flera autentiseringsmetoder för klienter. Du kan konfigurera varje lyssnarport så att den har egna autentiseringsinställningar med en BrokerAuthentication-resurs. Mer information finns i Konfigurera MQTT-asynkron autentisering.
Ange den lägsta behörighet som krävs för ämnestillgången i din MQTT-asynkron meddelandekö: Auktoriseringsprinciper avgör vilka åtgärder klienterna kan utföra på asynkron meddelandekö, till exempel att ansluta, publicera eller prenumerera på ämnen. Konfigurera MQTT-asynkron meddelandekö så att den använder en eller flera auktoriseringsprinciper med BrokerAuthorization-resursen. Mer information finns i Konfigurera Auktorisering för MQTT-auktorisering.
Konfigurera isolerade nätverksmiljöer med hjälp av Azure IoT Layered Network Management (förhandsversion): Azure IoT Layered Network Management (förhandsversion) är en komponent som underlättar anslutningen mellan Azure och kluster i isolerade nätverksmiljöer. I industriella scenarier följer de isolerade nätverken ISA-95/Purdue Network-arkitekturen. Mer information finns i Vad är Azure IoT Layered Network Management (förhandsversion)?.
Molnsäkerhet
Använd användartilldelade hanterade identiteter för molnanslutningar: Använd alltid hanterad identitetsautentisering. Använd när det är möjligt användartilldelad hanterad identitet i dataflödesslutpunkter för flexibilitet och granskning.
Distribuera observerbarhetsresurser och konfigurera loggar: Observerbarhet ger insyn i varje lager i din Azure IoT Operations-konfiguration. Det ger dig insikt i det faktiska beteendet för problem, vilket ökar effektiviteten i platstillförlitlighetstekniken. Azure IoT Operations erbjuder observerbarhet via anpassade utvalda Grafana-instrumentpaneler som finns i Azure. Dessa instrumentpaneler drivs av Azure Monitor-hanterad tjänst för Prometheus och Container Insights. Distribuera observerbarhetsresurser i klustret innan du distribuerar Azure IoT Operations.
Säker åtkomst till tillgångar och tillgångsslutpunkter med Azure RBAC: Tillgångar och tillgångsslutpunkter i Azure IoT Operations har representationer i både Kubernetes-klustret och Azure Portal. Du kan använda Azure RBAC för att skydda åtkomsten till dessa resurser. Azure RBAC är ett auktoriseringssystem som gör att du kan hantera åtkomsten till Azure-resurser. Du kan använda Azure RBAC för att bevilja behörigheter till användare, grupper och program i ett visst omfång. Mer information finns i Säker åtkomst till tillgångar och tillgångsslutpunkter.
Nästa steg
Mer information om IoT-säkerhet finns i: