Vertrouwde start (preview) voor Azure Kubernetes Service (AKS)

Vertrouwde lancering (preview) verbetert de beveiliging van virtuele machines van de tweede generatie (VM's) door te beschermen tegen geavanceerde en permanente aanvalstechnieken. Hiermee kunnen beheerders AKS-knooppunten implementeren, die de onderliggende virtuele machines bevatten, met geverifieerde en ondertekende bootloaders, besturingssysteemkernels en stuurprogramma's. Met behulp van beveiligd en gemeten opstarten krijgen beheerders inzicht en vertrouwen in de integriteit van de gehele opstartketen.

Dit artikel helpt u deze nieuwe functie te begrijpen en hoe u deze implementeert.

Overzicht

Vertrouwde lancering bestaat uit verschillende, gecoördineerde infrastructuurtechnologieën die onafhankelijk van elkaar kunnen worden ingeschakeld. Elke technologie biedt een andere verdedigingslaag tegen geavanceerde bedreigingen.

  • vTPM - Vertrouwde lancering introduceert een gevirtualiseerde versie van een TPM (Trusted Platform Module ), die voldoet aan de TPM 2.0-specificatie. Het fungeert als een speciale beveiligde kluis voor sleutels en metingen. Vertrouwde start biedt uw virtuele machine een eigen toegewezen TPM-exemplaar dat wordt uitgevoerd in een beveiligde omgeving buiten het bereik van een virtuele machine. Met vTPM kunt u attestation inschakelen door de volledige opstartketen van uw VM (UEFI, BEsturingssysteem, systeem en stuurprogramma's) te meten. Vertrouwde lancering maakt gebruik van vTPM om externe attestation door de cloud uit te voeren. Het wordt gebruikt voor platformstatuscontroles en voor het nemen van beslissingen op basis van vertrouwen. Als statuscontrole kan vertrouwd starten cryptografisch certificeren dat uw VIRTUELE machine correct is opgestart. Als het proces mislukt, mogelijk omdat uw VM een niet-geautoriseerd onderdeel uitvoert, Microsoft Defender voor Cloud integriteitswaarschuwingen krijgt. De waarschuwingen bevatten details over welke onderdelen niet voldoen aan integriteitscontroles.

  • Beveiligd opstarten : in de hoofdmap van vertrouwde start is Beveiligd opstarten voor uw VIRTUELE machine. Deze modus, die is geïmplementeerd in platformfirmware, beschermt tegen de installatie van op malware gebaseerde rootkits en bootkits. Beveiligd opstarten werkt om ervoor te zorgen dat alleen ondertekende besturingssystemen en stuurprogramma's kunnen worden opgestart. Hiermee wordt een 'vertrouwenshoofdmap' voor de softwarestack op uw VIRTUELE machine tot stand brengt. Als Beveiligd opstarten is ingeschakeld, moeten alle opstartonderdelen van het besturingssysteem (opstartlaadprogramma, kernel, kernelstuurprogramma's) worden ondertekend door vertrouwde uitgevers. Zowel Windows als bepaalde Linux-distributies ondersteunen Beveiligd opstarten. Als beveiligd opstarten mislukt om een installatiekopie te verifiëren die is ondertekend door een vertrouwde uitgever, kan de VM niet worden opgestart. Zie voor meer informatie beveiligd opstarten.

Voordat u begint

  • Azure CLI versie 2.44.1 of hoger. Voer az --version deze uit om de versie te vinden en voer deze uit az upgrade om de versie te upgraden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

  • De aks-preview Azure CLI-extensie versie 1.0.0b6 of hoger.

  • Registreer de TrustedLaunchPreview functie in uw Azure-abonnement.

  • AKS ondersteunt vertrouwde lancering (preview) op versie 1.25.2 en hoger.

  • Trusted Launch biedt alleen ondersteuning voor Azure Generation 2-VM's.

  • Beveiligd opstarten vereist ondertekende opstartladers, besturingssysteemkernels en stuurprogramma's.

De Azure CLI-extensie aks-preview installeren

Belangrijk

AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals is' en 'als beschikbaar' en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

Voer de volgende opdracht uit om de aks-preview-extensie te installeren:

az extension add --name aks-preview

Voer de volgende opdracht uit om bij te werken naar de nieuwste versie van de extensie die is uitgebracht:

az extension update --name aks-preview

De functievlag TrustedLaunchPreview registreren

Registreer de TrustedLaunchPreview functievlag met behulp van de opdracht az feature register , zoals wordt weergegeven in het volgende voorbeeld:

az feature register --namespace "Microsoft.ContainerService" --name "TrustedLaunchPreview"

Het duurt enkele minuten voordat de status Geregistreerd wordt weergegeven. Controleer de registratiestatus met behulp van de opdracht az feature show :

az feature show --namespace "Microsoft.ContainerService" --name "TrustedLaunchPreview"

Wanneer de status Geregistreerd is, vernieuwt u de registratie van de Resourceprovider Microsoft.ContainerService met behulp van de opdracht az provider register:

az provider register --namespace "Microsoft.ContainerService"

Beperkingen

  • Clusterknooppunten waarop het Windows Server-besturingssysteem wordt uitgevoerd, worden niet ondersteund.
  • Vertrouwde start (preview) biedt geen ondersteuning voor knooppuntgroepen waarvoor FIPS is ingeschakeld of op basis van ARM64.
  • Beschikbaarheidssets worden niet ondersteund, alleen virtuele-machineschaalsets.
  • Als u Beveiligd opstarten wilt inschakelen voor GPU-knooppuntgroepen, moet u het installeren van het GPU-stuurprogramma overslaan. ZieDe installatie van GPU-stuurprogramma's overslaan voor meer informatie.
  • Tijdelijke besturingssysteemschijven kunnen worden gemaakt met vertrouwde lancering en alle regio's worden ondersteund. Niet alle grootten van virtuele machines worden echter ondersteund. Zie Tijdelijke besturingssysteemgrootten voor vertrouwde lanceringen voor meer informatie.

Nieuw cluster implementeren

Voer de volgende stappen uit om een AKS-cluster te implementeren met behulp van de Azure CLI.

  1. Maak een AKS-cluster met behulp van de opdracht az aks create . Controleer de volgende parameters voordat u de opdracht uitvoert:

    • --name: Voer een unieke naam in voor het AKS-cluster, zoals myAKSCluster.
    • --resource-group: voer de naam in van een bestaande resourcegroep om de AKS-clusterresource te hosten.
    • --enable-secure-boot: hiermee schakelt u Beveiligd opstarten in om een installatiekopie te verifiëren die is ondertekend door een vertrouwde uitgever.
    • --enable-vtpm: schakelt vTPM in en voert attestation uit door de volledige opstartketen van uw VIRTUELE machine te meten.

    Notitie

    Beveiligd opstarten vereist ondertekende opstartladers, besturingssysteemkernels en stuurprogramma's. Als uw knooppunten na het inschakelen van Beveiligd opstarten niet worden gestart, kunt u controleren welke opstartonderdelen verantwoordelijk zijn voor beveiligd opstarten binnen een virtuele Azure Linux-machine. Zie Fouten bij beveiligd opstarten controleren.

    In het volgende voorbeeld wordt een cluster met de naam myAKSCluster gemaakt met één knooppunt in myResourceGroup en wordt Beveiligd opstarten en vTPM ingeschakeld:

    az aks create --name myAKSCluster --resource-group myResourceGroup --node-count 1 --enable-secure-boot --enable-vtpm --enable-managed-identity --generate-ssh-keys
    
  2. Voer de volgende opdracht uit om toegangsreferenties op te halen voor het Kubernetes-cluster. Gebruik de opdracht az aks get-credentials en vervang de waarden voor de clusternaam en de naam van de resourcegroep.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

Een knooppuntgroep toevoegen waarvoor vertrouwde start is ingeschakeld

Implementeer een knooppuntgroep waarvoor vertrouwde start is ingeschakeld met behulp van de opdracht az aks nodepool add . Controleer de volgende parameters voordat u de opdracht uitvoert:

  • --clusternaam: voer de naam van het AKS-cluster in.
  • --resource-group: voer de naam in van een bestaande resourcegroep om de AKS-clusterresource te hosten.
  • --name: Voer een unieke naam in voor de knooppuntgroep. De naam van een knooppuntgroep mag alleen alfanumerieke tekens in kleine letters bevatten en moet beginnen met een kleine letter. Voor Linux-knooppuntgroepen moet de lengte tussen 1 en 11 tekens lang zijn.
  • --node-count: het aantal knooppunten in de Kubernetes-agentgroep. De standaardwaarde is 3.
  • --enable-secure-boot: hiermee schakelt u Beveiligd opstarten in om de installatiekopie te verifiëren die is ondertekend door een vertrouwde uitgever.
  • --enable-vtpm: schakelt vTPM in en voert attestation uit door de volledige opstartketen van uw VIRTUELE machine te meten.

Notitie

Beveiligd opstarten vereist ondertekende opstartladers, besturingssysteemkernels en stuurprogramma's. Als uw knooppunten na het inschakelen van Beveiligd opstarten niet worden gestart, kunt u controleren welke opstartonderdelen verantwoordelijk zijn voor beveiligd opstarten binnen een virtuele Azure Linux-machine. Zie Fouten bij beveiligd opstarten controleren.

In het volgende voorbeeld wordt een knooppuntgroep geïmplementeerd waarvoor vTPM is ingeschakeld op een cluster met de naam myAKSCluster met drie knooppunten:

az aks nodepool add --resource-group myResourceGroup -–cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm  

In het volgende voorbeeld wordt een knooppuntgroep geïmplementeerd met vTPM en Beveiligd opstarten ingeschakeld op een cluster met de naam myAKSCluster met drie knooppunten:

az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot

Cluster bijwerken en vertrouwde start inschakelen

Werk een knooppuntgroep bij met vertrouwde start ingeschakeld met behulp van de opdracht az aks nodepool update . Controleer de volgende parameters voordat u de opdracht uitvoert:

  • --resource-group: voer de naam in van een bestaande resourcegroep die als host fungeert voor uw bestaande AKS-cluster.
  • --clusternaam: Voer een unieke naam in voor het AKS-cluster, zoals myAKSCluster.
  • --name: Voer de naam in van uw knooppuntgroep, zoals mynodepool.
  • --enable-secure-boot: schakelt Beveiligd opstarten in om te verifiëren dat de installatiekopie is ondertekend door een vertrouwde uitgever.
  • --enable-vtpm: schakelt vTPM in en voert attestation uit door de volledige opstartketen van uw VIRTUELE machine te meten.

Notitie

De bestaande knooppuntpool moet een vertrouwde opstartinstallatiekopieën gebruiken om een bestaande knooppuntgroep in te schakelen. Daarom kunt u voor de knooppuntpools die zijn gemaakt voordat u de TrustedLaunchPreview functie registreert, deze niet bijwerken met vertrouwde start ingeschakeld.

Het maken van een knooppuntgroep met een TL-compatibele configuratie en de geregistreerde functievlag resulteert standaard in een vertrouwde opstartinstallatiekopieën. Zonder parameters op te --enable-vtpm geven of --enable-secure-boot op te geven, worden ze standaard uitgeschakeld en kunt u later inschakelen met behulp van az aks nodepool update de opdracht.

Notitie

Beveiligd opstarten vereist ondertekende opstartladers, besturingssysteemkernels en stuurprogramma's. Als uw knooppunten na het inschakelen van Beveiligd opstarten niet worden gestart, kunt u controleren welke opstartonderdelen verantwoordelijk zijn voor beveiligd opstarten binnen een virtuele Azure Linux-machine. Zie Fouten bij beveiligd opstarten controleren.

In het volgende voorbeeld wordt de mynodepool van de knooppuntgroep bijgewerkt op myAKSClusterin myResourceGroup en wordt Beveiligd opstarten en vTPM ingeschakeld:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot --enable-vtpm 

Pods toewijzen aan knooppunten waarvoor vertrouwde start is ingeschakeld

U kunt een pod beperken en deze beperken tot uitvoering op een specifiek knooppunt of knooppunt, of voorkeur voor knooppunten waarvoor vertrouwde start is ingeschakeld. U kunt dit beheren met behulp van de volgende knooppuntgroepkiezer in uw podmanifest.

Voor een knooppuntgroep waarop vTPM wordt uitgevoerd, past u het volgende toe:

spec:
  nodeSelector:
        kubernetes.azure.com/trusted-launch: true

Voor een knooppuntgroep waarop Beveiligd opstarten wordt uitgevoerd, past u het volgende toe:

spec:
  nodeSelector:
        kubernetes.azure.com/secure-boot: true

Beveiligd opstarten uitschakelen

Voer de volgende opdracht uit om Beveiligd opstarten uit te schakelen op een AKS-cluster:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot 

Notitie

Updates starten automatisch een nieuwe installatiekopie van een knooppunt en deze bewerking kan enkele minuten per knooppunt duren.

vTPM uitschakelen

Voer de volgende opdracht uit om vTPM uit te schakelen op een AKS-cluster:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm

Volgende stappen

In dit artikel hebt u geleerd hoe u vertrouwde lancering inschakelt. Meer informatie over vertrouwde lancering.