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.
Neste guia, você usará o Azure Policy para auditar uma VM (Máquina Virtual) de teste em relação à linha de base de segurança do Azure para Linux.
Especificamente, você vai:
- Criar um grupo de recursos de vazio
- Atribuir a política de auditoria ao grupo de recursos vazio
- Criar uma VM no grupo de recursos e observar os resultados da auditoria
Ponta
- Se você quiser experimentar a experiência de auditoria e configuração (correção) que está atualmente em versão prévia, em vez da experiência somente auditoria, consulte Início Rápido: Configurar a linha de base de segurança do Azure para Linux com um computador de teste
- Para obter informações sobre a linha de base de segurança do Azure para Linux, incluindo, consulte O que é a linha de base de segurança do Azure para Linux?.
Pré-requisitos
Antes de tentar as etapas deste artigo:
Você precisará de uma conta do Azure para criar um grupo de recursos, uma atribuição de política e uma máquina virtual. Se você não tiver uma conta do Azure, poderá criar uma avaliação gratuita.
Escolha como você acessará seu ambiente do Azure, por exemplo:
- FÁCIL: Azure Cloud Shell em https://shell.azure.com
- OU: use sua própria estação de trabalho e ambiente de shell com a CLI do Azure instalada e conectada
- OU: use o portal do Azure em https://portal.azure.com
Verifique se você está conectado ao ambiente de teste do Azure desejado
Você pode usar
az account showpara ver o contexto atual. Para entrar ou alterar contextos, useaz account login.
Etapa 1: Criar um grupo de recursos
Ponta
O uso de "Leste dos EUA" (eastus) como um local de exemplo ao longo deste artigo é arbitrário. Você pode escolher qualquer local disponível do Azure.
az group create --name my-demo-rg --location eastus
Etapa 2: Atribuir a política ao 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 do Computador
Criar uma VM do Linux com uma identidade atribuída pelo sistema
az vm create --name my-demo-vm-01 --resource-group my-demo-rg --image Ubuntu2204 --assign-identity [system] --size Standard_B2sPonta
É normal receber um alerta semelhante ao "Nenhum acesso foi dado ainda...". A Configuração de Máquina do Azure requer apenas que o computador tenha uma identidade gerenciada, não qualquer acesso específico a recursos.
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
Ponta
As etapas de extensão de configuração de máquina e identidade gerenciada foram executadas manualmente neste guia para reduzir a espera e reduzir as alterações de contexto. Em escala, eles podem ser atendidos usando os pré-requisitos de implantação para habilitar políticas de configuração de convidado na iniciativa de política interna de máquinas virtuais.
Passo 4: Faça uma pausa antes de prosseguir
Várias etapas agora ocorrerão automaticamente. Cada uma dessas etapas pode levar alguns minutos. Portanto, aguarde pelo menos 15 minutos antes de prosseguir.
Etapa 5: observe os resultados
Os exemplos a seguir mostram como obter:
- Contagem de computadores por estado de conformidade (útil em escalas de produção, em que você pode ter milhares de computadores)
- Lista de computadores com estado de conformidade para cada
- Lista detalhada de regras de linha de base com estado de conformidade e evidência (também conhecida como Razões) para cada
Ponta
Espere ver vermelho não compatível resultados no seguinte. O caso de uso somente auditoria é sobre a descoberta da diferença entre os sistemas existentes e a linha de base de segurança do Azure.
Os exemplos da CLI do Azure a seguir são de um ambiente de de
Contagem de computadores 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 computadores com estado de conformidade para cada um:
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 de regras de linha de base com estado de conformidade e evidência (também conhecida como Razões) para cada um:
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 noção geral do fluxo de trabalho. Para obter detalhes da consulta, confie no texto deste artigo.
Opcional: adicionar mais computadores de teste para experimentar a escala
Neste artigo, a política foi atribuída a um grupo de recursos que inicialmente estava vazio e ganhou uma VM. Embora isso demonstre que o sistema funciona de ponta a ponta, não fornece uma sensação de operações em escala com listas de máquinas e assim por diante.
Considere adicionar mais computadores de teste ao grupo de recursos, seja manualmente ou por meio da automação. Esses computadores podem ser VMs do Azure ou computadores habilitados para Arc. Ao ver que esses computadores entram em conformidade (ou até mesmo falham), você pode obter uma noção mais profunda de operacionalização da linha de base de segurança do Azure em escala.
Limpar recursos
Para evitar encargos contínuos, 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. contate: linux_sec_config_mgmt@service.microsoft.com
- Leia sobre o blog de lançamento do anunciado no Ignite 2024