Säkerhetsöversikt över Azure Arc-aktiverade servrar

Den här artikeln beskriver säkerhetskonfigurationen och överväganden som du bör utvärdera innan du distribuerar Azure Arc-aktiverade servrar i företaget.

Identitets- och åtkomstkontroll

Rollbaserad åtkomstkontroll i Azure används för att styra vilka konton som kan se och hantera din Azure Arc-aktiverade server. På sidan Åtkomstkontroll (IAM) i Azure-portalen kan du kontrollera vem som har åtkomst till din Azure Arc-aktiverade server.

Azure Arc-enabled server access control

Användare och program som beviljats deltagar - eller administratörsrollåtkomst till resursen kan göra ändringar i resursen, inklusive distribution eller borttagning av tillägg på datorn. Tillägg kan innehålla godtyckliga skript som körs i en privilegierad kontext, så överväg att alla deltagare i Azure-resursen är indirekt administratör för servern.

Azure Anslut ed Machine Onboarding-rollen är tillgänglig för onboarding i stor skala och kan bara läsa eller skapa nya Azure Arc-aktiverade servrar i Azure. Den kan inte användas för att ta bort servrar som redan har registrerats eller hantera tillägg. Vi rekommenderar att du bara tilldelar den här rollen till Microsoft Entra-tjänstens huvudnamn som används för att registrera datorer i stor skala.

Användare som medlem i rollen Azure Anslut ed Machine Resource Administrator kan läsa, ändra, publicera om och ta bort en dator. Den här rollen är utformad för att stödja hantering av Azure Arc-aktiverade servrar, men inte andra resurser i resursgruppen eller prenumerationen.

Agentsäkerhet och -behörigheter

För att hantera Azure Anslut ed Machine Agent (azcmagent) i Windows måste ditt användarkonto vara medlem i den lokala gruppen Administratörer. I Linux måste du ha rotåtkomstbehörigheter.

Azure Anslut ed Machine-agenten består av tre tjänster som körs på datorn.

  • Tjänsten Hybrid Instance Metadata Service (himds) ansvarar för alla grundläggande funktioner i Arc. Detta inkluderar att skicka pulsslag till Azure, exponera en lokal instansmetadatatjänst för andra appar för att lära sig mer om datorns Azure-resurs-ID och hämta Microsoft Entra-token för att autentisera till andra Azure-tjänster. Den här tjänsten körs som ett icke-privilegierat virtuellt tjänstkonto (NT SERVICE\himds) i Windows och som himds-användare i Linux. Det virtuella tjänstkontot kräver inloggning som en tjänst direkt i Windows.

  • Gästkonfigurationstjänsten (GCService) ansvarar för att utvärdera Azure Policy på datorn.

  • Gästkonfigurationstilläggstjänsten (ExtensionService) ansvarar för att installera, uppgradera och ta bort tillägg (agenter, skript eller annan programvara) på datorn.

Gästkonfigurations- och tilläggstjänster körs som lokalt system i Windows och som rot i Linux.

Säkerhetskontroller för lokal agent

Från och med agentversion 1.16 kan du välja att begränsa de tillägg som kan installeras på servern och inaktivera gästkonfiguration. Dessa kontroller kan vara användbara när du ansluter servrar till Azure för ett enda syfte, till exempel insamling av händelseloggar, utan att andra hanteringsfunktioner kan användas på servern.

Dessa säkerhetskontroller kan bara konfigureras genom att köra ett kommando på själva servern och kan inte ändras från Azure. Den här metoden bevarar serveradministratörens avsikt när du aktiverar fjärrhanteringsscenarier med Azure Arc, men innebär också att det är svårare att ändra inställningen om du senare bestämmer dig för att ändra dem. Den här funktionen är avsedd för känsliga servrar (till exempel Active Directory-domän styrenheter, servrar som hanterar betalningsdata och servrar som omfattas av strikta ändringskontrollmått). I de flesta andra fall är det inte nödvändigt att ändra de här inställningarna.

Tillåtna tilläggslistor och blocklistor

Om du vill begränsa vilka tillägg som kan installeras på servern kan du konfigurera listor över de tillägg som du vill tillåta och blockera på servern. Tilläggshanteraren utvärderar alla begäranden om att installera, uppdatera eller uppgradera tillägg mot listan över tillåtna och blockera för att avgöra om tillägget kan installeras på servern. Borttagningsbegäranden tillåts alltid.

Det säkraste alternativet är att uttryckligen tillåta de tillägg som du förväntar dig ska installeras. Alla tillägg som inte finns i listan över tillåtna blockeras automatiskt. Om du vill konfigurera Azure Anslut ed Machine-agenten så att den endast tillåter Azure Monitor-agenten för Linux kör du följande kommando på varje server:

azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"

Du kan blockera ett eller flera tillägg genom att lägga till dem i blocklistan. Om ett tillägg finns i både listan över tillåtna och blockerade blockeras det. Om du vill blockera tillägget för anpassat skript för Linux kör du följande kommando:

azcmagent config set extensions.blocklist "Microsoft.Azure.Extensions/CustomScript"

Ange tillägg med sin utgivare och typ, avgränsade med ett snedstreck /. Se listan över de vanligaste tilläggen i dokumenten eller lista de VM-tillägg som redan har installerats på servern i portalen, Azure PowerShell eller Azure CLI.

Tabellen beskriver beteendet när du utför en tilläggsåtgärd mot en agent som har den tillåtna listan eller blocklistan konfigurerad.

Åtgärd I listan över tillåtna I blocklistan I både listan över tillåtna och blockerade Inte i någon lista, men en allowlist har konfigurerats
Installera tillägget Tillåtet Blockerade Blockerade Blockerade
Uppdatera (konfigurera om) tillägget Tillåtet Blockerade Blockerade Blockerade
Uppgraderingstillägg Tillåtet Blockerade Blockerade Blockerade
Ta bort tillägg Tillåtet Tillåtet Tillåtet Tillåtet

Viktigt!

Om ett tillägg redan har installerats på servern innan du konfigurerar en lista över tillåtna eller blockerade filer tas det inte bort automatiskt. Det är ditt ansvar att ta bort tillägget från Azure för att ta bort det helt från datorn. Borttagningsbegäranden accepteras alltid för att hantera det här scenariot. När listan över tillåtna och blockerade objekt har tagits bort avgör den om framtida installationsförsök ska tillåtas eller inte.

Från och med agentversion 1.35 finns det ett särskilt allowlist-värde Allow/Nonesom instruerar tilläggshanteraren att köra, men inte tillåter att tillägg installeras. Detta är den rekommenderade konfigurationen när du använder Azure Arc för att leverera Windows Server 2012 Extended Security Uppdateringar (ESU) utan att ha för avsikt att använda andra tillägg.

azcmagent config set extensions.allowlist "Allow/None"

Aktivera eller inaktivera gästkonfiguration

Med gästkonfigurationsfunktionen i Azure Policy kan du granska och konfigurera inställningar på servern från Azure. Du kan inaktivera gästkonfigurationen från att köras på servern om du inte vill tillåta den här funktionen genom att köra följande kommando:

azcmagent config set guestconfiguration.enabled false

När gästkonfigurationen är inaktiverad visas alla gästkonfigurationsprinciper som tilldelats datorn i Azure som inkompatibla. Överväg att skapa ett undantag för dessa datorer eller ändra omfånget för dina principtilldelningar om du inte vill att dessa datorer ska rapporteras som inkompatibla.

Aktivera eller inaktivera tilläggshanteraren

Tilläggshanteraren ansvarar för att installera, uppdatera och ta bort VM-tillägg på servern. Du kan inaktivera tilläggshanteraren för att förhindra hantering av tillägg på servern, men vi rekommenderar att du använder tillåtna och blockeringslistor i stället för mer detaljerad kontroll.

azcmagent config set extensions.enabled false

Om du inaktiverar tilläggshanteraren tas inga tillägg som redan är installerade på servern bort. Tillägg som finns i sina egna Windows- eller Linux-tjänster, till exempel Log Analytics-agenten, kan fortsätta att köras även om tilläggshanteraren är inaktiverad. Andra tillägg som hanteras av själva tilläggshanteraren, till exempel Azure Monitor-agenten, körs inte om tilläggshanteraren är inaktiverad. Du bör ta bort eventuella tillägg innan du inaktiverar tilläggshanteraren för att säkerställa att inga tillägg fortsätter att köras på servern.

Metodtips för låst dator

När du konfigurerar Azure Anslut ed Machine-agenten med en begränsad uppsättning funktioner är det viktigt att överväga de mekanismer som någon kan använda för att ta bort dessa begränsningar och implementera lämpliga kontroller. Alla som kan köra kommandon som administratör eller rotanvändare på servern kan ändra konfigurationen för Azure Anslut ed Machine Agent. Tillägg och gästkonfigurationsprinciper körs i privilegierade kontexter på servern och kan därför ändra agentkonfigurationen. Om du tillämpar säkerhetskontroller för lokal agent för att låsa agenten rekommenderar Microsoft följande metodtips för att se till att endast lokala serveradministratörer kan uppdatera agentkonfigurationen:

  • Använd allowlists för tillägg i stället för blocklistor när det är möjligt.
  • Inkludera inte tillägget för anpassat skript i listan över tillåtna tillägg för att förhindra körning av godtyckliga skript som kan ändra agentkonfigurationen.
  • Inaktivera gästkonfiguration för att förhindra användning av anpassade gästkonfigurationsprinciper som kan ändra agentkonfigurationen.

Exempel på konfiguration för övervaknings- och säkerhetsscenarier

Det är vanligt att använda Azure Arc för att övervaka dina servrar med Azure Monitor och Microsoft Sentinel och skydda dem med Microsoft Defender för molnet. Det här avsnittet innehåller exempel på hur du låser agenten för att endast stödja övervaknings- och säkerhetsscenarier.

Endast Azure Monitor-agent

Kör följande kommandon i en upphöjd kommandokonsol på dina Windows-servrar:

azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorWindowsAgent"
azcmagent config set guestconfiguration.enabled false

Kör följande kommandon på dina Linux-servrar:

sudo azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"
sudo azcmagent config set guestconfiguration.enabled false

Log Analytics och beroende (endast Azure Monitor VM Insights)

Den här konfigurationen gäller för äldre Log Analytics-agenter och beroendeagenten.

Kör följande kommandon i en upphöjd konsol på dina Windows-servrar:

azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent,Microsoft.Azure.Monitoring.DependencyAgent/DependencyAgentWindows"
azcmagent config set guestconfiguration.enabled false

Kör följande kommandon på dina Linux-servrar:

sudo azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux,Microsoft.Azure.Monitoring.DependencyAgent/DependencyAgentLinux"
sudo azcmagent config set guestconfiguration.enabled false

Övervakning och säkerhet

Microsoft Defender för molnet distribuerar tillägg på servern för att identifiera sårbar programvara på servern och aktivera Microsoft Defender för Endpoint (om det är konfigurerat). Microsoft Defender för molnet använder också gästkonfiguration för sin regelefterlevnadsfunktion. Eftersom en anpassad gästkonfigurationstilldelning kan användas för att ångra agentbegränsningarna bör du noggrant utvärdera om du behöver regelefterlevnadsfunktionen och därmed gästkonfiguration för att aktiveras på datorn.

Kör följande kommandon i en upphöjd kommandokonsol på dina Windows-servrar:

azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent,Qualys/WindowsAgent.AzureSecurityCenter,Microsoft.Azure.AzureDefenderForServers/MDE.Windows,Microsoft.Azure.AzureDefenderForSQL/AdvancedThreatProtection.Windows"
azcmagent config set guestconfiguration.enabled true

Kör följande kommandon på dina Linux-servrar:

sudo azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux,Qualys/LinuxAgent.AzureSecurityCenter,Microsoft.Azure.AzureDefenderForServers/MDE.Linux"
sudo azcmagent config set guestconfiguration.enabled true

Agentlägen

Ett enklare sätt att konfigurera lokala säkerhetskontroller för övervaknings- och säkerhetsscenarier är att använda övervakningsläget, som är tillgängligt med agentversion 1.18 och senare. Lägen är fördefinierade konfigurationer av tilläggets allowlist och gästkonfigurationsagent som underhålls av Microsoft. När nya tillägg blir tillgängliga som möjliggör övervakningsscenarier uppdaterar Microsoft allowlist- och agentkonfigurationen så att den inkluderar eller exkluderar de nya funktionerna efter behov.

Det finns två lägen att välja mellan:

  1. full – standardläget. Detta tillåter alla agentfunktioner.
  2. monitor – ett begränsat läge som inaktiverar gästkonfigurationsprincipagenten och endast tillåter användning av tillägg som rör övervakning och säkerhet.

Om du vill aktivera övervakningsläge kör du följande kommando:

azcmagent config set config.mode monitor

Du kan kontrollera agentens aktuella läge och tillåtna tillägg med följande kommando:

azcmagent config list

När du är i övervakningsläge kan du inte ändra tilläggets tillåtna lista eller blocklista. Om du behöver ändra någon av rutorna ändrar du tillbaka agenten till fullständigt läge och anger din egen lista över tillåtna och blockerade.

Om du vill ändra tillbaka agenten till fullständigt läge kör du följande kommando:

azcmagent config set config.mode full

Använda en hanterad identitet med Azure Arc-aktiverade servrar

Som standard kan microsoft Entra-systemtilldelad identitet som används av Arc endast användas för att uppdatera statusen för den Azure Arc-aktiverade servern i Azure. Till exempel den senast sedda pulsslagsstatusen . Du kan också tilldela andra roller till identiteten om ett program på servern använder den systemtilldelade identiteten för att få åtkomst till andra Azure-tjänster. Mer information om hur du konfigurerar en systemtilldelad hanterad identitet för åtkomst till Azure-resurser finns i Autentisera mot Azure-resurser med Azure Arc-aktiverade servrar.

Hybrid Instance Metadata Service kan nås av alla program som körs på datorn, men endast auktoriserade program kan begära en Microsoft Entra-token för den systemtilldelade identiteten. Vid det första försöket att komma åt token-URI:n genererar tjänsten en slumpmässigt genererad kryptografisk blob på en plats i filsystemet som endast betrodda anropare kan läsa. Anroparen måste sedan läsa filen (bevisa att den har rätt behörighet) och försöka begäran igen med filinnehållet i auktoriseringshuvudet för att kunna hämta en Microsoft Entra-token.

  • I Windows måste anroparen vara medlem i den lokala gruppen Administratörer eller gruppen Program för hybridagenttillägg för att kunna läsa bloben.

  • I Linux måste anroparen vara medlem i gruppen himds för att kunna läsa bloben.

Mer information om hur du använder en hanterad identitet med Arc-aktiverade servrar för att autentisera och komma åt Azure-resurser finns i följande video.

Använda diskkryptering

Azure Anslut ed Machine-agenten använder autentisering med offentliga nycklar för att kommunicera med Azure-tjänsten. När du har registrerat en server i Azure Arc sparas en privat nyckel på disken och används när agenten kommunicerar med Azure. Om den blir stulen kan den privata nyckeln användas på en annan server för att kommunicera med tjänsten och fungera som om den vore den ursprungliga servern. Detta inkluderar att få åtkomst till den systemtilldelade identiteten och alla resurser som identiteten har åtkomst till. Den privata nyckelfilen är skyddad för att endast tillåta åtkomst till himds-kontot för att läsa den. För att förhindra offlineattacker rekommenderar vi starkt att du använder fullständig diskkryptering (till exempel BitLocker, dm-crypt osv.) på serverns operativsystemvolym.

Nästa steg

  • Innan du utvärderar eller aktiverar Azure Arc-aktiverade servrar på flera hybriddatorer kan du läsa översikten över Anslut ed Machine Agent för att förstå krav, teknisk information om agenten och distributionsmetoder.

  • Läs planerings - och distributionsguiden för att planera för distribution av Azure Arc-aktiverade servrar i valfri skala och implementera centraliserad hantering och övervakning.