Dela via


Metadata Security Protocol (MSP)

Metadata Security Protocol (MSP) är en funktion i tjänsterna Azure Virtual Machines och Azure Virtual Machine Scale Sets. Det förbättrar säkerheten för Azure Instance Metadata Service och WireServer-tjänsterna . Dessa tjänster är tillgängliga i Azure infrastruktur som en tjänst (IaaS) virtuella maskiner (VM:er) eller skalningsuppsättningar för virtuella maskiner vid 169.254.169.254 respektive 168.63.129.16.

Organisationer använder Instance Metadata Service och WireServer för att tillhandahålla metadata och bootstrapping vm-autentiseringsuppgifter. Det innebär att hotaktörer ofta riktar in sig på dessa tjänster. Vanliga vektorer inkluderar förvirrade ställföreträdarattacker mot gästarbetsbelastningar och sandbox-flykter. Dessa vektorer är särskilt viktiga för värdbaserade arbetsbelastningar där obetrodd kod läses in på den virtuella datorn.

Med metadatatjänster är förtroendegränsen själva den virtuella datorn. Programvara inom gästen har behörighet att begära hemligheter från Instance Metadata Service och WireServer. Vm-ägare ansvarar för att noggrant sandboxa alla program som de kör i den virtuella datorn och se till att externa aktörer inte kan exfiltera data. I praktiken leder problemets komplexitet till misstag i stor skala, vilket i sin tur leder till kryphål.

Även om det finns många strategier för skydd på djupet innebär det en inneboende risk att tillhandahålla hemligheter över ett oautentiserat HTTP-API. I hela branschen har denna klass av sårbarheter påverkat hundratals företag, påverkat miljontals individer och orsakat ekonomiska förluster i hundratals miljoner dollar.

MSP stänger de vanligaste säkerhetsriskerna genom att:

  • Åtgärda grundorsaken till dessa attacker.
  • Introduktion till starka autentiserings- och auktoriseringsbegrepp för molnmetadatatjänster.

Kompatibilitet

MSP stöds på virtuella Azure IaaS-datorer och vm-skalningsuppsättningar som kör dessa operativsystem:

  • Windows 10 eller senare (x64)
  • Windows Server 2019 (x64)
  • Windows Server 2022 (x64)
  • Windows Server 2025 (x64)
  • Mariner 2.0 (x64, ARM64)
  • Azure Linux (Mariner 3.0) (x64, ARM64)
  • Ubuntu 20.04+ (x64, ARM64)

Följande objekt stöds för närvarande inte:

  • Red Hat Enterprise Linux 9+
  • Rocky Linux 9+
  • SUSE Linux Enterprise Server 15 SP4+
  • Tillfälliga diskar
  • Kompatibilitet med Azure Backup
  • ARM64

Förbättrad säkerhet

GpA (Guest Proxy Agent) härdar mot dessa typer av attacker genom att:

  • Begränsa metadataåtkomsten till en delmängd av den virtuella datorn (tillämpa principen om åtkomst med minst privilegier).

  • Växla från en standard öppen modell till en standardsluten modell.

    Med kapslad virtualisering kan till exempel en felkonfigurerad virtuell L2-dator som har åtkomst till den virtuella L1-datorns virtuella nätverkskort kommunicera med en metadatatjänst som L1. Med GPA kunde en felkonfigurerad L2 inte längre få åtkomst, eftersom den inte skulle kunna autentisera med tjänsten.

Vid installationstidpunkten upprättar metadatatjänsten en betrodd representant i gästen (GPA). En långlivad hemlighet förhandlas fram för att autentisera med den betrodda delegaten. Ombudet måste godkänna alla begäranden till metadatatjänsten med hjälp av en hashbaserad kod för meddelandeautentisering (HMAC). HMAC upprättar en punkt-till-punkt-förtroenderelation med stark auktorisering.

GPA använder eBPF för att fånga upp HTTP-begäranden till metadatatjänsten. eBPF gör det möjligt för GPA att verifiera identiteten för gästprogramvaran som gjorde begäran. GPA använder eBPF för att fånga upp begäranden utan att kräva en extra kernelmodul. GPA använder den här informationen för att jämföra klientens identitet med en tillåten lista som definierats som en del av VM-modellen i Azure Resource Manager (ARM). GPA godkänner sedan begäranden genom att lägga till en signaturrubrik. Därför kan du aktivera MSP-funktionen på befintliga arbetsbelastningar utan att göra några större ändringar.

Som standard tillämpas de befintliga auktoriseringsnivåerna:

  • Instansmetadatatjänsten är öppen för alla användare.
  • WireServer är endast för root/admin.

Den här begränsningen genomförs för närvarande med brandväggsregler hos gästen. Detta är fortfarande en standardöppningsmekanism. Om den regeln kan inaktiveras eller kringgås av någon anledning godkänner metadatatjänsten fortfarande begäran. Auktoriseringsmekanismen som är aktiverad här är standardsluten. Att kringgå avlyssning med ont uppsåt eller av misstag ger inte åtkomst till metadatatjänsten.

Du kan konfigurera en avancerad auktoriseringskonfiguration (d.v.s. auktorisera specifika gästprocesser och användare att endast komma åt specifika slutpunkter) genom att definiera en anpassad allowlist med rollbaserad åtkomstkontroll (RBAC) semantik.

Varning

Observera att användarna i Windows kan aktivera GuestProxyAgent (GPA) från en ARM-mall. Men i Linux är det en tvåstegsprocess. Den virtuella datorn/VMSS etableras först och endast då kan GPA konfigureras.