Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste guia, você usará a Política do Azure para auditar uma máquina virtual (VM) de teste em relação à linha de base de segurança do Azure para Linux.
Especificamente, irá:
- Criar um grupo de recursos vazio
- Atribuir a política de auditoria ao grupo de recursos vazio
- Criar um de VM
no grupo de recursos e observar os resultados da auditoria
Dica
- Se você quiser experimentar a experiência de auditoria e configuração (correção) que está atualmente em visualização em vez da experiência somente auditoria, consulte Guia de início rápido: configurar a linha de base de segurança do Azure para Linux com uma máquina de teste
- Para obter informações básicas sobre a linha de base de segurança do Azure para Linux, consulte O que é a linha de base de segurança do Azure para Linux?.
Pré-requisitos
Antes de tentar as etapas neste artigo:
Você precisará de uma conta do Azure para criar um grupo de recursos, atribuição de política e uma máquina virtual. Se não tiver uma conta do Azure, pode criar uma versão de avaliação gratuita.
Escolha como você acessará seu ambiente do Azure, por exemplo:
- EASY: Azure Cloud Shell em https://shell.azure.com
- OR: use sua própria estação de trabalho e ambiente de shell com a CLI do Azure instalada e conectada
- OR: Use o portal do Azure em https://portal.azure.com
Verifique se você está conectado ao ambiente de teste do Azure desejado
Etapa 1: Criar um grupo de recursos
Dica
O uso de "East US" (eastus) como um local de exemplo ao longo deste artigo é arbitrário. Você pode escolher qualquer local disponível do Azure.
Etapa 2: atribuir a política ao seu grupo de recursos de teste vazio
# Note this example is from a bash shell. Other shells may require different handling of special characters and variables
RG_ID=$(az group show --resource-group my-demo-rg --query id --output tsv)
az policy assignment create --policy "fc9b3da7-8347-4380-8e70-0a0361d8dedd" --display-name "Linux machines should meet requirements for the Azure compute security baseline" --scope "$RG_ID"
Etapa 3: Criar uma VM de teste e prepará-la para a Configuração da Máquina
Criar uma VM Linux com uma identidade atribuída ao sistema
az vm create --name my-demo-vm-01 --resource-group my-demo-rg --image Ubuntu2204 --assign-identity [system] --size Standard_B2sDica
É normal receber um alerta semelhante a "Ainda não foi dado acesso...",. A Configuração de Máquina do Azure requer apenas que a máquina tenha uma identidade gerenciada, não qualquer acesso a recursos específicos.
Instalar o agente de Configuração de Máquina, como uma extensão de VM do Azure
az vm extension set --resource-group my-demo-rg --vm-name my-demo-vm-01 --name ConfigurationForLinux --publisher Microsoft.GuestConfiguration --enable-auto-upgrade
Dica
As etapas de extensão de identidade gerenciada e Configuração da Máquina foram executadas manualmente neste guia para reduzir a espera e as alterações de contexto. Em escala, eles podem ser satisfeitos usando a iniciativa de política interna Implantar pré-requisitos para habilitar políticas de Configuração de Convidado em máquinas virtuais .
Passo 4: Faça uma pausa antes de prosseguir
Várias etapas agora acontecerão automaticamente. Cada um destes passos pode demorar alguns minutos. Por conseguinte, aguarde pelo menos 15 minutos antes de prosseguir.
Passo 5: Observar os resultados
Os exemplos a seguir mostram como obter:
- Contagem de máquinas por estado de conformidade (útil em escalas de produção, onde você pode ter milhares de máquinas)
- Lista de máquinas com estado de conformidade para cada
- Lista detalhada das regras de base com o estado de conformidade e as provas (também conhecidas como Reasons) para cada uma delas
Dica
Espere ver resultados de vermelhos
Os exemplos de CLI do Azure a seguir são de um ambiente de bash
Contagem de máquinas por estado de conformidade:
QUERY=' // Returns one record per observed compliance status bucket, with machine counts for each guestconfigurationresources | where name contains "AzureLinuxBaseline" | extend ["> ComplianceStatus"] = tostring(properties.complianceStatus) | summarize MachineCount = count() by ["> ComplianceStatus"]' az graph query --graph-query "$QUERY" --query data --output yamlcLista de máquinas com estado de conformidade para cada uma:
QUERY=' // returns one record per machine, with status guestconfigurationresources | where name contains "AzureLinuxBaseline" | project ["> Machine"] = split(properties.targetResourceId,"/")[-1], ComplianceStatus = properties.complianceStatus, LastComplianceCheck = properties.lastComplianceStatusChecked' az graph query --graph-query "$QUERY" --query data --output yamlcLista detalhada das regras de base com o estado de conformidade e as provas (também conhecidas como Reasons) para cada uma delas:
QUERY=' // Returns one record per baseline rule (around 200 per machine) with status for each GuestConfigurationResources | where name contains "AzureLinuxBaseline" | project Report = properties.latestAssignmentReport, Machine = split(properties.targetResourceId,"/")[-1], LastComplianceCheck=properties.lastComplianceStatusChecked | mv-expand Report.resources | project ["> Machine"] = Machine, ["> Rule"] = Report_resources.resourceId, RuleComplianceStatus = Report_resources.complianceStatus, RuleComplianceReason = Report_resources.reasons[0].phrase, LastComplianceCheck' az graph query --graph-query "$QUERY" --query data --output yamlc
O vídeo está incluído para dar uma ideia geral do fluxo de trabalho. Para obter detalhes da consulta, confie no texto deste artigo.
Opcional: adicione mais máquinas de teste para experimentar a escala
Neste artigo, a política foi atribuída a um grupo de recursos que inicialmente estava vazio e, em seguida, ganhou uma VM. Embora isso demonstre que o sistema funciona de ponta a ponta, ele não fornece uma sensação de operações em escala com listas de máquinas e assim por diante.
Considere adicionar mais máquinas de teste ao grupo de recursos, seja manualmente ou por meio de automação. Essas máquinas podem ser VMs do Azure ou máquinas habilitadas para Arc. À medida que você vê essas máquinas entrarem em conformidade (ou até mesmo falharem), você pode obter uma noção mais apurada de operacionalização da linha de base de segurança do Azure em escala.
Limpar recursos
Para evitar cobranças contínuas, considere excluir o grupo de recursos usado neste artigo. Por exemplo, o comando da CLI do Azure seria az group delete --name "my-demo-rg".
Conteúdo relacionado
- Para fornecer comentários, discutir solicitações de recursos, etc., entre em contato com: linux_sec_config_mgmt@service.microsoft.com
- Leia sobre o blog de lançamento anunciado no Ignite 2024