IoT Edge voor Linux op Windows-beveiliging
Van toepassing op: IoT Edge 1.5
Belangrijk
IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
Azure IoT Edge voor Linux in Windows profiteert van alle beveiligingsaanbiedingen die worden uitgevoerd op een Windows Client/Server-host en zorgt ervoor dat alle extra onderdelen dezelfde beveiligingslocatie behouden. Dit artikel bevat informatie over de verschillende beveiligingsruimten die standaard zijn ingeschakeld en sommige van de optionele premises die de gebruiker mogelijk inschakelt.
Beveiliging van virtuele machines
De gecureerde virtuele machine van IoT Edge voor Linux (EFLOW) is gebaseerd op Microsoft CBL-Mariner. CBL-Mariner is een interne Linux-distributie voor de cloudinfrastructuur en edge-producten en -services van Microsoft. CBL-Mariner is ontworpen om een consistent platform te bieden voor deze apparaten en services en verbetert de mogelijkheid van Microsoft om op de hoogte te blijven van Linux-updates. Zie CBL-Mariner security voor meer informatie.
De virtuele EFLOW-machine is gebouwd op een vierpunts uitgebreid beveiligingsplatform:
- Onderhoudsupdates
- Alleen-lezen hoofdbestandssysteem
- Firewallvergrendeling
- DM-Verity
Onderhoudsupdates
Wanneer er beveiligingsproblemen optreden, maakt CBL-Mariner de nieuwste beveiligingspatches en oplossingen beschikbaar voor onderhoud via maandelijkse ELOW-updates. De virtuele machine heeft geen pakketbeheer, dus het is niet mogelijk om RPM-pakketten handmatig te downloaden en te installeren. Alle updates voor de virtuele machine worden geïnstalleerd met behulp van het EFLOW A/B-updatemechanisme. Zie IoT Edge voor Linux bijwerken in Windows voor meer informatie over EFLOW-updates
Alleen-lezen hoofdbestandssysteem
De virtuele EFLOW-machine bestaat uit twee hoofdpartities rootfs en gegevens. De rootFS-A- of rootFS-B-partities zijn uitwisselbaar en een van de twee is gekoppeld als een alleen-lezen bestandssysteem, /
wat betekent dat er geen wijzigingen zijn toegestaan voor bestanden die in deze partitie zijn opgeslagen. Aan de andere kant is de gekoppelde gegevenspartitie /var
leesbaar en schrijfbaar, zodat de gebruiker de inhoud binnen de partitie kan wijzigen. De gegevens die op deze partitie zijn opgeslagen, worden niet gemanipuleerd door het updateproces en worden daarom niet gewijzigd in updates.
Omdat u mogelijk schrijftoegang nodig hebt tot /etc
, /home
, /root
voor /var
specifieke gebruiksvoorbeelden, wordt schrijftoegang voor deze directory's uitgevoerd door ze over te leggen op onze gegevenspartitie specifiek voor de map /var/.eflow/overlays
. Het eindresultaat hiervan is dat gebruikers alles kunnen schrijven naar de eerder genoemde mappen. Zie overlays voor meer informatie over overlays.
Partitie | Tekengrootte | Beschrijving |
---|---|---|
BootEFIA | 8 MB | Firmwarepartitie A voor toekomstig GRUBless opstarten |
BootA | 192 MB | Bevat de bootloader voor een partitie |
RootFS A | 4 GB | Een van de twee actieve/passieve partities met het hoofdbestandssysteem |
BootEFIB | 8 MB | Firmwarepartitie B voor toekomstig GRUBless opstarten |
BootB | 192 MB | Bevat de bootloader voor B-partitie |
RootFS B | 4 GB | Een van de twee actieve/passieve partities met het hoofdbestandssysteem |
Logboek | 1 GB of 6 GB | Registreert specifieke partitie gekoppeld onder /logs |
Gegevens | 2 GB tot 2 TB | Stateful partitie voor het opslaan van permanente gegevens tussen updates. Uitbreidbaar volgens de implementatieconfiguratie |
Notitie
De partitieindeling vertegenwoordigt de grootte van de logische schijf en geeft niet aan welke fysieke ruimte de virtuele machine op de hostschijf van het besturingssysteem zal innemen.
Firewall
De virtuele EFLOW-machine maakt standaard gebruik van het hulpprogramma iptables voor firewallconfiguraties. Iptables worden gebruikt voor het instellen, onderhouden en inspecteren van de tabellen van IP-pakketfilterregels in de Linux-kernel. De standaard implementatie staat alleen binnenkomend verkeer toe op poort 22 (SSH-service) en blokkeert het verkeer anders. U kunt de iptables-configuratie controleren met de volgende stappen:
Een PowerShell-sessie met verhoogde bevoegdheid openen
Verbinding maken met de virtuele EFLOW-machine
Connect-EflowVm
Alle iptables-regels weergeven
sudo iptables -L
Geverifieerd opstarten
De virtuele EFLOW-machine ondersteunt geverifieerd opstarten via de meegeleverde kernelfunctie device-mapper-verity (dm-verity), die transparante integriteitscontrole van blokapparaten biedt. dm-verity helpt permanente rootkits te voorkomen die kunnen vasthouden aan hoofdbevoegdheden en apparaten in gevaar kunnen komen. Deze functie zorgt ervoor dat de basissoftwareinstallatiekopieën van de virtuele machine hetzelfde zijn en niet zijn gewijzigd. De virtuele machine gebruikt de dm-verity-functie om een specifiek blokapparaat, de onderliggende opslaglaag van het bestandssysteem te controleren en te bepalen of deze overeenkomt met de verwachte configuratie.
Deze functie is standaard uitgeschakeld op de virtuele machine en kan worden ingeschakeld of uitgeschakeld. Zie dm-verity voor meer informatie.
Tpm (Trusted Platform Module)
Tpm-technologie (Trusted Platform Module) is ontworpen om hardwaregebaseerde, beveiligingsgerelateerde functies te bieden. Een TPM-chip is een veilige cryptoprocessor die is ontworpen voor het uitvoeren van cryptografische bewerkingen. De chip bevat meerdere fysieke beveiligingsmechanismen om het manipulatiebestendig te maken en schadelijke software kan niet knoeien met de beveiligingsfuncties van de TPM.
De virtuele EFLOW-machine biedt geen ondersteuning voor vTPM. De gebruiker kan echter de TPM-passthroughfunctie in- of uitschakelen waarmee de virtuele EFLOW-machine de TPM van het Windows-host-besturingssysteem kan gebruiken. Dit maakt twee hoofdscenario's mogelijk:
- TPM-technologie gebruiken voor het inrichten van IoT Edge-apparaten met behulp van Device Provision Service (DPS). Zie Een IoT Edge voor Linux-apparaat op schaal maken en inrichten met behulp van een TPM voor meer informatie.
- Alleen-lezentoegang tot cryptografische sleutels die zijn opgeslagen in de TPM. Zie Set-EflowVmFeature om TPM-passthrough in te schakelen voor meer informatie.
Communicatie tussen host en virtuele machines beveiligen
EFLOW biedt meerdere manieren om met de virtuele machine te communiceren door een uitgebreide PowerShell-module-implementatie beschikbaar te maken. Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie. Voor deze module moet een sessie met verhoogde bevoegdheid worden uitgevoerd en deze is ondertekend met behulp van een Microsoft Corporation-certificaat.
Alle communicatie tussen het Windows-hostbesturingssysteem en de virtuele EFLOW-machine die door de PowerShell-cmdlets is vereist, worden uitgevoerd met behulp van een SSH-kanaal. De SSH-service van de virtuele machine staat standaard geen verificatie toe via gebruikersnaam en wachtwoord en is beperkt tot certificaatverificatie. Het certificaat wordt gemaakt tijdens het EFLOW-implementatieproces en is uniek voor elke EFLOW-installatie. Om SSH-beveiligingsaanvallen te voorkomen, blokkeert de virtuele machine bovendien een IP-adres als er meer dan drie verbindingen per minuut naar de SSH-service worden geprobeerd.
In de versie EFLOW Continuous Release (CR) hebben we een wijziging geïntroduceerd in het transportkanaal dat wordt gebruikt om de SSH-verbinding tot stand te brengen. Oorspronkelijk wordt de SSH-service uitgevoerd op TCP-poort 22, die toegankelijk is voor alle externe apparaten in hetzelfde netwerk met behulp van een TCP-socket naar die specifieke poort. Om veiligheidsredenen voert EFLOW CR de SSH-service uit via Hyper-V-sockets in plaats van normale TCP-sockets. Alle communicatie via Hyper-V-sockets wordt uitgevoerd tussen het Windows-hostbesturingssysteem en de virtuele EFLOW-machine, zonder netwerken te gebruiken. Dit beperkt de toegang van de SSH-service, waardoor verbindingen alleen worden beperkt tot het Windows-hostbesturingssystemen. Zie Hyper-V-sockets voor meer informatie.
Volgende stappen
Meer informatie over Windows IoT-beveiligings-premises
Blijf up-to-date met de nieuwste Updates voor IoT Edge voor Linux in Windows.