Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve os conceitos básicos das extensões de VM para servidores habilitados para Azure Arc e detalha como as configurações de extensão podem ser personalizadas.
Noções básicas de extensão
As extensões de VM (máquina virtual) para servidores habilitados para Azure Arc são complementos opcionais que permitem outras funcionalidades, como monitoramento, gerenciamento de patch e execução de script. As extensões são publicadas pela Microsoft e selecionam terceiros no Azure Marketplace e armazenadas em contas de armazenamento gerenciadas pela Microsoft. Todas as extensões são verificadas quanto ao malware como parte do processo de publicação. As extensões com suporte para servidores habilitados para Azure Arc são idênticas às disponíveis para VMs do Azure, garantindo consistência em seus ambientes operacionais.
As extensões são baixadas diretamente do Armazenamento do Azure (*.blob.core.windows.net) à medida que são instaladas ou atualizadas, a menos que você tenha configurado pontos de extremidade privados. As contas de armazenamento são alteradas regularmente e não podem ser previstas com antecedência. Quando pontos de extremidade privados são usados, as extensões são criadas por meio do URL regional para o serviço do Azure Arc.
Um arquivo de catálogo assinado digitalmente é baixado separadamente do pacote de extensão e usado para verificar a integridade de cada extensão antes que o gerenciador de extensões abra ou execute o pacote de extensão. Se o arquivo ZIP baixado para a extensão não corresponder ao conteúdo no arquivo de catálogo, a operação de extensão será anulada.
As extensões podem usar configurações para personalizar ou configurar a instalação, como URLs de proxy ou chaves de API que conectam um agente de monitoramento ao serviço de nuvem. As configurações de extensão se enquadram em duas categorias: configurações regulares e configurações protegidas. As configurações protegidas não são mantidas no Azure e são criptografadas em repouso em seu computador local.
Todas as operações de extensão são originadas do Azure por meio de uma chamada à API, CLI, PowerShell ou ação do portal do Azure. Esse design garante que qualquer ação para instalar, atualizar ou atualizar uma extensão em um servidor seja registrada no Log de Atividades do Azure Monitor. O agente do Azure Connected Machine permite que as extensões sejam removidas localmente para fins de solução de problemas e limpeza. No entanto, se a extensão for removida localmente e o serviço ainda esperar que o computador tenha essa extensão, a extensão será reinstalada na próxima vez que o gerenciador de extensões sincronizar com o Azure.
Execução do script
O gerenciador de extensões pode ser usado para executar scripts em computadores usando a Extensão de Script Personalizado ou Executar Comando. Por padrão, esses scripts são executados no contexto do usuário do gerenciador de extensões – Sistema Local no Windows ou raiz no Linux – o que significa que esses scripts têm acesso irrestrito ao computador. Se você não pretende usar esses recursos, poderá bloqueá-los usando uma lista de permissões ou uma lista de bloqueios. Por exemplo, a menos que você planeje usar a extensão script personalizado para execução remota de código, desabilite seu uso, pois ele pode ser usado por invasores para executar remotamente comandos que implantam código mal-intencionado.
Controles de segurança do agente local
Opcionalmente, você pode limitar as extensões que podem ser instaladas no servidor e desabilitar a Configuração de Convidado. Esses controles podem ser úteis ao conectar servidores ao Azure para uma única finalidade, como coletar logs de eventos, sem permitir que outros recursos de gerenciamento sejam usados no servidor.
Esses controles de segurança só podem ser configurados executando um comando no próprio servidor e não podem ser modificados do Azure. Essa abordagem preserva a intenção do administrador do servidor ao habilitar cenários de gerenciamento remoto com o Azure Arc, mas também significa que é mais difícil alterar essas opções posteriormente. Esses controles destinam-se a servidores confidenciais, como controladores de domínio do Active Directory, servidores que lidam com dados de pagamento e servidores sujeitos a medidas rigorosas de controle de alterações). Na maioria dos outros casos, não é necessário modificar essas configurações.
Listas de permissões e listas de bloqueio
O agente do Azure Connected Machine dá suporte a uma lista de permissões e uma lista de bloqueios para restringir quais extensões podem ser instaladas em seu computador. Listas de permissões são exclusivas, o que significa que somente as extensões específicas incluídas na lista podem ser instaladas. Listas de bloqueios são exclusivas, o que significa que qualquer coisa, exceto essas extensões, pode ser instalada. Listas de permissões são preferíveis a listas de bloqueios porque bloqueiam inerentemente quaisquer novas extensões que se tornem disponíveis no futuro.
Listas de permissões e listas de bloqueio são configuradas localmente por servidor. Isso garante que ninguém, nem mesmo um usuário com permissões de Proprietário ou Administrador Global no Azure, possa substituir suas regras de segurança tentando instalar uma extensão não autorizada. Se alguém tentar instalar uma extensão não autorizada, o gerenciador de extensões se recusará a instalá-la e marcará o relatório de instalação da extensão como uma falha no Azure.
Listas de permissões e listas de bloqueio podem ser configuradas a qualquer momento após a instalação do agente, inclusive antes de o agente ser conectado ao Azure.
Se nenhuma lista de permissões ou lista de bloqueios estiver configurada no agente, todas as extensões serão permitidas.
A opção mais segura é permitir explicitamente as extensões que você espera que sejam instaladas. Qualquer extensão que não esteja na lista de permissão é bloqueada automaticamente. Por exemplo, para configurar o agente do Azure Connected Machine para permitir apenas o Agente do Azure Monitor para Linux, execute o seguinte comando em cada servidor:
azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"
Por exemplo, esse comando bloqueia extensões que têm a capacidade de executar scripts arbitrários:
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"
Especifique as extensões com seu editor e tipo, separados por uma barra /. Confira os detalhes das extensões mais comuns nos documentos.
Você pode listar as extensões de VM que já estão instaladas no servidor no portal, no Azure PowerShell ou na CLI do Azure.
A tabela descreve o comportamento das operações de extensão em relação a um agente que tem a lista de permissões ou a lista de bloqueios configurada.
| Operation | Na lista de permissões | Na lista de bloqueados | Nos modos de permissão e de bloqueio | Não está em nenhuma lista, mas uma lista de permissão está configurada |
|---|---|---|---|---|
| Instalar a extensão | Allowed | Blocked | Blocked | Blocked |
| Atualizar a extensão (reconfigurar) | Allowed | Blocked | Blocked | Blocked |
| Atualizar a extensão | Allowed | Blocked | Blocked | Blocked |
| Exclui a extensão | Allowed | Allowed | Allowed | Allowed |
Important
Se uma extensão já estiver instalada em seu servidor antes de configurar uma lista de permissões ou uma lista de bloqueios, ela não será removida. É sua responsabilidade excluir a extensão do Azure para removê-la totalmente do computador. As solicitações de exclusão são sempre aceitas para acomodar esse cenário. Uma vez excluídas, a lista de permissões e a lista de bloqueios determinam se devem ou não permitir futuras tentativas de instalação.
O valor Allow/None da lista de permissões instrui o gerenciador de extensões a ser executado, mas não permite que nenhuma extensão seja instalada. Esse valor é recomendado ao usar o Azure Arc para fornecer Atualizações de Segurança Estendidas (ESU) do Windows Server 2012 sem a intenção de usar outras extensões.
azcmagent config set extensions.allowlist "Allow/None"
Azure Policy
Outra opção para restringir quais extensões podem ser instaladas é usar o Azure Policy. As políticas têm a vantagem de serem configuráveis na nuvem, portanto, uma alteração em cada servidor individual não será necessária se você precisar alterar a lista de extensões aprovadas. No entanto, qualquer pessoa com permissão para modificar atribuições de política pode substituir ou remover essa proteção. Se você optar por usar o Azure Policy para restringir extensões, verifique quais contas em sua organização têm permissão para editar atribuições de política e se as medidas de controle de alteração apropriadas estão em vigor.
Modo de monitoramento de agentes
Por padrão, o agente do Connected Machine é executado em modo completo, o que permite que todas as extensões sejam instaladas e usadas (a menos que restritas por listas de permissões, listas de bloqueio ou Azure Policy). Uma maneira simples de configurar controles de segurança locais para cenários de monitoramento e segurança é habilitar o modo de monitor para o agente do Computador Conectado.
Quando o agente está no modo de monitor, somente extensões relacionadas ao monitoramento e à segurança, como o Agente do Azure Monitor e o Microsoft Defender para Nuvem, podem ser implantadas. O agente bloqueia todas as extensões que podem alterar a configuração do sistema ou executar scripts arbitrários e desabilita o agente de política de configuração de convidado.
À medida que novas extensões se tornam disponíveis, a Microsoft atualiza a lista de permissões do modo monitor. Você pode examinar a lista atual de extensões permitidas executando azcmagent config list.
Para habilitar o modo monitor, execute o seguinte comando:
azcmagent config set config.mode monitor
Você pode verificar o modo atual do agente e as extensões permitidas com o seguinte comando:
azcmagent config list
No modo de monitor, você não pode modificar a lista de permissões ou a lista de bloqueios de extensão. Se você precisar alterar qualquer lista, altere o agente de volta para o modo completo e especifique sua própria lista de permissões e lista de bloqueios em vez de usar o modo de monitor.
Para alterar o agente de volta para o modo completo, execute o seguinte comando:
azcmagent config set config.mode full
Práticas recomendadas do computador bloqueadas
Ao configurar o agente Azure Connected Machine com um conjunto reduzido de recursos, é importante considerar os mecanismos que alguém poderia usar para remover essas restrições e implementar os controles apropriados. Qualquer pessoa capaz de executar comandos como administrador ou usuário raiz no servidor pode alterar a configuração do agente do Azure Connected Machine. As extensões e as políticas de configuração de convidados são executadas em contextos privilegiados em seu servidor e, portanto, podem alterar a configuração do agente. Se você aplicar controles de segurança do agente local para bloquear o agente, a Microsoft recomenda as seguintes melhores práticas para garantir que somente os administradores do servidor local possam atualizar a configuração do agente:
- Utilize listas de permissão para extensões em vez de listas de bloqueio sempre que possível.
- Não permita a Extensão de Script Personalizado, a menos que você precise dela para uma finalidade específica.
- Desabilite a configuração de convidado para impedir o uso de políticas de configuração de convidado personalizadas que podem alterar a configuração do agente.
Exemplo de configuração para cenários de segurança e monitoramento
É comum usar o Azure Arc para monitorar seus servidores com o Azure Monitor e o Microsoft Sentinel e protegê-los com o Microsoft Defender para Nuvem. Esta seção contém exemplos de como bloquear o agente para dar suporte apenas a cenários de monitoramento e segurança.
Somente agente do Azure Monitor
Em servidores Windows, execute os seguintes comandos em um console de comandos com privilégios elevados:
azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorWindowsAgent"
azcmagent config set guestconfiguration.enabled false
Em servidores Linux, execute os seguintes comandos:
sudo azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"
sudo azcmagent config set guestconfiguration.enabled false
Monitoramento e segurança
O Microsoft Defender para Nuvem implanta extensões em seu servidor para identificar softwares vulneráveis em seu servidor e habilitar o Microsoft Defender para Ponto de Extremidade (se configurado). O Microsoft Defender para Nuvem também usa a configuração de convidado para seu recurso de conformidade regulatória. Como uma atribuição personalizada de "Configuração de Convidado" pode ser usada para desfazer as limitações impostas pelo agente, você deve avaliar cuidadosamente se precisa do recurso de conformidade regulatória e, consequentemente, a necessidade de habilitar a "Configuração de Convidado" na máquina.
Em servidores Windows, execute os seguintes comandos em um console de comandos com privilégios elevados:
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
Em servidores Linux, execute os seguintes comandos:
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
Desabilitar o gerenciador de extensões
Caso não precise usar extensões com o Azure Arc, também poderá desabilitar totalmente o gerenciador de extensões. Você pode desabilitar o gerenciador de extensões usando o azcmagent config set comando (executado localmente em cada computador):
azcmagent config set extensions.enabled false
Desabilitar o gerenciador de extensões não remove as extensões já instaladas no servidor. Extensões hospedadas em seus próprios serviços Windows ou Linux, como o Agente herdado do Log Analytics, podem continuar a ser executadas mesmo se o gerenciador de extensões estiver desabilitado. Outras extensões hospedadas pelo próprio gerenciador de extensões, como o Agente do Azure Monitor, não serão executadas se o gerenciador de extensões estiver desabilitado. Para garantir que nenhuma extensão continue sendo executada no servidor, remova todas as extensões antes de desabilitar o gerenciador de extensões.