Nesse artigo, você aprenderá a usar o Azure Observador de Rede Diagnóstico NSG para verificar e solucionar problemas de regras de segurança aplicadas ao seu tráfego do Azure por meio de Grupos de segurança de rede e Gerenciador de Rede Virtual do Azure. O diagnóstico do NSG verifica se o tráfego é permitido ou negado pelas regras de segurança aplicadas.
O exemplo neste artigo mostra como um grupo de segurança de rede configurado incorretamente pode impedir que você use o Azure Bastion para se conectar a uma máquina virtual.
As etapas desse artigo executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Abrir o Cloud Shell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell no portal do Azure.
Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. Esse artigo requer o módulo Az PowerShell. Para obter mais informações, veja Como instalar o Azure PowerShell. Para localizar a versão instalada, execute Get-InstalledModule -Name Az. Se você executar o PowerShell localmente, entre no Azure usando a cmdlet Connect-AzAccount.
As etapas desse artigo executam os comandos da CLI do Azure interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Abrir o Cloud Shell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e colá-lo no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell no portal do Azure.
Nesta seção, você criará uma rede virtual com duas sub-redes e um host do Azure Bastion. A primeira sub-rede é usada para a máquina virtual e a segunda sub-rede é usada para o bastion host. Você também pode criar um grupo de segurança de rede e aplicá-lo à primeira sub-rede.
Na caixa de pesquisa na parte superior do portal, digite redes virtuais. Selecione Redes virtuais nos resultados da pesquisa.
Selecione + Criar. Em Criar rede virtual, insira ou selecione os valores a seguir na guia Informações Básicas:
Configuração
Valor
Detalhes do projeto
Subscription
Selecione sua assinatura do Azure.
Grupo de recursos
Selecione Criar novo. Insira myResourceGroup em Nome. Selecione OK.
Detalhes da instância
Nome da rede virtual
Insira MyVnet.
Região
Selecione (EUA) Leste dos EUA.
Selecione a guia Segurança ou clique no botão Avançar na parte inferior da página.
Em Azure Bastion, selecione Habilitar o Azure Bastion e aceite os valores padrão:
Configuração
Valor
Nome do host do Azure Bastion
myVNet-Bastion.
Endereço IP público do Azure Bastion
(Novo) myVNet-bastion-publicIpAddress.
Selecione a guia Endereços IP ou selecione o botão Avançar na parte inferior da página.
Aceite o espaço de endereço IP padrão 10.0.0.0/16 e edite a sub-rede padrão selecionando o ícone de lápis. Na página Editar sub-rede, insira os seguintes valores:
Configuração
Valor
Detalhes da sub-rede
Nome
Insira mySubnet.
Segurança
Grupo de segurança de rede
Selecione Criar novo. Insira mySubnet-nsg no Nome. Selecione .
Selecione Examinar + criar.
Examine as configurações e selecione Criar.
Crie um grupo de recursos usando New-AzResourceGroup. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Crie o recurso de endereço IP público necessário para o bastion host usando New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
Criar um grupo de recursos usando az group create. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
Os preços por hora começam a partir do momento em que o Bastion host é implantado, independentemente do uso de dados de saída. Para saber mais, consulte Preços. Recomendamos que você exclua esse recurso quando terminar de usá-lo.
Criar uma máquina virtual
Nesta seção, você criará uma máquina virtual e um grupo de segurança de rede aplicados ao adaptador de rede.
# Create a default network security group.
az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Crie uma máquina virtual com az vm create. Quando solicitado, digite seu nome de usuário e senha.
# Create a virtual machine using the latest Windows Server 2022 image.
az vm create --resource-group 'myResourceGroup' --name 'myVM' --location 'eastus' --vnet-name 'myVNet' --subnet 'mySubnet' --public-ip-address '' --nsg 'myVM-nsg' --image 'Win2022AzureEditionCore'
Adicionar uma regra de segurança ao grupo de segurança de rede
Nesta seção, você adicionará uma regra de segurança ao grupo de segurança de rede associado ao adaptador de rede de myVM. A regra nega qualquer tráfego de entrada da rede virtual.
Na caixa de pesquisa na parte superior do portal, digite grupos de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.
Na lista de grupos de segurança de rede, selecione myVM-nsg.
Em Configurações, selecione Regras de segurança de entrada.
Selecione + Adicionar. Na guia Rede, insira ou selecione os seguintes valores:
# Place the network security group configuration into a variable.
$networkSecurityGroup = Get-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup'
# Create a security rule that denies inbound traffic from the virtual network service tag.
Add-AzNetworkSecurityRuleConfig -Name 'DenyVnetInBound' -NetworkSecurityGroup $networkSecurityGroup `
-Access 'Deny' -Protocol '*' -Direction 'Inbound' -Priority '1000' `
-SourceAddressPrefix 'virtualNetwork' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*'
# Updates the network security group.
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $networkSecurityGroup
Use az network nsg rule create para adicionar uma regra de segurança ao grupo de segurança de rede que nega o tráfego da rede virtual.
# Add to the network security group a security rule that denies inbound traffic from the virtual network service tag.
az network nsg rule create --name 'DenyVnetInBound' --resource-group 'myResourceGroup' --nsg-name 'myVM-nsg' --priority '1000' \
--access 'Deny' --protocol '*' --direction 'Inbound' --source-address-prefixes 'virtualNetwork' --source-port-ranges '*' \
--destination-address-prefixes '*' --destination-port-ranges '*'
Observação
A marca de serviço VirtualNetwork representa o espaço de endereço da rede virtual, todos os espaços de endereço locais conectados, redes virtuais emparelhadas, redes virtuais conectadas a um gateway de rede virtual, o endereço IP virtual do host e os prefixos de endereço usados em rotas definidas pelo usuário. Para saber mais, confira Marcas de serviço.
Verificar regras de segurança aplicadas a um tráfego de máquina virtual
Use o diagnóstico do NSG para marcar as regras de segurança aplicadas ao tráfego originado da sub-rede do Bastion para a máquina virtual.
Na caixa de pesquisa na parte superior do portal, pesquise e selecione Observador de Rede.
Em Ferramentas de diagnóstico de rede, selecione Diagnóstico de NSG.
Na página Diagnóstico do NSG, insira ou selecione os seguintes valores:
Configuração
Valor
Recurso de destino
Tipo de recurso de destino
Selecione Máquina virtual.
Máquina virtual
Selecione a máquina virtual myVM.
Detalhes do Tráfego
Protocolo
selecione TCP. Outras opções disponíveis são: Todas, UDP e ICMP.
Direção
Selecione Entrada. Outra opção disponível é: Saída.
Tipo de origem
Selecione Endereço IPv4/CIDR. Outra opção disponível é: Marca de serviço.
Endereço IPv4/CIDR
Insira 10.0.1.0/26, que é o intervalo de endereços IP da sub-rede do Bastion. Os valores aceitáveis são: endereço IP único, vários endereços IP, prefixo IP único, vários prefixos IP.
Endereço IP de destino
Deixe o padrão de 10.0.0.4, que é o endereço IP de myVM.
Porta de destino
Insira * para incluir todas as portas.
Selecione Executar diagnóstico NSG para executar o teste. Depois que o diagnóstico do NSG concluir a verificação de todas as regras de segurança, ele exibirá o resultado.
O resultado mostra que há três regras de segurança avaliadas para a conexão de entrada da sub-rede do Bastion:
GlobalRules: essa regra de administrador de segurança é aplicada no nível da rede virtual usando o Gerenciador de Rede Virtual do Azure. A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
mySubnet-nsg: esse grupo de segurança de rede é aplicado no nível da sub-rede (sub-rede da máquina virtual). A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
myVM-nsg: esse grupo de segurança de rede é aplicado no nível do adaptador de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
Selecione Exibir detalhes de myVM-nsg para ver detalhes sobre as regras de segurança que esse grupo de segurança de rede tem e qual regra negou o tráfego.
No grupo de segurança de rede myVM-nsg, a regra de segurança DenyVnetInBound nega qualquer tráfego proveniente do espaço de endereço da marca de serviço VirtualNetwork para a máquina virtual. O bastion host usa endereços IP do intervalo de endereços: 10.0.1.0/26, que estão incluídos na marca de serviço VirtualNetwork, para se conectar à máquina virtual. Portanto, a conexão do bastion host é negada pela regra de segurança DenyVnetInBound .
O resultado mostra que há três regras de segurança avaliadas para a conexão de entrada da sub-rede do Bastion:
GlobalRules: essa regra de administrador de segurança é aplicada no nível da rede virtual usando o Gerenciador de Rede Virtual do Azure. A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
mySubnet-nsg: esse grupo de segurança de rede é aplicado no nível da sub-rede (sub-rede da máquina virtual). A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
myVM-nsg: esse grupo de segurança de rede é aplicado no nível do adaptador de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
No grupo de segurança de rede myVM-nsg, a regra de segurança DenyVnetInBound nega qualquer tráfego proveniente do espaço de endereço da marca de serviço VirtualNetwork para a máquina virtual. O bastion host usa endereços IP de 10.0.1.0/26, que estão incluídos na marca de serviço VirtualNetwork, para se conectar à máquina virtual. Portanto, a conexão do bastion host é negada pela regra de segurança DenyVnetInBound .
O resultado mostra que há três regras de segurança avaliadas para a conexão de entrada da sub-rede do Bastion:
GlobalRules: essa regra de administrador de segurança é aplicada no nível da rede virtual usando o Gerenciador de Rede Virtual do Azure. A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
mySubnet-nsg: esse grupo de segurança de rede é aplicado no nível da sub-rede (sub-rede da máquina virtual). A regra permite o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
myVM-nsg: esse grupo de segurança de rede é aplicado no nível do adaptador de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede do Bastion para a máquina virtual.
No grupo de segurança de rede myVM-nsg, a regra de segurança DenyVnetInBound nega qualquer tráfego proveniente do espaço de endereço da marca de serviço VirtualNetwork para a máquina virtual. O bastion host usa endereços IP de 10.0.1.0/26, que estão incluídos na marca de serviço VirtualNetwork, para se conectar à máquina virtual. Portanto, a conexão do bastion host é negada pela regra de segurança DenyVnetInBound .
Adicionar uma regra de segurança para permitir o tráfego da sub-rede do Bastion
Para se conectar à myVM usando o Azure Bastion, o tráfego da sub-rede do Bastion deve ser permitido pelo grupo de segurança de rede. Para permitir o tráfego de 10.0.1.0/26, adicione uma regra de segurança com uma prioridade mais alta (número de prioridade mais baixa) do que a regra DenyVnetInBound ou edite a regra DenyVnetInBound para permitir o tráfego da sub-rede do Bastion.
Você pode adicionar a regra de segurança ao grupo de segurança de rede na página Observador de Rede que mostrou os detalhes sobre a regra de segurança negando o tráfego para a máquina virtual.
Para adicionar a regra de segurança de dentro do Observador de Rede, selecione + Adicionar regra de segurança e insira ou selecione os seguintes valores:
Configuração
Valor
Fonte
Selecione Endereços IP.
Endereços IP de origem/Intervalos de CIDR
Insira 10.0.1.0/26, que é o intervalo de endereços IP da sub-rede do Bastion.
Intervalos de portas de origem
Insira *.
Destino
Selecione Qualquer.
Serviço
selecione Personalizado.
Intervalos de portas de destino
Insira *.
Protocolo
Selecione Qualquer.
Ação
selecione Permitir.
Prioridade
Insira 900, que é a prioridade mais alta que 1000 usada para a regra DenyVnetInBound.
Nome
Insira AllowBastionConnections.
Selecione Verificar novamente para executar a sessão de diagnóstico novamente. A sessão de diagnóstico agora deve mostrar que o tráfego da sub-rede do Bastion é permitido.
A regra de segurança AllowBastionConnections permite o tráfego de qualquer endereço IP em 10.0.1.0/26 para a máquina virtual. Como o bastion host usa endereços IP de 10.0.1.0/26, sua conexão com a máquina virtual é permitida pela regra de segurança AllowBastionConnections .
Use Add-AzNetworkSecurityRuleConfig para criar uma regra de segurança que permite o tráfego a partir da sub-rede do Bastion. Em seguida, use Set-AzNetworkSecurityGroup para atualizar o grupo de segurança de rede com a nova regra de segurança.
# Place the network security group configuration into a variable.
$networkSecurityGroup = Get-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup'
# Create a security rule.
Add-AzNetworkSecurityRuleConfig -Name 'AllowBastionConnections' -NetworkSecurityGroup $networkSecurityGroup -Priority '900' -Access 'Allow' `
-Protocol '*' -Direction 'Inbound' -SourceAddressPrefix '10.0.1.0/26' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*'
# Updates the network security group.
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $networkSecurityGroup
A regra de segurança AllowBastionConnections permite o tráfego de qualquer endereço IP em 10.0.1.0/26 para a máquina virtual. Como o bastion host usa endereços IP de 10.0.1.0/26, sua conexão com a máquina virtual é permitida pela regra de segurança AllowBastionConnections .
Use az network nsg rule create para adicionar ao grupo de segurança de rede uma regra de segurança que permite o tráfego a partir da sub-rede do Bastion.
# Add a security rule to the network security group.
az network nsg rule create --name 'AllowBastionConnections' --resource-group 'myResourceGroup' --nsg-name 'myVM-nsg' --priority '900' \
--access 'Allow' --protocol '*' --direction 'Inbound' --source-address-prefixes '10.0.1.0/26' --source-port-ranges '*' \
--destination-address-prefixes '*' --destination-port-ranges '*'
A regra de segurança AllowBastionConnections permite o tráfego de qualquer endereço IP em 10.0.1.0/26 para a máquina virtual. Como o bastion host usa endereços IP de 10.0.1.0/26, sua conexão com a máquina virtual é permitida pela regra de segurança AllowBastionConnections .
Limpar os recursos
Quando não for mais necessário, exclua o grupo de recursos e todos os recursos que ele contém: