Betrodd start för Azure Kubernetes Service (AKS)
Betrodd start förbättrar säkerheten för virtuella datorer i generation 2 genom att skydda mot avancerade och beständiga attacktekniker. Det gör det möjligt för administratörer att distribuera AKS-noder, som innehåller de underliggande virtuella datorerna, med verifierade och signerade startladdare, OS-kernels och drivrutiner. Genom att använda säker och uppmätt start får administratörer insikter och förtroende för hela startkedjans integritet.
Den här artikeln hjälper dig att förstå den här nya funktionen och hur du implementerar den.
Översikt
Betrodd start består av flera samordnade infrastrukturtekniker som kan aktiveras oberoende av varandra. Varje teknik ger ytterligare ett lager av skydd mot sofistikerade hot.
vTPM – Betrodd start introducerar en virtualiserad version av en TPM (Hardware Trusted Platform Module ), kompatibel med TPM 2.0-specifikationen. Det fungerar som ett dedikerat säkert valv för nycklar och mått. Betrodd start ger den virtuella datorn en egen dedikerad TPM-instans som körs i en säker miljö utanför alla virtuella datorers räckvidd. VTPM möjliggör attestering genom att mäta hela startkedjan för den virtuella datorn (UEFI, OPERATIVSYSTEM, system och drivrutiner). Betrodd start använder vTPM för att utföra fjärrattestering av molnet. Det används för plattformshälsokontroller och för att fatta förtroendebaserade beslut. Som en hälsokontroll kan betrodd start kryptografiskt certifiera att den virtuella datorn har startats korrekt. Om processen misslyckas, möjligen på grund av att den virtuella datorn kör en obehörig komponent, Microsoft Defender för molnet problem med integritetsaviseringar. Aviseringarna innehåller information om vilka komponenter som inte kunde passera integritetskontroller.
Säker start – I roten för betrodd start finns Säker start för den virtuella datorn. Det här läget, som implementeras i plattformens inbyggda programvara, skyddar mot installation av malware-baserade rootkits och startpaket. Säker start fungerar för att säkerställa att endast signerade operativsystem och drivrutiner kan starta. Den upprättar en "rot av förtroende" för programvarustacken på den virtuella datorn. Med Säker start aktiverat måste alla os-startkomponenter (startinläsare, kernel- och kerneldrivrutiner) signeras av betrodda utgivare. Både Windows och linux-distributioner stöder säker start. Om Säker start inte kan autentisera en avbildning som signerats av en betrodd utgivare, tillåts inte den virtuella datorn att starta. Mer information finns i Säker start.
Innan du börjar
- Azure CLI version 2.44.1 eller senare. Kör
az --version
för att hitta versionen och köraz upgrade
för att uppgradera versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. - Säker start kräver signerade startinläsare, OS-kernels och drivrutiner.
Begränsningar
- AKS stöder betrodd start på version 1.25.2 och senare.
- Trusted Launch stöder endast virtuella Azure Generation 2-datorer.
- Klusternoder som kör Windows Server-operativsystemet stöds inte.
- Betrodd start stöder inte nodpooler med FIPS aktiverat eller baserat på Arm64.
- Betrodd start stöder inte virtuell nod.
- Tillgänglighetsuppsättningar stöds inte, bara VM-skalningsuppsättningar.
- Om du vill aktivera Säker start på GPU-nodpooler måste du hoppa över installationen av GPU-drivrutinen. Mer information finns iHoppa över GPU-drivrutinsinstallation.
- Tillfälliga OS-diskar kan skapas med betrodd start och alla regioner stöds. Alla storlekar på virtuella datorer stöds dock inte. Mer information finns i Betrodda tillfälliga operativsystemstorlekar för start.
Distribuera nytt kluster
Utför följande steg för att distribuera ett AKS-kluster med hjälp av Azure CLI.
Skapa ett AKS-kluster med kommandot az aks create . Granska följande parametrar innan du kör kommandot:
- --name: Ange ett unikt namn för AKS-klustret, till exempel myAKSCluster.
- --resource-group: Ange namnet på en befintlig resursgrupp som ska vara värd för AKS-klusterresursen.
- --enable-secure-boot: Aktiverar säker start för att autentisera en avbildning som signerats av en betrodd utgivare.
- --enable-vtpm: Aktiverar vTPM och utför attestering genom att mäta hela startkedjan för den virtuella datorn.
Kommentar
Säker start kräver signerade startinläsare, OS-kernels och drivrutiner. Om noderna inte startar när du har aktiverat Säker start kan du kontrollera vilka startkomponenter som är ansvariga för fel med säker start på en virtuell Azure Linux-dator. Se verifiera fel med säker start.
I följande exempel skapas ett kluster med namnet myAKSCluster med en nod i myResourceGroup och aktiverar Säker start och vTPM:
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --node-count 1 \ --enable-secure-boot \ --enable-vtpm \ --generate-ssh-keys
Kör följande kommando för att hämta autentiseringsuppgifter för Kubernetes-klustret. Använd kommandot az aks get-credentials och ersätt värdena för klusternamnet och resursgruppens namn.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Lägga till en nodpool med betrodd start aktiverat
Distribuera en nodpool med betrodd start aktiverat med kommandot az aks nodepool add . Granska följande parametrar innan du kör kommandot:
- --cluster-name: Ange namnet på AKS-klustret.
- --resource-group: Ange namnet på en befintlig resursgrupp som ska vara värd för AKS-klusterresursen.
- --name: Ange ett unikt namn för nodpoolen. Namnet på en nodpool får bara innehålla alfanumeriska gemener och måste börja med en gemen bokstav. För Linux-nodpooler måste längden vara mellan 1 och 11 tecken.
- --node-count: Antalet noder i Kubernetes-agentpoolen. Standardvärdet är 3.
- --enable-secure-boot: Aktiverar säker start för att autentisera avbildning som signerats av en betrodd utgivare.
- --enable-vtpm: Aktiverar vTPM och utför attestering genom att mäta hela startkedjan för den virtuella datorn.
Kommentar
Säker start kräver signerade startinläsare, OS-kernels och drivrutiner. Om noderna inte startar när du har aktiverat Säker start kan du kontrollera vilka startkomponenter som är ansvariga för fel med säker start på en virtuell Azure Linux-dator. Se verifiera fel med säker start.
I följande exempel distribueras en nodpool med vTPM aktiverat i ett kluster med namnet myAKSCluster med tre noder:
az aks nodepool add --resource-group myResourceGroup -–cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm
I följande exempel distribueras en nodpool med vTPM och säker start aktiverat i ett kluster med namnet myAKSCluster med tre noder:
az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot
Uppdatera kluster och aktivera betrodd start
Uppdatera en nodpool med betrodd start aktiverat med kommandot az aks nodepool update . Granska följande parametrar innan du kör kommandot:
- --resource-group: Ange namnet på en befintlig resursgrupp som är värd för ditt befintliga AKS-kluster.
- --cluster-name: Ange ett unikt namn för AKS-klustret, till exempel myAKSCluster.
- --name: Ange namnet på nodpoolen, till exempel mynodepool.
- --enable-secure-boot: Aktiverar säker start för att autentisera att avbildningen signerats av en betrodd utgivare.
- --enable-vtpm: Aktiverar vTPM och utför attestering genom att mäta hela startkedjan för den virtuella datorn.
Kommentar
Som standard resulterar skapandet av en nodpool med en TL-kompatibel konfiguration i en betrodd startbild. Utan att ange --enable-vtpm
eller --enable-secure-boot
parametrar inaktiveras de som standard och du kan aktivera dem senare med hjälp av az aks nodepool update
kommandot . Den befintliga nodpoolen måste använda en betrodd startbild för att kunna aktiveras i en befintlig nodpool.
Kommentar
Säker start kräver signerade startinläsare, OS-kernels och drivrutiner. Om noderna inte startar när du har aktiverat Säker start kan du kontrollera vilka startkomponenter som är ansvariga för fel med säker start på en virtuell Azure Linux-dator. Se verifiera fel med säker start.
I följande exempel uppdateras nodpoolens mynodepool på myAKSCluster i myResourceGroup och aktiverar säker start och vTPM:
az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot --enable-vtpm
Tilldela poddar till noder med betrodd start aktiverat
Du kan begränsa en podd och begränsa den så att den körs på en specifik nod eller noder, eller inställningar för noder med betrodd start aktiverat. Du kan styra detta med hjälp av följande nodpoolväljare i poddmanifestet.
Använd följande för en nodpool som kör vTPM:
spec:
nodeSelector:
kubernetes.azure.com/trusted-launch: true
Använd följande för en nodpool som kör säker start:
spec:
nodeSelector:
kubernetes.azure.com/secure-boot: true
Inaktivera säker start
Om du vill inaktivera säker start i ett AKS-kluster kör du följande kommando:
az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot
Kommentar
Uppdateringar startar automatiskt en nodåterimering och den här åtgärden kan ta flera minuter per nod.
Inaktivera vTPM
Om du vill inaktivera vTPM i ett AKS-kluster kör du följande kommando:
az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm
Nästa steg
I den här artikeln har du lärt dig hur du aktiverar betrodd start. Läs mer om betrodd start.
Azure Kubernetes Service