V tomto článku se dozvíte, jak pomocí diagnostiky NSG služby Azure Network Watcher zkontrolovat a řešit potíže s pravidly zabezpečení použitými pro provoz Azure prostřednictvím skupin zabezpečení sítě a Azure Virtual Network Manageru. Diagnostika NSG kontroluje, jestli je provoz povolený nebo zakázaný použitými pravidly zabezpečení.
Příklad v tomto článku ukazuje, jak vám chybně nakonfigurovaná skupina zabezpečení sítě může zabránit v použití služby Azure Bastion pro připojení k virtuálnímu počítači.
Požadavky
Účet Azure s aktivním předplatným.
Vytvoření účtu zdarma
Azure Cloud Shell nebo Azure PowerShell.
Kroky v tomto článku spouští rutiny Azure PowerShellu interaktivně ve službě Azure Cloud Shell. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.
Ke spuštění rutin můžete také nainstalovat Azure PowerShell místně. Tento článek vyžaduje modul Az PowerShell. Další informace najdete v tématu Postup instalace Azure PowerShellu. Nainstalovanou verzi zjistíte spuštěním rutiny Get-InstalledModule -Name Az. Pokud powershell spouštíte místně, přihlaste se k Azure pomocí rutiny Connect-AzAccount .
Účet Azure s aktivním předplatným.
Vytvoření účtu zdarma
Azure Cloud Shell nebo Azure CLI.
Kroky v tomto článku spouští příkazy Azure CLI interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Vyberte Kopírovat pro zkopírování kódu a vložte ho do Cloud Shellu ke spuštění. Cloud Shell můžete spustit také z webu Azure Portal.
Ke spuštění příkazů můžete také nainstalovat Azure CLI místně . Pokud azure CLI spustíte místně, přihlaste se k Azure pomocí příkazu az login .
Vytvoření skupiny zdrojů
Přihlaste se do Azure Portalu.
Do vyhledávacího pole v horní části portálu zadejte skupinu prostředků. Ve výsledcích hledání vyberte skupiny prostředků.
Vyberte + Vytvořit.
Na kartě Základy v části Vytvořit skupinu prostředků zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Zadejte myResourceGroup. |
| Oblast |
Vyberte USA – východ. |
Vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Vytvořte skupinu prostředků pomocí New-AzResourceGroup. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
Vytvoření virtuální sítě
V této části vytvoříte virtuální síť s podsítí a skupinou zabezpečení sítě použitou pro podsíť.
Do vyhledávacího pole v horní části portálu zadejte virtuální sítě. Ve výsledcích hledání vyberte virtuální sítě .
Vyberte + Vytvořit. V části Vytvořit virtuální síť zadejte nebo vyberte následující hodnoty na kartě Základy :
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné Azure. |
| Skupina prostředků |
Vyberte myResourceGroup. |
|
Podrobnosti o instanci |
|
| Název virtuální sítě |
Zadejte myVNet. |
| Oblast |
Vyberte USA – východ. |
Výběrem možnosti Další přejděte na kartu Zabezpečení .
Výběrem možnosti Další přejděte na kartu IP adresy .
Přijměte výchozí adresní prostor IP adres 10.0.0.0/16 a upravte výchozí podsíť výběrem ikony tužky. Na stránce Upravit podsíť zadejte následující hodnoty:
| Nastavení |
Hodnota |
|
Podrobnosti o podsíti |
|
| Název |
Zadejte mySubnet. |
|
Zabezpečení |
|
| Skupina zabezpečení sítě |
Vyberte Vytvořit novou položku.
Do pole Název zadejte mySubnet-nsg.
Vyberte OK. |
Vyberte Uložit.
Vyberte Zkontrolovat a vytvořit v dolní části obrazovky a po ověření vyberte Vytvořit.
Vytvořte výchozí skupinu zabezpečení sítě pomocí rutiny New-AzNetworkSecurityGroup.
# Create a network security group.
$networkSecurityGroup = New-AzNetworkSecurityGroup -Name 'mySubnet-nsg' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
Vytvořte konfigurace podsítí pro podsíť virtuálního počítače a podsíť Azure Bastion pomocí rutiny New-AzVirtualNetworkSubnetConfig.
# Create subnet configurations.
$firstSubnet = New-AzVirtualNetworkSubnetConfig -Name 'mySubnet' -AddressPrefix '10.0.0.0/24' -NetworkSecurityGroup $networkSecurityGroup
$secondSubnet = New-AzVirtualNetworkSubnetConfig -Name 'AzureBastionSubnet' -AddressPrefix '10.0.1.0/26'
Vytvořte virtuální síť pomocí cmdletu New-AzVirtualNetwork.
# Create a virtual network.
$vnet = New-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup' -Location 'eastus' -AddressPrefix '10.0.0.0/16' -Subnet $firstSubnet,$secondSubnet
Vytvořte výchozí skupinu zabezpečení sítě pomocí příkazu az network nsg create.
# Create a network security group.
az network nsg create --name 'mySubnet-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Vytvořte virtuální síť pomocí příkazu az network vnet create.
az network vnet create --resource-group 'myResourceGroup' --name 'myVNet' --subnet-name 'mySubnet' --subnet-prefixes 10.0.0.0/24 --network-security-group 'mySubnet-nsg'
Vytvořte podsíť Služby Azure Bastion pomocí příkazu az network vnet subnet create.
az network vnet subnet create --resource-group 'myResourceGroup' --vnet-name 'myVNet' --name 'AzureBastionSubnet' --address-prefixes 10.0.1.0/26
Nasazení služby Azure Bastion
Azure Bastion používá váš prohlížeč k připojení k virtuálním počítačům ve vaší virtuální síti přes protokol SSH (Secure Shell) nebo protokol RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o službě Azure Bastion najdete v tématu Azure Bastion.
Poznámka:
Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.
Do vyhledávacího pole v horní části portálu zadejte Bastion. Ve výsledcích hledání vyberte bastions .
Vyberte + Vytvořit.
Na kartě ZákladyVytvoření bastionu zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Vyberte myResourceGroup. |
|
Podrobnosti o instanci |
|
| Název |
Zadejte myVNet-Bastion. |
| Oblast |
Vyberte USA – východ. |
| Vrstva |
Vyberte Vývojář. |
|
Konfigurace virtuálních sítí |
|
| Virtuální síť |
Vyberte myVNet. |
| Podsíť |
AzureBastionSubnet se vytvoří automaticky s adresními prostory /26 nebo většími. |
Vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Vytvořte veřejnou IP adresu pro Azure Bastion pomocí New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
$bastionIp = New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -Sku 'Standard' -AllocationMethod 'Static'
Vytvořte Bastion hostitele základní SKU pomocí příkazu New-AzBastion.
# Create an Azure Bastion host.
New-AzBastion -ResourceGroupName 'myResourceGroup' -Name 'myVNet-Bastion' -PublicIpAddressRgName 'myResourceGroup' -PublicIpAddressName 'myBastionIp' -VirtualNetworkRgName 'myResourceGroup' -VirtualNetworkName 'myVNet' -Sku 'Basic'
Vytvořte veřejnou IP adresu pro Azure Bastion pomocí příkazu az network public-ip create.
az network public-ip create --resource-group 'myResourceGroup' --name 'myBastionIp' --sku 'Standard' --location 'eastus'
Vytvořte základní SKU hostitele Bastion pomocí az network bastion create.
az network bastion create --name 'myVNet-Bastion' --resource-group 'myResourceGroup' --vnet-name 'myVNet' --public-ip-address 'myBastionIp' --sku 'Basic' --location 'eastus'
Důležité
Hodinová cena se začne počítat od okamžiku nasazení hostitele Bastion, bez ohledu na objem odchozích dat. Další informace najdete na stránce s cenami. Jakmile dokončíte jeho používání, doporučujeme tento zdroj odstranit.
Vytvoření virtuálního počítače
V této části vytvoříte virtuální počítač a skupinu zabezpečení sítě použitou pro její síťové rozhraní.
Do vyhledávacího pole v horní části portálu zadejte virtuální počítače. Ve výsledcích hledání vyberte virtuální počítače .
Vyberte + Vytvořit a pak vyberte virtuální počítač Azure.
V části Vytvořit virtuální počítač zadejte nebo vyberte na kartě Základy následující hodnoty:
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné Azure. |
| Skupina prostředků |
Vyberte myResourceGroup. |
|
Podrobnosti o instanci |
|
| Název virtuálního počítače |
Zadejte myVM. |
| Oblast |
Vyberte USA – východ. |
| Možnosti dostupnosti |
Vyberte Bez požadavku na redundanci infrastruktury. |
| Typ zabezpečení |
Vyberte položku Standardní. |
| Obrázek |
Vyberte Windows Server 2022 Datacenter: Azure Edition – x64 Gen2. |
| Velikost |
Zvolte velikost nebo ponechte výchozí nastavení. |
|
Účet správce |
|
| Uživatelské jméno |
Zadejte uživatelské jméno. |
| Heslo |
Zadejte heslo. |
| Potvrdit heslo |
Zadejte znovu heslo. |
Vyberte kartu Sítě nebo vyberte Další: Disky a další: Sítě.
Na kartě Sítě vyberte následující hodnoty:
| Nastavení |
Hodnota |
|
Síťové rozhraní |
|
| Virtuální síť |
Vyberte myVNet. |
| Podsíť |
Vyberte mySubnet. |
| Veřejná IP adresa |
Vyberte Žádná. |
| Skupina zabezpečení síťových adaptérů (NIC) |
Vyberte Basic. |
| Veřejné příchozí porty |
Vyberte Žádná. |
Vyberte Zkontrolovat a vytvořit.
Zkontrolujte nastavení a pak vyberte Vytvořit.
Vytvořte výchozí skupinu zabezpečení sítě pomocí rutiny New-AzNetworkSecurityGroup.
# Create a default network security group.
New-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup' -Location eastus
Vytvořte virtuální počítač pomocí rutiny New-AzVM. Po zobrazení výzvy zadejte uživatelské jméno a heslo.
# Create a virtual machine using the latest Windows Server 2022 image.
New-AzVm -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Location 'eastus' -VirtualNetworkName 'myVNet' -SubnetName 'mySubnet' -SecurityGroupName 'myVM-nsg' -ImageName 'MicrosoftWindowsServer:WindowsServer:2022-Datacenter-azure-edition:latest'
Vytvořte výchozí skupinu zabezpečení sítě pomocí příkazu az network nsg create.
# Create a default network security group.
az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Vytvořte virtuální počítač pomocí příkazu az vm create. Po zobrazení výzvy zadejte uživatelské jméno a heslo.
# 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'
Přidání pravidla zabezpečení do skupiny zabezpečení sítě
V této části přidáte pravidlo zabezpečení do skupiny zabezpečení sítě přidružené k síťovému rozhraní virtuálního počítače myVM. Pravidlo zakazuje veškerý příchozí provoz z virtuální sítě.
Do vyhledávacího pole v horní části portálu zadejte skupiny zabezpečení sítě. Ve výsledcích hledání vyberte skupiny zabezpečení sítě.
V seznamu skupin zabezpečení sítě vyberte myVM-nsg.
V části Nastavení vyberte Příchozí pravidla zabezpečení.
Vyberte + Přidat. Na kartě Sítě zadejte nebo vyberte následující hodnoty:
| Nastavení |
Hodnota |
| Zdroj |
Vyberte značku služby. |
| Značka zdrojové služby |
Vyberte VirtualNetwork. |
| Rozsahy zdrojových portů |
Zadejte *. |
| Cíl |
Vyberte libovolnou. |
| Služba |
Vyberte Vlastní. |
| Rozsahy cílových portů |
Zadejte *. |
| Protokol |
Vyberte libovolnou. |
| Akce |
Vyberte Odepřít. |
| Priorita |
Zadejte 1000. |
| Název |
Zadejte DenyVnetInBound. |
Vyberte Přidat.
Pomocí rutiny Add-AzNetworkSecurityRuleConfig vytvořte pravidlo zabezpečení, které zakazuje provoz z virtuální sítě. Potom pomocí set-AzNetworkSecurityGroup aktualizujte skupinu zabezpečení sítě pomocí nového pravidla zabezpečení.
# 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
Pomocí příkazu az network nsg rule create přidejte do skupiny zabezpečení sítě pravidlo zabezpečení, které zakazuje provoz z virtuální sítě.
# 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 '*'
Poznámka:
Značka služby VirtualNetwork představuje adresní prostor virtuální sítě, všechny připojené místní adresní prostory, partnerské virtuální sítě, virtuální sítě připojené k bráně virtuální sítě, virtuální IP adresu hostitele a předpony adres používané u tras definovaných uživatelem. Další informace najdete v tématu Značky služeb.
Kontrola pravidel zabezpečení použitých pro provoz virtuálního počítače
Pomocí diagnostiky NSG zkontrolujte pravidla zabezpečení použitá pro provoz pocházející z podsítě Bastionu do virtuálního počítače.
Do vyhledávacího pole v horní části portálu vyhledejte a vyberte Network Watcher.
V části Diagnostické nástroje sítě vyberte diagnostiku NSG.
Na stránce diagnostika NSG zadejte nebo vyberte následující hodnoty:
| Nastavení |
Hodnota |
|
Cílový prostředek |
|
| Typ cílového prostředku |
Vyberte Virtuální počítač. |
| Virtuální počítač |
Vyberte virtuální počítač myVM . |
|
Podrobnosti o provozu |
|
| Protokol |
Vyberte TCP. Další dostupné možnosti jsou: Všechny, UDP a ICMP. |
| Směr |
Vyberte Příchozí. Další dostupná možnost je: Odchozí. |
| Typ zdroje |
Vyberte adresu IPv4 nebo CIDR. Další dostupná možnost je: Service Tag. |
| Adresa IPv4 / CIDR |
Zadejte 10.0.1.0/26, což je rozsah IP adres podsítě Bastion. Přijatelné hodnoty jsou: jedna IP adresa, více IP adres, jedna předpona IP adresy, více předpon IP adres. |
| Cílová IP adresa |
Ponechte výchozí hodnotu 10.0.0.4, což je IP adresa virtuálního počítače myVM. |
| Cílový port |
Zadáním * zahrňte všechny porty. |
Výběrem možnosti Spustit diagnostiku NSG spusťte test. Jakmile diagnostika NSG dokončí kontrolu všech pravidel zabezpečení, zobrazí výsledek.
Výsledek ukazuje, že pro příchozí připojení z podsítě Bastion se posuzují tři pravidla zabezpečení:
-
GlobalRules: Toto pravidlo správce zabezpečení se používá na úrovni virtuální sítě pomocí služby Azure Virtual Network Manage. Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
mySubnet-nsg: Tato skupina zabezpečení sítě se použije na úrovni podsítě (podsíť virtuálního počítače). Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
myVM-nsg: Tato skupina zabezpečení sítě se používá na úrovni síťového rozhraní (NIC). Pravidlo zakazuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
Vyberte Zobrazit podrobnostimyVM-nsg, abyste zobrazili podrobnosti o pravidlech zabezpečení, která tato skupina zabezpečení sítě má a které pravidlo blokuje provoz.
Ve skupině zabezpečení sítě myVM-nsgpravidlo zabezpečení DenyVnetInBound odmítá veškerý provoz přicházející z adresního prostoru značky služby VirtualNetwork do virtuálního počítače. Hostitel Bastion používá IP adresy z rozsahu adres: 10.0.1.0/26, který je součástí značky služby VirtualNetwork , pro připojení k virtuálnímu počítači. Proto je připojení od Bastion hostitele zamítnuto bezpečnostním pravidlem DenyVnetInBound.
Ke spuštění diagnostické relace NSG použijte Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic.
# Create a profile for the diagnostic session.
$profile = New-AzNetworkWatcherNetworkConfigurationDiagnosticProfile -Direction Inbound -Protocol Tcp -Source 10.0.1.0/26 -Destination 10.0.0.4 -DestinationPort *
# Place the virtual machine configuration into a variable.
$vm = Get-AzVM -Name 'myVM' -ResourceGroupName 'myResourceGroup'
# Start the the NSG diagnostics session.
Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic -Location 'eastus' -TargetResourceId $vm.Id -Profile $profile | Format-List
Vrátí se podobný výstup jako v následujícím příkladu:
Results : {Microsoft.Azure.Commands.Network.Models.PSNetworkConfigurationDiagnosticResult}
ResultsText : [
{
"Profile": {
"Direction": "Inbound",
"Protocol": "Tcp",
"Source": "10.0.1.0/26",
"Destination": "10.0.0.4",
"DestinationPort": "*"
},
"NetworkSecurityGroupResult": {
"SecurityRuleAccessResult": "Deny",
"EvaluatedNetworkSecurityGroups": [
{
"NetworkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"MatchedRule": {
"RuleName": "VirtualNetwork",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "VirtualNetwork",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"MatchedRule": {
"RuleName": "DefaultRule_AllowVnetInBound",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "DefaultRule_AllowVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"MatchedRule": {
"RuleName": "UserRule_DenyVnetInBound",
"Action": "Deny"
},
"RulesEvaluationResult": [
{
"Name": "UserRule_DenyVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
}
]
}
}
]
Výsledek ukazuje, že pro příchozí připojení z podsítě Bastion se posuzují tři pravidla zabezpečení:
-
GlobalRules: Toto pravidlo správce zabezpečení se používá na úrovni virtuální sítě pomocí služby Azure Virtual Network Manage. Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
mySubnet-nsg: Tato skupina zabezpečení sítě se použije na úrovni podsítě (podsíť virtuálního počítače). Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
myVM-nsg: Tato skupina zabezpečení sítě se používá na úrovni síťového rozhraní (NIC). Pravidlo zakazuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
Ve skupině zabezpečení sítě myVM-nsgpravidlo zabezpečení DenyVnetInBound odmítá veškerý provoz přicházející z adresního prostoru značky služby VirtualNetwork do virtuálního počítače. Hostitel Bastion používá IP adresy od 10.0.1.0/26, které jsou součástí značky služby VirtualNetwork , pro připojení k virtuálnímu počítači. Proto je připojení od Bastion hostitele zamítnuto bezpečnostním pravidlem DenyVnetInBound.
Ke spuštění diagnostické relace NSG použijte az network watcher run-configuration-diagnostic .
# Start the the NSG diagnostics session.
az network watcher run-configuration-diagnostic --resource 'myVM' --resource-group 'myResourceGroup' --resource-type 'virtualMachines' --direction 'Inbound' --protocol 'TCP' --source '10.0.1.0/26' --destination '10.0.0.4' --port '*'
Vrátí se podobný výstup jako v následujícím příkladu:
{
"results": [
{
"networkSecurityGroupResult": {
"evaluatedNetworkSecurityGroups": [
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
"matchedRule": {
"action": "Allow",
"ruleName": "VirtualNetwork"
},
"networkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "VirtualNetwork",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
"matchedRule": {
"action": "Allow",
"ruleName": "DefaultRule_AllowVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "DefaultRule_AllowVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myvm36",
"matchedRule": {
"action": "Deny",
"ruleName": "UserRule_DenyVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "UserRule_DenyVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
}
],
"securityRuleAccessResult": "Deny"
},
"profile": {
"destination": "10.0.0.4",
"destinationPort": "*",
"direction": "Inbound",
"protocol": "TCP",
"source": "10.0.1.0/26"
}
}
]
}
Výsledek ukazuje, že pro příchozí připojení z podsítě Bastion se posuzují tři pravidla zabezpečení:
-
GlobalRules: Toto pravidlo správce zabezpečení se používá na úrovni virtuální sítě pomocí služby Azure Virtual Network Manage. Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
mySubnet-nsg: Tato skupina zabezpečení sítě se použije na úrovni podsítě (podsíť virtuálního počítače). Toto pravidlo umožňuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
-
myVM-nsg: Tato skupina zabezpečení sítě se používá na úrovni síťového rozhraní (NIC). Pravidlo zakazuje příchozí provoz TCP z podsítě Bastionu do virtuálního počítače.
Ve skupině zabezpečení sítě myVM-nsgpravidlo zabezpečení DenyVnetInBound odmítá veškerý provoz přicházející z adresního prostoru značky služby VirtualNetwork do virtuálního počítače. Hostitel Bastion používá IP adresy od 10.0.1.0/26, které jsou součástí značky služby VirtualNetwork , pro připojení k virtuálnímu počítači. Proto je připojení od Bastion hostitele zamítnuto bezpečnostním pravidlem DenyVnetInBound.
Přidání pravidla zabezpečení pro povolení provozu z podsítě Bastionu
Pokud se chcete připojit k virtuálnímu počítači myVM pomocí služby Azure Bastion, musí být provoz z podsítě Bastion povolený skupinou zabezpečení sítě. Pokud chcete povolit provoz z verze 10.0.1.0/26, přidejte pravidlo zabezpečení s vyšší prioritou (číslo nižší priority) než pravidlo DenyVnetInBound nebo upravte pravidlo DenyVnetInBound tak, aby umožňovalo provoz z podsítě Bastion.
Pravidlo zabezpečení můžete přidat do skupiny zabezpečení sítě ze stránky Network Watcher, která vám ukázala podrobnosti o pravidle zabezpečení, které zamítá provoz do virtuálního počítače.
Pokud chcete přidat pravidlo zabezpečení ze služby Network Watcher, vyberte + Přidat pravidlo zabezpečení a pak zadejte nebo vyberte následující hodnoty:
| Nastavení |
Hodnota |
| Zdroj |
Vyberte IP adresy. |
| Zdrojové IP adresy/rozsahy CIDR |
Zadejte 10.0.1.0/26, což je rozsah IP adres podsítě Bastion. |
| Rozsahy zdrojových portů |
Zadejte *. |
| Cíl |
Vyberte libovolnou. |
| Služba |
Vyberte Vlastní. |
| Rozsahy cílových portů |
Zadejte *. |
| Protokol |
Vyberte libovolnou. |
| Akce |
Vyberte Povolit. |
| Priorita |
Zadejte 900, což je vyšší priorita než 1000 pro pravidlo DenyVnetInBound . |
| Název |
Zadejte AllowBastionConnections. |
Vyberte Znovu zkontrolovat pro opětovné spuštění diagnostické relace. Diagnostická relace by teď měla ukázat, že je povolený provoz z podsítě Bastionu.
Pravidlo zabezpečení AllowBastionConnections umožňuje provoz z libovolné IP adresy ve verzi 10.0.1.0/26 do virtuálního počítače. Vzhledem k tomu, že hostitel Bastion používá IP adresy od 10.0.1.0/26, je jeho připojení k virtuálnímu počítači povoleno pravidlem zabezpečení AllowBastionConnections .
Pomocí rutiny Add-AzNetworkSecurityRuleConfig vytvořte pravidlo zabezpečení, které povoluje provoz z podsítě Bastionu. Potom pomocí set-AzNetworkSecurityGroup aktualizujte skupinu zabezpečení sítě pomocí nového pravidla zabezpečení.
# 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
Pomocí Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic znovu zkontrolujte pomocí nové diagnostické relace NSG.
# Create a profile for the diagnostic session.
$profile = New-AzNetworkWatcherNetworkConfigurationDiagnosticProfile -Direction 'Inbound' -Protocol 'Tcp' -Source '10.0.1.0/26' -Destination '10.0.0.4' -DestinationPort '*'
# Place the virtual machine configuration into a variable.
$vm = Get-AzVM -Name 'myVM' -ResourceGroupName 'myResourceGroup'
# Start the diagnostic session.
Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic -Location 'eastus' -TargetResourceId $vm.Id -Profile $profile | Format-List
Vrátí se podobný výstup jako v následujícím příkladu:
Results : {Microsoft.Azure.Commands.Network.Models.PSNetworkConfigurationDiagnosticResult}
ResultsText : [
{
"Profile": {
"Direction": "Inbound",
"Protocol": "Tcp",
"Source": "10.0.1.0/26",
"Destination": "10.0.0.4",
"DestinationPort": "*"
},
"NetworkSecurityGroupResult": {
"SecurityRuleAccessResult": "Allow",
"EvaluatedNetworkSecurityGroups": [
{
"NetworkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"MatchedRule": {
"RuleName": "VirtualNetwork",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "VirtualNetwork",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"MatchedRule": {
"RuleName": "DefaultRule_AllowVnetInBound",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "DefaultRule_AllowVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"MatchedRule": {
"RuleName": "UserRule_AllowBastionConnections",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "UserRule_AllowBastionConnections",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
}
]
}
}
]
Pravidlo zabezpečení AllowBastionConnections umožňuje provoz z libovolné IP adresy ve verzi 10.0.1.0/26 do virtuálního počítače. Vzhledem k tomu, že hostitel Bastion používá IP adresy od 10.0.1.0/26, je jeho připojení k virtuálnímu počítači povoleno pravidlem zabezpečení AllowBastionConnections .
Pomocí příkazu az network nsg rule create přidejte do skupiny zabezpečení sítě pravidlo zabezpečení, které povoluje provoz z podsítě 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 '*'
Pomocí az network watcher run-configuration-diagnostic zkontrolujte pomocí nové diagnostické relace NSG znovu.
# Start the the NSG diagnostics session.
az network watcher run-configuration-diagnostic --resource 'myVM' --resource-group 'myResourceGroup' --resource-type 'virtualMachines' --direction 'Inbound' --protocol 'TCP' --source '10.0.1.0/26' --destination '10.0.0.4' --port '*'
Vrátí se podobný výstup jako v následujícím příkladu:
{
"results": [
{
"networkSecurityGroupResult": {
"evaluatedNetworkSecurityGroups": [
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
"matchedRule": {
"action": "Allow",
"ruleName": "VirtualNetwork"
},
"networkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "VirtualNetwork",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
"matchedRule": {
"action": "Allow",
"ruleName": "DefaultRule_AllowVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "DefaultRule_AllowVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myvm36",
"matchedRule": {
"action": "Allow",
"ruleName": "UserRule_AllowBastionConnections"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "UserRule_AllowBastionConnections",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
}
],
"securityRuleAccessResult": "Allow"
},
"profile": {
"destination": "10.0.0.4",
"destinationPort": "*",
"direction": "Inbound",
"protocol": "TCP",
"source": "10.0.1.0/26"
}
}
]
}
Pravidlo zabezpečení AllowBastionConnections umožňuje provoz z libovolné IP adresy ve verzi 10.0.1.0/26 do virtuálního počítače. Vzhledem k tomu, že hostitel Bastion používá IP adresy od 10.0.1.0/26, je jeho připojení k virtuálnímu počítači povoleno pravidlem zabezpečení AllowBastionConnections .
Vyčištění prostředků
Pokud už je nepotřebujete, odstraňte skupinu prostředků a všechny prostředky, které obsahuje:
Do pole Hledat v horní části portálu zadejte myResourceGroup. Ve výsledcích hledání vyberte myResourceGroup .
Vyberte Odstranit skupinu prostředků.
V části 'Odstranit skupinu prostředků' zadejte myResourceGroup a pak vyberte Odstranit.
Výběrem možnosti Odstranit potvrďte odstranění skupiny prostředků a všech jejích prostředků.
Pomocí rutiny Remove-AzResourceGroup odstraňte skupinu prostředků a všechny prostředky, které obsahuje.
# Delete the resource group and all the resources it contains.
Remove-AzResourceGroup -Name 'myResourceGroup' -Force
Pomocí příkazu az group delete odeberte skupinu prostředků a všechny prostředky, které obsahuje.
# Delete the resource group and all the resources it contains.
az group delete --name 'myResourceGroup' --yes --no-wait
Související obsah
- Další informace o dalších nástrojích Network Watcher najdete v tématu Co je Azure Network Watcher?
- Informace o řešení potíží se směrováním virtuálních počítačů najdete v tématu Diagnostika potíží se směrováním sítě virtuálních počítačů.