Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här funktionen är för närvarande i offentlig förhandsversion. Produktionsarbetsbelastningar stöds.
Tillägg för virtuella Linux-datorer uppfyller för närvarande FIPS 140-2, men uppdateringar av plattformen krävdes för att lägga till stöd för FIPS 140-3. Dessa ändringar aktiveras för närvarande i det kommersiella molnet och Azure Government-molnen. Linux VM-tillägg som använder skyddade inställningar uppdateras också för att kunna använda en FIPS 140-3-kompatibel krypteringsalgoritm. Den här artikeln hjälper dig att aktivera stöd för FIPS 140-3 på virtuella Linux-datorer där kompatibilitet med FIPS 140-3 tillämpas. Den här ändringen behövs inte på Windows-avbildningar på grund av hur FIPS-efterlevnad implementeras.
Mer information finns i What are the Federal Information Processing Standards (FIPS)?.
Anmärkning
Prova VM-hjälp för snabbare diagnostik. Vi rekommenderar att du kör VM-hjälpen för Windows eller VM-hjälpen för Linux. De här skriptbaserade diagnostikverktygen hjälper dig att identifiera vanliga problem som påverkar gästagenten för virtuella Azure-datorer och övergripande hälsotillstånd för virtuella datorer.
Om du har prestandaproblem med virtuella datorer kör du dessa verktyg innan du kontaktar supporten.
Bekräftade tillägg som stöds
| Extension | Moln som stöds Kommersiell Regering Luftspärr |
|---|---|
| MICROSOFT. AKS. BERÄKNA. AKS. LINUX. AKSNODE | Kommersiell Myndigheter |
| MICROSOFT. AKS. BERÄKNA. AKS. LINUX. FAKTURERING | Kommersiell Myndigheter |
| MICROSOFT.AZURE.AZUREDEFENDERFORSERVERS.MDE.LINUX | Kommersiell Myndigheter |
| MICROSOFT.AZURE.EXTENSIONS.CUSTOMSCRIPT | Kommersiell Myndigheter |
| MICROSOFT.AZURE.KEYVAULT.KEYVAULTFORLINUX | Kommersiell Myndigheter |
| MICROSOFT.AZURE.MONITOR.AZUREMONITORLINUXAGENT | Kommersiell Myndigheter |
| MICROSOFT.AZURE.MONITORING.DEPENDENCYAGENT.DEPENDENCYAGENTLINUX | Kommersiellt |
| MICROSOFT.AZURE.NETWORKWATCHER.NETWORKWATCHERAGENTLINUX | Kommersiell Myndigheter |
| MICROSOFT.AZURE.RECOVERYSERVICES.VMSNAPSHOT | Kommersiellt |
| MICROSOFT.AZURE.SECURITY.MONITORING.AZURESECURITYLINUXAGENT | Kommersiellt |
| MICROSOFT.CPLAT.CORE.LINUXPATCHEXTENSION | Kommersiell Myndigheter |
| MICROSOFT.CPLAT.KÄRNA.RUNCOMMANDLINUX | Kommersiell Myndigheter |
| MICROSOFT.CPLAT.CORE.VMAPPLICATIONMANAGERLINUX | Kommersiell Myndigheter |
| MICROSOFT. CPLAT. PROXYAGENT. PROXYAGENTLINUX | Kommersiell Myndigheter |
| MICROSOFT.CPLAT.PROXYAGENT.PROXYAGENTLINUXARM64 | Kommersiell Myndigheter |
| MICROSOFT.GUESTCONFIGURATION.CONFIGURATIONFORLINUX | Kommersiellt |
| MICROSOFT.MANAGEDSERVICES.APPLICATIONHEALTHLINUX | Kommersiell Myndigheter |
| MICROSOFT.OSTCEXTENSIONS.VMACCESSFORLINUX | Kommersiell Myndigheter |
Förutsättningar
Du måste uppfylla följande fyra krav för att använda en FIPS 140-3-kompatibel virtuell dator i Azure:
- Den virtuella datorn måste finnas i en region där FIPS 140-3-plattformsändringar distribueras.
- Din Azure-prenumeration måste vara anmäld till FIPS 140-3-aktivering.
- Varje virtuell dator måste registreras i FIPS 140-3-aktivering i Azure Resource Manager.
- I gästoperativsystemet (OS) måste operativsystemet konfigureras för FIPS 140-läge. Operativsystemet måste köra en version av Azure-gästagenten (waagent), som också är kompatibel med FIPS 140-3.
Kontrollera sedan för att säkerställa funktionerna i vm-tilläggen.
Implementera förutsättningar
1. Prenumerationsaktivering/anmäl dig
Eftersom inte alla tillägg registreras med FIPS 140-3-kryptering ännu kräver vi att prenumerationen väljer funktionen _Microsoft.Compute/OptInToFips1403Compliance_.
Azure CLI (kommandoradsgränssnittet för Azure)
az feature register --namespace Microsoft.Compute --name OptInToFips1403Compliance
Kontrollera med följande kommando:
az feature list | jq '.[] | select(.name=="Microsoft.Compute/OptInToFips1403Compliance")'
{
"id": "/subscriptions/<SUBSCRIPTION ID>/providers/Microsoft.Features/providers/Microsoft.Compute/features/OptInToFips1403Compliance",
"name": "Microsoft.Compute/OptInToFips1403Compliance",
"properties": {
"state": "Registered"
},
"type": "Microsoft.Features/providers/features"
}
2. Per-VM anmäl dig
Det finns olika metoder för att välja varje virtuell dator. Du kan göra ändringarna vid distributionen för en ny virtuell dator. Du kan också ändra en befintlig virtuell dator för att lägga till FIPS 140-3-aktiveringen på Azure-plattformen.
Varning
Vi rekommenderar inte att du använder följande opt-in-metoder i Red Hat Enterprise Linux (RHEL) 9.5 och 9.6 genom att använda version 2.7.0.6 av WALinuxAgent på produktionssystem. Ett problem kan uppstå efter omstarten, efter FIPS-aktiveringen och efterföljande omstart. På dessa virtuella datorer går waagent.service in i en intern loop och kommer aldrig till ett Ready läge. På grund av det här felet kan inga tillägg fungera. För testning kan du prova lösningen RHEL 9.
Distribuera en ny virtuell dator
Om du vill distribuera en ny virtuell dator med FIPS 140-3 aktiverad omedelbart använder du en Azure Resource Manager-mall (ARM-mall) eller Azure CLI. Lägg till egenskapen enableFips1403Encryption i additionalCapabilities avsnittet i objektdefinitionen virtualMachines .
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2024-11-01",
"name": "[parameters('vmName')]",
"location": "[parameters('location')]",
"properties": {
"additionalCapabilities": {
"enableFips1403Encryption": true
}
}
}
Ändra en befintlig virtuell dator
az cli-kommandon
Anmärkning
För government-molnet använder du https://management.usgovcloudapi.net i stället för https://management.azure.com.
Uppdateringar av SDK/CLI pågår fortfarande, men du kan fortsätta att använda az cli för att lägga till egenskapen.
az rest \
--method put \
--url 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>/?api-version=2024-11-01' \
--body '{"location": "<LOCATION>", "properties": {"additionalCapabilities": {"enableFips1403Encryption": true}}}'
put När kommandot körs matas den resulterande JSON-filen ut för den ändrade virtuella datorn. För senare verifiering kan du köra det här get kommandot mot VM-objektet, som matar ut den fullständiga JSON-filen igen.
az rest \
--method get \
--url 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>/?api-version=2024-11-01'
Kommandoutdata bör innehålla:
{
"enableFips1403Encryption": true
}
För att enklare hitta egenskapen i utdata kan du lägga till jq för att parsa ut det specifika avsnitt som behövs. Det här blocket är det nya kommandot:
az rest \
--method get \
--url 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>/?api-version=2024-11-01' \
| jq .properties.additionalCapabilities
Som jämförelse, ett möjligt resultat när du försöker aktivera FIPS 140-3 på en virtuell dator när den virtuella datorn inte finns i en aktiverad region, put kan kommandot mata ut följande kod, vilket indikerar att åtgärden inte är möjlig i regionen.
({
"error": {
"code": "BadRequest",
"message": "Creation of VMs using a Fips 140-3 compliant encryption for extension settings isn't supported in this region."
}
})
3. Överväganden för gäster
Viktiga ändringar måste göras i Linux OS-miljön för att aktivera och stödja FIPS 140-3-efterlevnad.
Konfigurera operativsystemet för FIPS-aktivering
Följande distributioner stöder FIPS 140-3 och innehåller instruktioner för aktivering:
- Ubuntu 22.04 LTS och senare: Använd en Ubuntu pro-klient eller pro-avbildning.
- RHEL 9: Använd stegen för att aktivera FIPS på RHEL.
Äldre versioner av dessa operativsystem fungerar på FIPS 140-2-nivå och kräver inte något av dessa särskilda överväganden.
Linux-gästagent
Lägsta version av Goal State Agent : v2.14.0.1. För att vara säker på att måltillståndet uppdateras AutoUpdate.Enabled bör flaggan vara y eller kommenteras ut helt så att standardbeteendet används.
/etc/waagent.conf:
AutoUpdate.Enabled=y
RHEL 9-lösning
Den här lösningen är endast avsedd för testning och stöder inte alla scenarier för distribution av virtuella datorer. När du har aktiverat FIPS på en virtuell dator som körs kör du följande kommandon för att fortsätta:
systemctl stop waagent
# apply the patch
sed -i -E '/(.+)(self._initialize_telemetry\(\))/s//\1# \2/' /usr/lib/python3.9/site-packages/azurelinuxagent/daemon/main.py
Använd följande kommando för att kontrollera att den tidigare ändringen har tillämpats:
grep self\._initialize_telemetry /usr/lib/python3.9/site-packages/azurelinuxagent/daemon/main.py
Utdata bör vara exakt den här texten:
# self._initialize_telemetry()
Starta om agenten efter verifieringen:
systemctl start waagent
Validation
Så här validerar du rätt funktioner för vm-tilläggen:
- Kontrollera att agentstatusen är
Ready. - Testa ett tillägg med hjälp av de skyddade inställningarna för VM-tilläggen.
- Genom att
Reset Passwordanvända funktionen i Azure-portalen elleraz cliåterställer du ett lösenord eller skapar en ny tillfällig användare. - Kör ett anpassat skript.
- Genom att
Om dessa tester misslyckas tvingar du Azure-plattformen att generera ett nytt PFX-paket (Personal Information Exchange).
Återställa lösenord
Använd antingen Azure-portalen eller ett az cli kommando, till exempel det här exemplet, för att ange en användares lösenord eller skapa en tillfällig användare. Kontrollera körningstillståndet för att avgöra om det är framgång eller misslyckande.
az vm user update \
--resource-group <YourResourceGroup> \
--name <YourVMName> \
--username <NewUsername> \
--password <NewPassword>
Köra ett anpassat skript
Använd dokumentationen för anpassade skripttillägg för att skicka ett grundläggande skript, till exempel cat /etc/os-release, för att testa tilläggsfunktioner.
Åtgärda ett valideringsfel
Om verifieringarna inte kan köras tvingar du Azure-plattformen att generera ett nytt PFX-paket. Det finns två metoder för att tvinga fram den här regenereringen:
- Omallokera den virtuella datorn.
- Tillämpa ett Azure Key Vault-certifikat.
Frigör/omallokera den virtuella datorn
Du kan använda Azure CLI, Azure-portalen eller någon annan metod för att frigöra den virtuella datorn. Vänta tills frigöringen sker och starta sedan den virtuella datorn.
Lägga till ett Key Vault-certifikat
Skapa Key Vault-certifikatet, lägg till det i den ändrade ARM-mallen och distribuera det.
Mer information finns i Komma igång med Key Vault-certifikat.
I följande exempel visas avsnittet properties i VM-modellen:
"secrets": [
{
"sourceVault": {
"id": "/subscriptions/<subId>/resourceGroups/<resource group>/providers/Microsoft.KeyVault/vaults/<keyvault name>"
},
"vaultCertificates": [
{
"certificateUrl": "https://<keyvault name>.vault.azure.net/secrets/rsa/5cc588f8f3404268b2ca4d05e544e7fb"
}
]
}
],