Neste artigo, você aprenderá a usar o diagnóstico NSG do Azure Network Watcher 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 do Azure Virtual Network Manager. O diagnóstico 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 mal configurado pode impedir que você use o Azure Bastion para se conectar a uma máquina virtual.
As etapas neste artigo executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Open 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 de dentro do portal do Azure.
Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. Este artigo requer o módulo Az PowerShell. Para obter mais informações, consulte 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 o cmdlet Connect-AzAccount .
As etapas neste artigo executam os comandos da CLI do Azure interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Open 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 de dentro do portal do Azure.
Nesta seção, você cria 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 host Bastion. Você também cria um grupo de segurança de rede e o aplica à primeira sub-rede.
Na caixa de pesquisa na parte superior do portal, insira redes virtuais. Selecione Redes virtuais nos resultados da pesquisa.
Selecione + Criar. Em Criar rede virtual, insira ou selecione os seguintes valores na guia Noções básicas :
Definição
Value
Detalhes do Projeto
Subscrição
Selecione a subscrição do Azure.
Grupo de Recursos
Selecione Criar novo. Digite myResourceGroup em Name. Selecione OK.
Detalhes da instância
Nome da rede virtual
Introduza myVNet.
País/Região
Selecione (EUA) Leste dos EUA.
Selecione a guia Segurança ou selecione o botão Avançar na parte inferior da página.
Em Azure Bastion, selecione Habilitar Azure Bastion e aceite os valores padrão:
Definição
Value
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:
Definição
Value
Detalhes da sub-rede
Nome
Digite mySubnet.
Segurança
Grupo de segurança de rede
Selecione Criar novo. Digite mySubnet-nsg em Nome. Selecione OK.
Selecione Rever + criar.
Reveja as definições e, em seguida, selecione Criar.
Crie um grupo de recursos usando New-AzResourceGroup. Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Crie o recurso de endereço IP público necessário para o host Bastion usando New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
Crie um grupo de recursos com az group create. Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
O preço por hora começa a partir do momento em que o host Bastion é implantado, independentemente do uso de dados de saída. Para obter mais informações, veja os Preços. Recomendamos que elimine este recurso assim que terminar de o utilizar.
Criar uma máquina virtual
Nesta seção, você cria uma máquina virtual e um grupo de segurança de rede aplicado à sua interface 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 usando az vm create. Quando solicitado, digite um 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ê adiciona uma regra de segurança ao grupo de segurança de rede associado à interface de rede de myVM. A regra nega qualquer tráfego de entrada da rede virtual.
Na caixa de pesquisa na parte superior do portal, insira 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 Definiçõ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 ao grupo de segurança de rede uma regra de segurança que negue 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 '*'
Nota
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 prefixos de endereço usados em rotas definidas pelo usuário. Para obter mais informações, consulte Tags de serviço.
Verificar as regras de segurança aplicadas ao tráfego de uma máquina virtual
Use o diagnóstico NSG para verificar as regras de segurança aplicadas ao tráfego originado da sub-rede Bastion para a máquina virtual.
Na caixa de pesquisa na parte superior do portal, procure e selecione Observador de Rede.
Em Ferramentas de diagnóstico de rede, selecione Diagnóstico NSG.
Na página Diagnóstico NSG, insira ou selecione os seguintes valores:
Definição
Value
Recurso de Destino
Tipo de recurso de destino
Selecione Máquina virtual.
Máquina virtual
Selecione myVM virtual machine.
Detalhes do trânsito
Protocolo
Selecione TCP. Outras opções disponíveis são: Any, UDP e ICMP.
Direção
Selecione Entrada. Outra opção disponível é: Outbound.
Source type
Selecione Endereço IPv4/CIDR. Outra opção disponível é: Service Tag.
Endereço IPv4/CIDR
Digite 10.0.1.0/26, que é o intervalo de endereços IP da sub-rede 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
Digite * para incluir todas as portas.
Selecione Executar diagnóstico NSG para executar o teste. Assim que o diagnóstico 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 Bastion:
GlobalRules: esta regra de administração de segurança é aplicada no nível da rede virtual usando o Azure Virtual Network Manage. A regra permite o tráfego TCP de entrada da sub-rede Bastion para a máquina virtual.
mySubnet-nsg: este 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 Bastion para a máquina virtual.
myVM-nsg: este grupo de segurança de rede é aplicado ao nível da interface de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede 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 está negando 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 host Bastion usa endereços IP do intervalo de endereços: 10.0.1.0/26, que está incluído na tag de serviço VirtualNetwork , para se conectar à máquina virtual. Portanto, a conexão do host Bastion é 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 Bastion:
GlobalRules: esta regra de administração de segurança é aplicada no nível da rede virtual usando o Azure Virtual Network Manage. A regra permite o tráfego TCP de entrada da sub-rede Bastion para a máquina virtual.
mySubnet-nsg: este 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 Bastion para a máquina virtual.
myVM-nsg: este grupo de segurança de rede é aplicado ao nível da interface de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede 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 host Bastion usa endereços IP de 10.0.1.0/26, que estão incluídos na tag de serviço VirtualNetwork , para se conectar à máquina virtual. Portanto, a conexão do host Bastion é 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 Bastion:
GlobalRules: esta regra de administração de segurança é aplicada no nível da rede virtual usando o Azure Virtual Network Manage. A regra permite o tráfego TCP de entrada da sub-rede Bastion para a máquina virtual.
mySubnet-nsg: este 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 Bastion para a máquina virtual.
myVM-nsg: este grupo de segurança de rede é aplicado ao nível da interface de rede (NIC). A regra nega o tráfego TCP de entrada da sub-rede 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 host Bastion usa endereços IP de 10.0.1.0/26, que estão incluídos na tag de serviço VirtualNetwork , para se conectar à máquina virtual. Portanto, a conexão do host Bastion é negada pela regra de segurança DenyVnetInBound .
Adicionar uma regra de segurança para permitir o tráfego da sub-rede Bastion
Para se conectar a myVM usando o Azure Bastion, o tráfego da sub-rede Bastion deve ser permitido pelo grupo de segurança de rede. Para permitir o tráfego a partir de 10.0.1.0/26, adicione uma regra de segurança com uma prioridade mais alta (número de prioridade mais baixo) do que a regra DenyVnetInBound ou edite a regra DenyVnetInBound para permitir o tráfego da sub-rede Bastion.
Você pode adicionar a regra de segurança ao grupo de segurança de rede na página Inspetor de Rede que mostrou os detalhes sobre a regra de segurança que nega o tráfego para a máquina virtual.
Para adicionar a regra de segurança a partir do Observador de Rede, selecione + Adicionar regra de segurança e, em seguida, introduza ou selecione os seguintes valores:
Definição
Value
Source
Selecione Endereços IP.
Intervalos CIDR/Endereços IP de origem
Digite 10.0.1.0/26, que é o intervalo de endereços IP da sub-rede Bastion.
Intervalo de portas de origem
Digite *.
Destino
Selecione Qualquer.
Serviço
Selecione Personalizado.
Intervalos de portas de destino
Digite *.
Protocolo
Selecione Qualquer.
Ação
Selecione Permitir.
Prioridade
Digite 900, que é uma prioridade maior do que 1000 usada para a regra DenyVnetInBound .
Nome
Digite 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 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 host Bastion 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 permita o tráfego da sub-rede 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 host Bastion 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 permita o tráfego da sub-rede 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 host Bastion 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.
Clean up resources (Limpar recursos)
Quando já não for necessário, elimine o grupo de recursos e todos os recursos contidos no mesmo: