Aanbevolen beveiligingsprocedures voor IoT-oplossingen
In dit overzicht worden de belangrijkste concepten geïntroduceerd voor het beveiligen van een typische Azure IoT-oplossing. Elke sectie bevat koppelingen naar inhoud die meer details en richtlijnen biedt.
In het volgende diagram ziet u een algemeen overzicht van de onderdelen in een typische IoT-oplossing. Dit artikel is gericht op de beveiliging van een IoT-oplossing.
U kunt beveiliging in een IoT-oplossing opsplitsen in de volgende drie gebieden:
Apparaatbeveiliging: Beveilig het IoT-apparaat terwijl het in het wild wordt geïmplementeerd.
Verbindingsbeveiliging: zorg ervoor dat alle gegevens die worden verzonden tussen het IoT-apparaat en de IoT-cloudservices vertrouwelijk en manipulatiebestendig zijn.
Cloudbeveiliging: beveilig uw gegevens terwijl deze worden doorlopen en worden opgeslagen in de cloud.
Door de aanbevelingen in dit artikel te implementeren, kunt u voldoen aan de beveiligingsverplichtingen die worden beschreven in het model voor gedeelde verantwoordelijkheid.
Microsoft Defender for IoT
Microsoft Defender voor IoT kan automatisch enkele van de aanbevelingen in dit artikel bewaken. Microsoft Defender voor IoT moet de frontlinie van de verdediging zijn om uw resources in Azure te beveiligen. Microsoft Defender for IoT analyseert periodiek de beveiligingsstatus van uw Azure-resources om potentiële beveiligingsproblemen te identificeren. Vervolgens krijgt u aanbevelingen over hoe u deze kunt aanpakken. Raadpleeg voor meer informatie:
- Verbeter de beveiligingspostuur met aanbevelingen voor beveiliging.
- Wat is Microsoft Defender voor IoT voor organisaties?
- Wat is Microsoft Defender voor IoT voor apparaatbouwers?
Apparaatbeveiliging
Hardware beperken tot minimale vereisten: selecteer uw apparaathardware om de minimale functies op te nemen die nodig zijn voor de werking ervan en niets meer. Neem bijvoorbeeld alleen USB-poorten op als ze nodig zijn voor de werking van het apparaat in uw oplossing. Extra functies kunnen het apparaat blootstellen aan ongewenste aanvalsvectoren.
Selecteer bewijshardware voor manipulatie: selecteer apparaathardware met ingebouwde mechanismen om fysieke manipulatie te detecteren, zoals het openen van het apparaatdeksel of het verwijderen van een deel van het apparaat. Deze manipulatiesignalen kunnen deel uitmaken van de gegevensstroom die is geüpload naar de cloud, waardoor operators kunnen worden gewaarschuwd voor deze gebeurtenissen.
Selecteer beveiligde hardware: kies indien mogelijk apparaathardware die beveiligingsfuncties bevat, zoals beveiligde en versleutelde opslag en opstartfunctionaliteit op basis van een Trusted Platform-module. Deze functies maken apparaten veiliger en beschermen de algehele IoT-infrastructuur.
Veilige upgrades inschakelen: firmware-upgrades tijdens de levensduur van het apparaat zijn onvermijdelijk. Bouw apparaten met beveiligde paden voor upgrades en cryptografische zekerheid van firmwareversies om uw apparaten tijdens en na upgrades te beveiligen.
Volg een veilige methodologie voor softwareontwikkeling: voor de ontwikkeling van beveiligde software moet u rekening houden met beveiliging vanaf het begin van het project door implementatie, testen en implementatie. De levenscyclus van Microsoft Security Development biedt een stapsgewijze benadering voor het bouwen van beveiligde software.
Gebruik waar mogelijk apparaat-SDK's: Apparaat-SDK's implementeren verschillende beveiligingsfuncties, zoals versleuteling en verificatie waarmee u robuuste en veilige apparaattoepassingen kunt ontwikkelen. Zie Azure IoT SDK's voor meer informatie.
Kies opensource-software met zorg: Opensource-software biedt een mogelijkheid om snel oplossingen te ontwikkelen. Wanneer u opensource-software kiest, moet u rekening houden met het activiteitsniveau van de community voor elk opensource-onderdeel. Een actieve community zorgt ervoor dat software wordt ondersteund en dat er problemen worden gedetecteerd en opgelost. Een verborgen en inactief opensource-softwareproject wordt mogelijk niet ondersteund en er worden waarschijnlijk geen problemen gedetecteerd.
Hardware veilig implementeren: Voor IoT-implementaties moet u mogelijk hardware implementeren op onbeveiligde locaties, zoals in openbare ruimten of landinstellingen zonder supervisie. In dergelijke situaties moet u ervoor zorgen dat de hardware-implementatie zo manipulatiebestendig mogelijk is. Als de hardware bijvoorbeeld USB-poorten heeft, zorgt u ervoor dat deze veilig worden gedekt.
Verificatiesleutels veilig houden: tijdens de implementatie vereist elk apparaat apparaat-id's en bijbehorende verificatiesleutels die door de cloudservice worden gegenereerd. Bewaar deze sleutels fysiek veilig, zelfs na de implementatie. Een schadelijk apparaat kan elke gecompromitteerde sleutel gebruiken om zich te maskeren als een bestaand apparaat.
Houd het systeem up-to-date: Zorg ervoor dat apparaatbesturingssystemen en alle apparaatstuurprogramma's worden bijgewerkt naar de nieuwste versies. Het up-to-date houden van besturingssystemen helpt ervoor te zorgen dat ze worden beschermd tegen schadelijke aanvallen.
Bescherming tegen schadelijke activiteiten: als het besturingssysteem toestaat, installeert u de nieuwste antivirus- en antimalwaremogelijkheden op elk besturingssysteem van het apparaat.
Regelmatig controleren: Het controleren van de IoT-infrastructuur voor beveiligingsproblemen is essentieel bij het reageren op beveiligingsincidenten. De meeste besturingssystemen bieden ingebouwde logboekregistratie van gebeurtenissen die u regelmatig moet controleren om ervoor te zorgen dat er geen beveiligingsschending is opgetreden. Een apparaat kan controlegegevens verzenden als een afzonderlijke telemetriestroom naar de cloudservice waar het kan worden geanalyseerd.
Volg de best practices voor beveiliging en implementatie van apparaatfabrikant: als de fabrikant van het apparaat richtlijnen voor beveiliging en implementatie biedt, volgt u deze richtlijnen naast de algemene richtlijnen die in dit artikel worden vermeld.
Gebruik een veldgateway om beveiligingsservices te bieden voor verouderde of beperkte apparaten: verouderde en beperkte apparaten hebben mogelijk geen mogelijkheid om gegevens te versleutelen, verbinding te maken met internet of geavanceerde controle te bieden. In deze gevallen kan een moderne en beveiligde veldgateway gegevens van verouderde apparaten aggregeren en de beveiliging bieden die nodig is voor het verbinden van deze apparaten via internet. Veldgateways kunnen beveiligde verificatie, onderhandeling van versleutelde sessies, ontvangst van opdrachten uit de cloud en vele andere beveiligingsfuncties bieden.
Verbindingsbeveiliging
Gebruik X.509-certificaten om uw apparaten te verifiëren bij IoT Hub of IoT Central: IoT Hub en IoT Central ondersteunen zowel X509-verificatie- als beveiligingstokens als methoden voor verificatie van een apparaat. Gebruik, indien mogelijk, verificatie op basis van X509 in productieomgevingen, omdat deze een betere beveiliging biedt. Zie Verificatie van een apparaat voor IoT Hub - en Apparaatverificatieconcepten in IoT Central voor meer informatie.
Gebruik Transport Layer Security (TLS) 1.2 om verbindingen van apparaten te beveiligen: IoT Hub en IoT Central gebruiken TLS om verbindingen van IoT-apparaten en -services te beveiligen. Er worden momenteel drie versies van het TLS-protocol ondersteund: 1.0, 1.1 en 1.2. TLS 1.0 en 1.1 worden beschouwd als verouderd. Zie Verificatie en autorisatie voor meer informatie.
Zorg ervoor dat u het TLS-basiscertificaat op uw apparaten kunt bijwerken: TLS-basiscertificaten hebben een lange levensduur, maar ze kunnen nog steeds verlopen of worden ingetrokken. Als er geen manier is om het certificaat op het apparaat bij te werken, kan het apparaat mogelijk geen verbinding maken met IoT Hub, IoT Central of een andere cloudservice op een later moment.
Overweeg het gebruik van Azure Private Link: Met Azure Private Link kunt u uw apparaten verbinden met een privé-eindpunt in uw virtuele netwerk, zodat u de toegang tot de openbare eindpunten van uw IoT-hub kunt blokkeren. Zie Toegangsbeheerobjectconnectiviteit met IoT Hub met behulp van Azure Private Link en Netwerkbeveiliging voor IoT Central met behulp van privé-eindpunten voor meer informatie.
Cloudbeveiliging
Volg een veilige methodologie voor softwareontwikkeling: voor de ontwikkeling van beveiligde software moet u rekening houden met beveiliging vanaf het begin van het project door implementatie, testen en implementatie. De levenscyclus van Microsoft Security Development biedt een stapsgewijze benadering voor het bouwen van beveiligde software.
Kies opensource-software met zorg: Opensource-software biedt een mogelijkheid om snel oplossingen te ontwikkelen. Wanneer u opensource-software kiest, moet u rekening houden met het activiteitsniveau van de community voor elk opensource-onderdeel. Een actieve community zorgt ervoor dat software wordt ondersteund en dat er problemen worden gedetecteerd en opgelost. Een verborgen en inactief opensource-softwareproject wordt mogelijk niet ondersteund en er worden waarschijnlijk geen problemen gedetecteerd.
Integreren met zorg: er bestaan veel softwarebeveiligingsfouten op de grens van bibliotheken en API's. Functionaliteit die mogelijk niet vereist is voor de huidige implementatie, is mogelijk nog steeds beschikbaar via een API-laag. Om de algehele beveiliging te garanderen, moet u alle interfaces van onderdelen controleren die zijn geïntegreerd op beveiligingsfouten.
Cloudreferenties beveiligen: een aanvaller kan de cloudverificatiereferenties gebruiken die u gebruikt om uw IoT-implementatie te configureren en te gebruiken om toegang te krijgen tot en inbreuk te maken op uw IoT-systeem. Beveilig de referenties door het wachtwoord regelmatig te wijzigen en gebruik deze referenties niet op openbare computers.
Toegangsbeheer definiëren voor uw IoT-hub: begrijp en definieer het type toegang dat elk onderdeel in uw IoT Hub-oplossing nodig heeft op basis van de vereiste functionaliteit. Er zijn twee manieren waarop u machtigingen kunt verlenen voor de service-API's om verbinding te maken met uw IoT-hub: Microsoft Entra ID of Shared Access Signatures. Gebruik indien mogelijk Microsoft Entra-id in productieomgevingen, omdat deze betere beveiliging biedt.
Toegangsbeheer definiëren voor uw IoT Central-toepassing: Inzicht in het type toegang dat u inschakelt voor uw IoT Central-toepassing. Raadpleeg voor meer informatie:
Toegangsbeheer definiëren voor back-endservices: andere Azure-services kunnen de gegevens verbruiken die uw IoT-hub of IoT Central-toepassing opneemt vanaf uw apparaten. U kunt berichten van uw apparaten routeren naar andere Azure-services. De juiste toegangsmachtigingen voor IoT Hub of IoT Central begrijpen en configureren om verbinding te maken met deze services. Raadpleeg voor meer informatie:
- Apparaat-naar-cloud-berichten lezen van het ingebouwde IoT Hub-eindpunt
- IoT Hub-berichtroutering gebruiken om apparaat-naar-cloud-berichten naar verschillende eindpunten te verzenden
- IoT Central-gegevens exporteren
- IoT Central-gegevens exporteren naar een veilige bestemming in een virtueel Azure-netwerk
Bewaak uw IoT-oplossing vanuit de cloud: bewaak de algehele status van uw IoT-oplossing met behulp van de metrische Gegevens van IoT Hub in Azure Monitor of Monitor IoT Central-toepassingsstatus.
Diagnostische gegevens instellen: bewaak uw bewerkingen door gebeurtenissen in uw oplossing te registreren en vervolgens de diagnostische logboeken naar Azure Monitor te verzenden. Zie Problemen bewaken en diagnosticeren in uw IoT-hub voor meer informatie.
Volgende stappen
Zie voor meer informatie over IoT-beveiliging: