Tilläggssäkerhet
I den här artikeln beskrivs grunderna i VM-tillägg för Azure Arc-aktiverade servrar och information om hur tilläggsinställningar kan anpassas.
Grunderna i tillägg
VM-tillägg för Azure Arc-aktiverade servrar är valfria tillägg som aktiverar andra funktioner, till exempel övervakning, korrigeringshantering och skriptkörning. Tillägg publiceras av Microsoft och väljer tredje part från Azure Marketplace och lagras i Microsoft-hanterade lagringskonton. Alla tillägg genomsöks efter skadlig kod som en del av publiceringsprocessen. Tilläggen för Azure Arc-aktiverade servrar är identiska med de som är tillgängliga för virtuella Azure-datorer, vilket säkerställer konsekvens i dina driftsmiljöer.
Tillägg laddas ned direkt från Azure Storage (*.blob.core.windows.net
) när de installeras eller uppgraderas, såvida du inte har konfigurerat privata slutpunkter. Lagringskontona ändras regelbundet och kan inte förutsägas i förväg. När privata slutpunkter används utökas tilläggen via den regionala URL:en för Azure Arc-tjänsten i stället.
En digitalt signerad katalogfil laddas ned separat från tilläggspaketet och används för att verifiera integriteten för varje tillägg innan tilläggshanteraren öppnas eller kör tilläggspaketet. Om den nedladdade ZIP-filen för tillägget inte matchar innehållet i katalogfilen avbryts tilläggsåtgärden.
Tillägg kan ta inställningar för att anpassa eller konfigurera installationen, till exempel proxy-URL:er eller API-nycklar för att ansluta en övervakningsagent till dess molntjänst. Tilläggsinställningarna finns i två varianter: vanliga inställningar och skyddade inställningar. Skyddade inställningar sparas inte i Azure och krypteras i vila på den lokala datorn.
Alla tilläggsåtgärder kommer från Azure via en API-anrops-, CLI-, PowerShell- eller portalåtgärd. Den här designen säkerställer att alla åtgärder för att installera, uppdatera eller uppgradera ett tillägg på en server loggas i Azure-aktivitetsloggen. Azure Connected Machine-agenten tillåter att tillägg tas bort lokalt i felsöknings- och rensningssyfte. Men om tillägget tas bort lokalt och tjänsten fortfarande förväntar sig att datorn ska ha tillägget installerat, installeras det nästa gång tilläggshanteraren synkroniseras med Azure.
Skriptkörning
Tilläggshanteraren kan användas för att köra skript på datorer med hjälp av det anpassade skripttillägget eller körningskommandot. Som standard körs dessa skript i tilläggshanterarens användarkontext – lokalt system i Windows eller rot i Linux – vilket innebär att dessa skript har obegränsad åtkomst till datorn. Om du inte tänker använda de här funktionerna kan du blockera dem med hjälp av en lista över tillåtna eller blockerade listor. Ett exempel finns i nästa avsnitt.
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 listor och blocklistor
Azure Connected Machine-agenten har stöd för en lista över tillåtna och blockerade filer för att begränsa vilka tillägg som kan installeras på datorn. Tillåtna listor är exklusiva, vilket innebär att endast de specifika tillägg som du tar med i listan kan installeras. Blocklistor är exklusiva, vilket innebär att allt annat än dessa tillägg kan installeras. Tillåtna listor är att föredra framför blocklistor eftersom de i sig blockerar alla nya tillägg som blir tillgängliga i framtiden. Tillåtna listor och blocklistor konfigureras lokalt per server. Detta säkerställer att ingen, inte ens en användare med behörighet som ägare eller global administratör i Azure, kan åsidosätta dina säkerhetsregler genom att försöka installera ett otillåtet tillägg. Om någon försöker installera ett otillåtet tillägg vägrar tilläggshanteraren att installera det och markerar tilläggsinstallationsrapporten som ett fel i Azure. Tillåtna listor och blocklistor kan konfigureras när som helst efter att agenten har installerats, inklusive innan agenten är ansluten till Azure.
Om ingen tillåtna lista eller blocklista har konfigurerats på agenten tillåts alla tillägg.
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 Connected 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"
Här är ett exempel på en blockeringslista som blockerar alla tillägg med funktionen att köra godtyckliga skript:
azcmagent config set extensions.blocklist "Microsoft.Cplat.Core/RunCommandHandlerWindows, Microsoft.Cplat.Core/RunCommandHandlerLinux,Microsoft.Compute/CustomScriptExtension,Microsoft.Azure.Extensions/CustomScript,Microsoft.Azure.Automation.HybridWorker/HybridWorkerForWindows,Microsoft.Azure.Automation/HybridWorkerForLinux,Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent, Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux"
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/None
som instruerar tilläggshanteraren att köra, men inte tillåter att tillägg installeras. Det här är den rekommenderade konfigurationen när du använder Azure Arc för att leverera utökade säkerhetsuppdateringar för Windows Server 2012 (ESU) utan att använda några andra tillägg.
azcmagent config set extensions.allowlist "Allow/None"
Azure-principer kan också användas för att begränsa vilka tillägg som kan installeras. Azure-principer har fördelen att vara konfigurerbara i molnet och inte kräva en ändring på varje enskild server om du behöver ändra listan över godkända tillägg. Alla som har behörighet att ändra principtilldelningar kan dock åsidosätta eller ta bort det här skyddet. Om du väljer att använda Azure-principer för att begränsa tillägg kontrollerar du att du granskar vilka konton i organisationen som har behörighet att redigera principtilldelningar och att lämpliga ändringskontrollmått finns på plats.
Metodtips för låst dator
När du konfigurerar Azure Connected 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 agentkonfigurationen för Azure Connected Machine. 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:
- full – standardläget. Detta tillåter alla agentfunktioner.
- 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
Inaktivera tilläggshanteraren
Om du inte behöver använda tillägg med Azure Arc kan du också inaktivera tilläggshanteraren helt. Du kan inaktivera tilläggshanteraren med följande kommando (körs lokalt på varje dator):
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.