Delen via


IoT Edge voor Linux op Windows-beveiliging

Van toepassing op:IoT Edge 1.5-vinkje 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:

  1. Onderhoudsupdates
  2. Alleen-lezen hoofdbestandssysteem
  3. Firewallvergrendeling
  4. 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, /rootvoor /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.

Indeling van EFLOW CR-partitie

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:

  1. Een PowerShell-sessie met verhoogde bevoegdheid openen

  2. Verbinding maken met de virtuele EFLOW-machine

    Connect-EflowVm
    
  3. Alle iptables-regels weergeven

    sudo iptables -L
    

    Standaard-EFLOW-iptables

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:

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.