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.
O MSP (Protocolo de Segurança de Metadados) oferece personalização para restringir maximamente o acesso ao servidor de metadados em sua carga de trabalho. Este artigo apresenta conceitos fundamentais que você pode habilitar rapidamente em qualquer VM (máquina virtual) ou conjunto de dimensionamento de máquinas virtuais com suporte.
Se você estiver familiarizado com a forma como sua carga de trabalho usa serviços de metadados, poderá proteger ainda mais o acesso seguindo o guia de configuração avançada.
Você pode configurar o MSP por meio de:
- Modelos do Gerenciador de Recursos do Azure
- API REST
- PowerShell
- Portal do Azure
Conceitos
| Prazo | Definição |
|---|---|
| Serviços de metadados | Um termo geral para a prática do setor de oferecer APIs HTTP privadas, não internet e anônimas disponíveis em um local fixo. O local normalmente é 169.254.169.254. Embora os recursos exatos, os detalhes e a contagem de serviços variem de acordo com o provedor de nuvem, todos eles compartilham uma arquitetura e uma finalidade semelhantes. |
| Serviço de Metadados de Instância do Azure | Um serviço de metadados voltado para o usuário que vem com suporte e documentação completa da API. Ele destina-se a integrações do Azure e não da Microsoft. Ele oferece uma combinação de metadados e credenciais. |
| WireServer | Um serviço de metadados voltado para a plataforma que as organizações usam para implementar a funcionalidade de IaaS (infraestrutura principal como serviço). Ele não se destina ao consumo geral e o Azure não oferece suporte para isso. Embora os consumidores do serviço estejam relacionados a uma implementação do Azure, o serviço ainda deve ser considerado em avaliações de segurança. Os recursos do WireServer são tratados como privilegiados por padrão. No entanto, você não deve considerar os recursos do Serviço de Metadados de Instância como não privilegiados. Dependendo da carga de trabalho, o Serviço de Metadados de Instância também pode fornecer informações confidenciais. |
| GPA (Agente proxy convidado) | Um agente convidado que habilita as proteções aos MSP. |
Campos do Azure Resource Manager
Você gerencia toda a configuração por meio de novas propriedades na securityProfile seção da configuração do recurso.
A versão mínima da API para configurar o MSP é 2024-03-01.
Configuração geral
ProxyAgentSettings é a nova propriedade no modelo de VM para VMs do Azure e conjuntos de dimensionamento de máquinas virtuais que você usa para configurar o recurso MSP.
| Nome do parâmetro | Tipo | Padrão | Detalhes |
|---|---|---|---|
enabled |
Bool |
false |
Especifica se o recurso MSP deve ser habilitado na VM ou no conjunto de dimensionamento de máquinas virtuais. O padrão é false. Esta propriedade controla:
|
imds |
HostEndpointSettings |
Não aplicável | Configuração específica do Serviço de Metadados de Instância. Consulte Configuração para cada serviço de metadados mais adiante neste artigo. |
wireServer |
HostEndpointSettings |
Não aplicável | Configurações do ponto de extremidade WireServer. Consulte Configuração para cada serviço de metadados mais adiante neste artigo. |
keyIncarnationId |
Integer |
0 |
Um contador para geração de chave. Aumentar esse valor instrui o MSP a redefinir a chave usada para proteger um canal de comunicação entre o convidado e o host. O GPA observa a redefinição de chave e adquire automaticamente uma nova. Essa propriedade é apenas para fins de recuperação e solução de problemas. |
Configuração para cada serviço de metadados
Você pode configurar proteções individuais para cada serviço de metadados. O esquema é o mesmo para cada serviço.
As configurações embutidas e vinculadas são mutuamente exclusivas por serviço.
Configuração embutida
Você pode definir uma configuração inline usando a propriedade mode de HostEndpointSettings. As configurações embutidas não dão suporte à personalização.
Na tabela a seguir, mode é uma enumeração expressa como String.
Valor mode |
Comportamento do GPA | Comportamento do serviço |
|---|---|---|
Disabled |
O GPA não configura a interceptação eBPF de solicitações neste serviço. As solicitações vão diretamente para o serviço. | Inalterado. O serviço não exige que o GPA endosse (assinar) solicitações. |
Audit |
O GPA intercepta solicitações para esse serviço e determina se a configuração atual as autoriza. A solicitação é sempre encaminhada para o serviço, mas as informações do resultado e do chamador são registradas. | Inalterado. O serviço não exige que o GPA endosse (assinar) solicitações. |
Enforce |
O GPA intercepta solicitações para esse serviço e determina se a configuração atual as autoriza. Se o autor da chamada estiver autorizado, o GPA assinará a solicitação para endossá-la. Se o chamador não estiver autorizado, o GPA responderá com código 401 de status ou 403. Todos os resultados são registrados no log de auditoria. |
O GPA deve endossar (assinar) solicitações de serviço. Solicitações não assinadas são rejeitadas com um código de status 401. |
Importante
Você não pode usar essa propriedade ao mesmo tempo que inVMAccessControlProfileReferenceId.
No modo WireServer Enforce , o GPA exige implicitamente que um processo seja executado como Administrator ou root para acessar o WireServer. Esse requisito é equivalente à regra de firewall no ambiente convidado que existe mesmo quando o MSP está desativado, mas com uma implementação mais segura.
Configuração vinculada
O inVMAccessControlProfiles tipo de recurso define uma configuração por serviço que pode ser vinculada a uma VM ou um conjunto de dimensionamento de máquinas virtuais. Essas configurações dão suporte a personalizações completas. Para obter detalhes completos, consulte Configuração avançada para MSP.
Propriedade HostEndpointSettings |
Tipo | Detalhes |
|---|---|---|
inVMAccessControlProfileReferenceId |
String |
O identificador do recurso da configuração a ser aplicada. |
Essa propriedade deve ser uma ID completa do Resource Manager, que usa este formulário: /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}.
Importante
Você não pode usar essa propriedade ao mesmo tempo que mode.
Exemplo completo
- VM:
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{virtualMachine-Name}?api-version=2024-03-01 - Conjunto de dimensionamento de máquinas virtuais:
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSet-name}/virtualMachines/{instance-id}?api-version=2024-03-01
O exemplo a seguir usa mode:
{
"name": "GPAWinVM",
"location": "centraluseuap",
"properties": {
...
...
"securityProfile": {
"proxyAgentSettings": {
"enabled": true,
"wireServer": {
"mode": "Enforce"
},
"imds": {
"mode": "Audit"
}
}
},
}
}
O exemplo a seguir usa inVMAccessControlProfileReferenceId:
{
"name": "GPAWinVM",
"location": "centraluseuap",
"properties": {
...
...
"securityProfile": {
"proxyAgentSettings": {
"enabled": true,
"wireServer": {
"inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}"
},
"imds": {
"inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}"
}
}
},
}
}
Logs de auditoria
Nos modos Audit e Enforce, logs de auditoria são gerados no disco local.
| Família do SO | Local do log de auditoria |
|---|---|
| Linux | /var/lib/azure-proxy-agent/ProxyAgent.Connection.log |
| Windows | C:\WindowsAzure\ProxyAgent\Logs\ProxyAgent.Connection.log |
Progressão recomendada
Os clientes geralmente não estão cientes de toda a extensão do uso do WireServer e do Serviço de Metadados de Instância em sua carga de trabalho. O uso da VM é uma combinação de integrações personalizadas que você cria e os detalhes de implementação de qualquer outro software executado. É recomendável começar com uma configuração mais simples e iterar ao longo do tempo à medida que você obtém mais informações. Em geral, é melhor ir nesta ordem:
- Habilitar MSP para WireServer e Serviço de Metadados de Instância, no modo
Audit. Esta etapa permite que você confirme a compatibilidade e saiba mais sobre sua carga de trabalho. Ele também gera dados valiosos para detectar atores de ameaça. - Examine os dados de auditoria. Preste muita atenção a todas as solicitações sinalizadas. Essas solicitações podem ser sinais de um ataque contínuo ou uma incompatibilidade de carga de trabalho.
- Corrija os problemas. Na configuração padrão, qualquer coisa sinalizada é um uso indevido dos serviços de metadados. Contate sua equipe de segurança ou os proprietários de serviços correspondentes, conforme necessário.
- Alterne de
Auditmodo paraEnforcemodo. As solicitações sinalizadas são rejeitadas para ajudar a proteger a sua carga de trabalho. - Experimente a configuração avançada. A configuração padrão espelha regras de segurança pré-MSP, que geralmente são excessivamente permissivas. Definir uma configuração personalizada para sua carga de trabalho permite aprimorar ainda mais a segurança aplicando o princípio do acesso menos privilegiado.
Não se preocupe em seguir uma progressão perfeita. Qualquer nível de habilitação de MSP melhora muito sua segurança e ajuda a proteger contra a maioria dos ataques do Mundo Real.