Share via


Panoramica della sicurezza dei server abilitati per Azure Arc

Questo articolo descrive la configurazione e le considerazioni sulla sicurezza da valutare prima di distribuire i server abilitati per Azure Arc nell'organizzazione.

Identità e controllo di accesso

Il controllo degli accessi in base al ruolo di Azure viene usato per controllare quali account possono visualizzare e gestire il server abilitato per Azure Arc. Dalla pagina Controllo di accesso (IAM) nella portale di Azure è possibile verificare chi può accedere al server abilitato per Azure Arc.

Azure Arc-enabled server access control

Gli utenti e le applicazioni a cui è stato concesso l'accesso con ruolo di collaboratore o amministratore alla risorsa possono apportare modifiche alla risorsa, inclusa la distribuzione o l'eliminazione di estensioni nel computer. Le estensioni possono includere script arbitrari eseguiti in un contesto con privilegi, quindi considerare qualsiasi collaboratore della risorsa di Azure come amministratore indiretto del server.

Il ruolo Di onboarding del computer Connessione ed di Azure è disponibile per l'onboarding su larga scala ed è in grado di leggere o creare nuovi server abilitati per Azure Arc in Azure. Non può essere usato per eliminare i server già registrati o gestire le estensioni. Come procedura consigliata, è consigliabile assegnare questo ruolo solo all'entità servizio di Microsoft Entra usata per eseguire l'onboarding dei computer su larga scala.

Gli utenti come membri del ruolo Azure Connessione ed Machine Resource Amministrazione istrator possono leggere, modificare, ripetere l'analisi ed eliminare un computer. Questo ruolo è progettato per supportare la gestione dei server abilitati per Azure Arc, ma non altre risorse nel gruppo di risorse o nella sottoscrizione.

Sicurezza e autorizzazioni dell'agente

Per gestire l'agente del computer Connessione ed di Azure (azcmagent) in Windows, l'account utente deve essere membro del gruppo locale Amministrazione istrators. In Linux è necessario disporre delle autorizzazioni di accesso radice.

L'agente azure Connessione ed Machine è costituito da tre servizi, eseguiti nel computer.

  • Il servizio metadati dell'istanza ibrida (himds) è responsabile di tutte le funzionalità di base di Arc. Ciò include l'invio di heartbeat ad Azure, l'esposizione di un servizio di metadati dell'istanza locale per altre app per ottenere informazioni sull'ID risorsa di Azure del computer e il recupero dei token di Microsoft Entra per l'autenticazione ad altri servizi di Azure. Questo servizio viene eseguito come account del servizio virtuale senza privilegi (NT edizione Standard RVICE\himds) in Windows e come utente gestito in Linux. L'account del servizio virtuale richiede l'accesso come servizio direttamente in Windows.

  • Il servizio Configurazione guest (GCService) è responsabile della valutazione di Criteri di Azure nel computer.

  • Il servizio Estensione configurazione guest (ExtensionService) è responsabile dell'installazione, dell'aggiornamento e dell'eliminazione di estensioni (agenti, script o altro software) nel computer.

La configurazione guest e i servizi di estensione vengono eseguiti come sistema locale in Windows e come radice in Linux.

Controlli di sicurezza dell'agente locale

A partire dalla versione 1.16 dell'agente, è possibile limitare facoltativamente le estensioni che possono essere installate nel server e disabilitare La configurazione guest. Questi controlli possono essere utili per la connessione di server ad Azure per un singolo scopo, ad esempio la raccolta dei log eventi, senza consentire l'uso di altre funzionalità di gestione nel server.

Questi controlli di sicurezza possono essere configurati solo eseguendo un comando nel server stesso e non possono essere modificati da Azure. Questo approccio mantiene l'intento dell'amministratore del server quando si abilitano scenari di gestione remota con Azure Arc, ma significa anche che la modifica dell'impostazione è più difficile se successivamente si decide di modificarle. Questa funzionalità è destinata ai server sensibili (ad esempio, Dominio di Active Directory controller, server che gestiscono i dati di pagamento e server soggetti a severe misure di controllo delle modifiche). Nella maggior parte degli altri casi, non è necessario modificare queste impostazioni.

Elenchi consentiti di estensioni ed elenchi di blocchi

Per limitare le estensioni che è possibile installare nel server, è possibile configurare gli elenchi delle estensioni che si desidera consentire e bloccare nel server. Gestione estensioni valuta tutte le richieste di installazione, aggiornamento o aggiornamento delle estensioni rispetto all'elenco di elementi consentiti e blocklist per determinare se l'estensione può essere installata nel server. Le richieste di eliminazione sono sempre consentite.

L'opzione più sicura consiste nell'consentire in modo esplicito le estensioni che si prevede di installare. Qualsiasi estensione non presente nell'elenco consenti viene bloccata automaticamente. Per configurare l'agente del computer Connessione ed di Azure per consentire solo l'agente di Monitoraggio di Azure per Linux, eseguire il comando seguente in ogni server:

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

È possibile bloccare una o più estensioni aggiungendole all'elenco di blocchi. Se un'estensione è presente sia nell'elenco elementi consentiti che nell'elenco di blocchi, viene bloccata. Per bloccare l'estensione Script personalizzato per Linux, eseguire il comando seguente:

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

Specificare le estensioni con il relativo server di pubblicazione e tipo, separate da una barra /. Vedere l'elenco delle estensioni più comuni nella documentazione o elencare le estensioni vm già installate nel server nel portale, In Azure PowerShell o nell'interfaccia della riga di comando di Azure.

La tabella descrive il comportamento durante l'esecuzione di un'operazione di estensione su un agente con l'elenco di elementi consentiti o blocklist configurato.

Operazione Nell'elenco elementi consentiti Nell'elenco di blocchi Sia nell'elenco elementi consentiti che nell'elenco di blocchi Non in alcun elenco, ma è configurato un elenco di elementi consentiti
Installare l'estensione Consentito Bloccato Bloccato Bloccato
Aggiornare (riconfigurare) l'estensione Consentito Bloccato Bloccato Bloccato
Aggiornare l'estensione Consentito Bloccato Bloccato Bloccato
Eliminare l'estensione Consentito Consentito Consentito Consentito

Importante

Se un'estensione è già installata nel server prima di configurare un elenco di elementi consentiti o blocklist, non verrà rimossa automaticamente. È responsabilità dell'utente eliminare l'estensione da Azure per rimuoverla completamente dal computer. Le richieste di eliminazione vengono sempre accettate per soddisfare questo scenario. Dopo l'eliminazione, l'elenco di elementi consentiti e blocklist determina se consentire o meno i tentativi di installazione futuri.

A partire dalla versione dell'agente 1.35, è disponibile un valore Allow/Noneallowlist speciale , che indica al gestore estensioni di eseguire, ma non consente l'installazione di estensioni. Questa è la configurazione consigliata quando si usa Azure Arc per distribuire Windows Server 2012 Extended Security Aggiornamenti (ESU) senza voler usare altre estensioni.

azcmagent config set extensions.allowlist "Allow/None"

Abilitare o disabilitare la configurazione guest

la funzionalità Configurazione guest di Criteri di Azure consente di controllare e configurare le impostazioni nel server da Azure. È possibile disabilitare l'esecuzione della configurazione guest nel server se non si vuole consentire questa funzionalità eseguendo il comando seguente:

azcmagent config set guestconfiguration.enabled false

Quando la configurazione guest è disabilitata, tutti i criteri di configurazione guest assegnati al computer in Azure vengono visualizzati come non conformi. È consigliabile creare un'esenzione per questi computer o modificare l'ambito delle assegnazioni di criteri se non si vuole visualizzare questi computer segnalati come non conformi.

Abilitare o disabilitare gestione estensioni

Gestione estensioni è responsabile dell'installazione, dell'aggiornamento e della rimozione delle estensioni della macchina virtuale nel server. È possibile disabilitare gestione estensioni per impedire la gestione di eventuali estensioni nel server, ma è consigliabile usare gli elenchi di elementi consentiti e bloccati per un controllo più granulare.

azcmagent config set extensions.enabled false

La disabilitazione di Gestione estensioni non rimuoverà le estensioni già installate nel server. Le estensioni ospitate nei propri servizi Windows o Linux, ad esempio l'agente di Log Analytics, potrebbero continuare a essere eseguite anche se gestione estensioni è disabilitata. Le altre estensioni ospitate dal gestore estensioni stesso, ad esempio l'agente di Monitoraggio di Azure, non vengono eseguite se il gestore estensioni è disabilitato. È consigliabile rimuovere tutte le estensioni prima di disabilitare gestione estensioni per assicurarsi che non vengano eseguite estensioni nel server.

Procedure consigliate per i computer bloccati

Quando si configura l'agente machine Connessione di Azure con un set ridotto di funzionalità, è importante considerare i meccanismi che un utente può usare per rimuovere tali restrizioni e implementare i controlli appropriati. Chiunque sia in grado di eseguire comandi come amministratore o utente radice nel server può modificare la configurazione dell'agente del computer Connessione ed di Azure. Le estensioni e i criteri di configurazione guest vengono eseguiti in contesti con privilegi nel server e, di conseguenza, potrebbero essere in grado di modificare la configurazione dell'agente. Se si applicano controlli di sicurezza agente locale per bloccare l'agente, Microsoft consiglia le procedure consigliate seguenti per garantire che solo gli amministratori del server locale possano aggiornare la configurazione dell'agente:

  • Usare gli elenchi consentiti per le estensioni anziché gli elenchi di blocchi quando possibile.
  • Non includere l'estensione per script personalizzati nell'elenco di elementi consentiti dell'estensione per impedire l'esecuzione di script arbitrari che potrebbero modificare la configurazione dell'agente.
  • Disabilitare la configurazione guest per impedire l'uso di criteri di configurazione guest personalizzati che potrebbero modificare la configurazione dell'agente.

Configurazione di esempio per scenari di monitoraggio e sicurezza

È comune usare Azure Arc per monitorare i server con Monitoraggio di Azure e Microsoft Sentinel e proteggerli con Microsoft Defender per il cloud. Questa sezione contiene esempi su come bloccare l'agente per supportare solo scenari di monitoraggio e sicurezza.

Solo agente di Monitoraggio di Azure

Nei server Windows eseguire i comandi seguenti in una console dei comandi con privilegi elevati:

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

Nei server Linux eseguire i comandi seguenti:

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

Log Analytics e dipendenza (solo Informazioni dettagliate macchina virtuale di Monitoraggio di Azure)

Questa configurazione riguarda gli agenti di Log Analytics legacy e l'agente di dipendenza.

Nei server Windows eseguire i comandi seguenti in una console con privilegi elevati:

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

Nei server Linux eseguire i comandi seguenti:

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

Monitoraggio e sicurezza

Microsoft Defender per il cloud distribuisce le estensioni nel server per identificare il software vulnerabile nel server e abilitare Microsoft Defender per endpoint (se configurato). Microsoft Defender per il cloud usa anche la configurazione guest per la relativa funzionalità di conformità alle normative. Poiché un'assegnazione di configurazione guest personalizzata può essere usata per annullare le limitazioni dell'agente, è necessario valutare attentamente se è necessaria o meno la funzionalità di conformità alle normative e, di conseguenza, configurazione guest da abilitare nel computer.

Nei server Windows eseguire i comandi seguenti in una console dei comandi con privilegi elevati:

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

Nei server Linux eseguire i comandi seguenti:

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

Modalità agente

Un modo più semplice per configurare i controlli di sicurezza locali per gli scenari di monitoraggio e sicurezza consiste nell'usare la modalità di monitoraggio, disponibile con l'agente versione 1.18 e successive. Le modalità sono configurazioni predefinite dell'estensione allowlist e dell'agente di configurazione guest gestite da Microsoft. Man mano che diventano disponibili nuove estensioni che consentono scenari di monitoraggio, Microsoft aggiornerà la configurazione allowlist e agent per includere o escludere la nuova funzionalità, in base alle esigenze.

Esistono due modalità tra cui scegliere:

  1. full : la modalità predefinita. In questo modo è possibile eseguire tutte le funzionalità dell'agente.
  2. monitor : modalità con restrizioni che disabilita l'agente dei criteri di configurazione guest e consente solo l'uso di estensioni correlate al monitoraggio e alla sicurezza.

Per abilitare la modalità di monitoraggio, eseguire il comando seguente:

azcmagent config set config.mode monitor

È possibile controllare la modalità corrente dell'agente e le estensioni consentite con il comando seguente:

azcmagent config list

In modalità di monitoraggio non è possibile modificare l'elenco di elementi consentiti o blocklist dell'estensione. Se è necessario modificare uno degli elenchi, tornare alla modalità completa dell'agente e specificare l'elenco di elementi consentiti e blocklist personalizzati.

Per ripristinare la modalità completa dell'agente, eseguire il comando seguente:

azcmagent config set config.mode full

Uso di un'identità gestita con server abilitati per Azure Arc

Per impostazione predefinita, l'identità assegnata dal sistema Microsoft Entra usata da Arc può essere usata solo per aggiornare lo stato del server abilitato per Azure Arc in Azure. Ad esempio, l'ultimo stato di heartbeat visualizzato . Facoltativamente, è possibile assegnare altri ruoli all'identità se un'applicazione nel server usa l'identità assegnata dal sistema per accedere ad altri servizi di Azure. Per altre informazioni sulla configurazione di un'identità gestita assegnata dal sistema per accedere alle risorse di Azure, vedere Eseguire l'autenticazione con le risorse di Azure con i server abilitati per Azure Arc.

Anche se il servizio metadati dell'istanza ibrida è accessibile da qualsiasi applicazione in esecuzione nel computer, solo le applicazioni autorizzate possono richiedere un token Microsoft Entra per l'identità assegnata dal sistema. Nel primo tentativo di accedere all'URI del token, il servizio genera un BLOB di crittografia generato in modo casuale in un percorso nel file system che solo i chiamanti attendibili possono leggere. Il chiamante deve quindi leggere il file (dimostrando che dispone dell'autorizzazione appropriata) e ripetere la richiesta con il contenuto del file nell'intestazione dell'autorizzazione per recuperare correttamente un token Microsoft Entra.

  • In Windows il chiamante deve essere membro del gruppo locale Amministrazione istrators o del gruppo Hybrid Agent Extension Applications per leggere il BLOB.

  • In Linux, il chiamante deve essere un membro del gruppo himds per leggere il BLOB.

Per altre informazioni sull'uso di un'identità gestita con server abilitati per Arc per l'autenticazione e l'accesso alle risorse di Azure, vedere il video seguente.

Uso della crittografia del disco

L'agente di Azure Connessione ed Machine usa l'autenticazione con chiave pubblica per comunicare con il servizio di Azure. Dopo aver eseguito l'onboarding di un server in Azure Arc, una chiave privata viene salvata nel disco e usata ogni volta che l'agente comunica con Azure. Se rubata, la chiave privata può essere usata in un altro server per comunicare con il servizio e agire come se fosse il server originale. Ciò include l'accesso all'identità assegnata dal sistema e alle risorse a cui ha accesso l'identità. Il file di chiave privata è protetto per consentire solo all'account himds di leggerlo. Per evitare attacchi offline, è consigliabile usare la crittografia completa del disco (ad esempio BitLocker, dm-crypt e così via) nel volume del sistema operativo del server.

Passaggi successivi

  • Prima di valutare o abilitare i server abilitati per Azure Arc in più computer ibridi, esaminare la panoramica dell'agente machine Connessione ed per comprendere i requisiti, i dettagli tecnici sull'agente e i metodi di distribuzione.

  • Vedere la Guida alla pianificazione e alla distribuzione per pianificare la distribuzione di server abilitati per Azure Arc su qualsiasi scala e implementare la gestione e il monitoraggio centralizzati.