Nasazení a konfigurace zásad služby Azure Firewall pomocí Azure PowerShellu

Řízení odchozího síťového přístupu je důležitou součástí celkového plánu zabezpečení sítě. Můžete například chtít omezit přístup k webům. Nebo můžete chtít omezit odchozí IP adresy a porty, ke kterým je možné přistupovat.

Odchozí síťový přístup z podsítě Azure můžete řídit pomocí služby Azure Firewall a zásad brány firewall. Pomocí služby Azure Firewall můžete nakonfigurovat:

  • Pravidla aplikace, která definují plně kvalifikované názvy domén, ke kterým je možné získat přístup z podsítě.
  • Pravidla sítě, která definují zdrojovou adresu, protokol, cílový port a cílovou adresu.

Síťový provoz podléhá nakonfigurovaným pravidlům brány firewall, když ho směrujete na bránu firewall jako na výchozí bránu podsítě.

V tomto článku vytvoříte zjednodušenou jednu virtuální síť se třemi podsítěmi pro snadné nasazení. Pro produkční nasazení použijte hvězdicový model, ve kterém je brána firewall ve vlastní virtuální síti. Servery úloh jsou v partnerských virtuálních sítích ve stejné oblasti s jednou nebo více podsítěmi.

  • AzureFirewallSubnet – v této podsíti bude brána firewall.
  • Workload-SN – v této podsíti bude server úloh. Provoz této podsítě bude procházet bránou firewall.
  • AzureBastionSubnet – podsíť používaná pro Azure Bastion, která se používá pro připojení k serveru úloh.

Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?

Důležité

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.

Diagram znázorňující infrastrukturu sítě firewall

V tomto článku se naučíte:

  • Nastavit testovací síťové prostředí
  • Nasadit bránu firewall
  • Vytvořit výchozí trasu
  • Vytvoření zásad brány firewall
  • Konfigurace pravidla aplikace pro povolení přístupu k www.google.com
  • Nakonfigurovat pravidlo sítě pro povolení přístupu k externím serverům DNS
  • Testovat bránu firewall

Pokud chcete, můžete tento postup provést pomocí webu Azure Portal.

Pokud nemáte předplatné Azure, vytvořte si bezplatný účet před zahájením.

Prerequisites

Tento postup vyžaduje místní spuštění PowerShellu. Musíte mít nainstalovaný modul Azure PowerShellu. Verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Po ověření verze PowerShellu spusťte příkaz Connect-AzAccount, abyste vytvořili připojení k Azure.

Nastavit síť

Nejprve vytvořte skupinu prostředků obsahující prostředky potřebné k nasazení brány firewall. Pak vytvořte virtuální síť, podsítě a testovací servery.

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků pro nasazení pomocí New-AzResourceGroup:

New-AzResourceGroup -Name Test-FW-RG -Location "East US"

Vytvoření virtuální sítě a hostitele služby Azure Bastion

Tato virtuální síť má tři podsítě. Pomocí rutiny New-AzVirtualNetworkSubnetConfig je definujte:

Poznámka

Velikost podsítě AzureFirewallSubnet je /26. Další informace o velikosti podsítě najdete v nejčastějších dotazech ke službě Azure Firewall.

$Bastionsub = New-AzVirtualNetworkSubnetConfig `
    -Name AzureBastionSubnet `
    -AddressPrefix 10.0.3.0/26
$FWsub = New-AzVirtualNetworkSubnetConfig `
    -Name AzureFirewallSubnet `
    -AddressPrefix 10.0.1.0/26
$Worksub = New-AzVirtualNetworkSubnetConfig `
    -Name Workload-SN `
    -AddressPrefix 10.0.2.0/24

Pomocí New-AzVirtualNetwork vytvořte virtuální síť:

$testVnet = New-AzVirtualNetwork `
    -Name Test-FW-VN `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -AddressPrefix 10.0.0.0/16 `
    -Subnet $Bastionsub, $FWsub, $Worksub

Vytvoření veřejné IP adresy pro hostitele služby Azure Bastion

Pomocí rutiny New-AzPublicIpAddress vytvořte statickou veřejnou IP adresu pro hostitele Bastion:

$publicip = New-AzPublicIpAddress `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -Name Bastion-pip `
    -AllocationMethod Static `
    -Sku Standard

Vytvoření hostitele Služby Azure Bastion

K vytvoření hostitele Bastion použijte New-AzBastion

New-AzBastion `
    -ResourceGroupName Test-FW-RG `
    -Name Bastion-01 `
    -PublicIpAddress $publicip `
    -VirtualNetwork $testVnet

Vytvoření virtuálního počítače

K vytvoření virtuálního počítače úlohy použijte New-AzVM . Po zobrazení výzvy zadejte uživatelské jméno a heslo:

# Create the NIC
$wsn = Get-AzVirtualNetworkSubnetConfig `
    -Name Workload-SN `
    -VirtualNetwork $testVnet
$NIC01 = New-AzNetworkInterface `
    -Name Srv-Work `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -Subnet $wsn

# Define the virtual machine
$VirtualMachine = New-AzVMConfig `
    -VMName Srv-Work `
    -VMSize "Standard_DS2"
$VirtualMachine = Set-AzVMOperatingSystem `
    -VM $VirtualMachine `
    -Windows `
    -ComputerName Srv-Work `
    -ProvisionVMAgent `
    -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface `
    -VM $VirtualMachine `
    -Id $NIC01.Id
$VirtualMachine = Set-AzVMSourceImage `
    -VM $VirtualMachine `
    -PublisherName 'MicrosoftWindowsServer' `
    -Offer 'WindowsServer' `
    -Skus '2019-Datacenter' `
    -Version latest

# Create the virtual machine
New-AzVM `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -VM $VirtualMachine `
    -Verbose

Vytvoření zásad brány firewall

Pomocí New-AzFirewallPolicy vytvořte zásadu brány firewall.

$fwpol = New-AzFirewallPolicy `
    -Name fw-pol `
    -ResourceGroupName Test-FW-RG `
    -Location "East US"

Nakonfigurujte pravidlo aplikace zásad brány firewall

Pomocí rutin New-AzFirewallPolicyApplicationRule a New-AzFirewallPolicyFilterRuleCollection vytvořte aplikační pravidlo pro udělení odchozího přístupu:www.google.com

$RCGroup = New-AzFirewallPolicyRuleCollectionGroup `
    -Name AppRCGroup `
    -Priority 100 `
    -FirewallPolicyObject $fwpol
$apprule1 = New-AzFirewallPolicyApplicationRule `
    -Name Allow-google `
    -SourceAddress "10.0.2.0/24" `
    -Protocol "http:80","https:443" `
    -TargetFqdn www.google.com
$appcoll1 = New-AzFirewallPolicyFilterRuleCollection `
    -Name App-coll01 `
    -Priority 100 `
    -Rule $apprule1 `
    -ActionType "Allow"
Set-AzFirewallPolicyRuleCollectionGroup `
    -Name $RCGroup.Name `
    -Priority 100 `
    -RuleCollection $appcoll1 `
    -FirewallPolicyObject $fwpol

Brána Azure Firewall obsahuje vestavěnou kolekci pravidel pro FQDN infrastruktur, které jsou ve výchozím nastavení povolené. Tyto plně kvalifikované názvy domén jsou specifické pro danou platformu a nelze je použít pro jiné účely. Další informace najdete v tématu Plně kvalifikované názvy domén infrastruktury.

Konfigurace pravidla zásad sítě brány firewall

Pomocí rutiny New-AzFirewallPolicyNetworkRule a New-AzFirewallPolicyFilterRuleCollection vytvořte pravidlo sítě, které uděluje odchozí přístup ke dvěma IP adresům na portu 53 (DNS):

$RCGroup = New-AzFirewallPolicyRuleCollectionGroup `
    -Name NetRCGroup `
    -Priority 200 `
    -FirewallPolicyObject $fwpol
$netrule1 = New-AzFirewallPolicyNetworkRule `
    -Name Allow-DNS `
    -Protocol UDP `
    -SourceAddress 10.0.2.0/24 `
    -DestinationAddress 209.244.0.3,209.244.0.4 `
    -DestinationPort 53
$netcoll1 = New-AzFirewallPolicyFilterRuleCollection `
    -Name Net-coll01 `
    -Priority 200 `
    -Rule $netrule1 `
    -ActionType "Allow"
Set-AzFirewallPolicyRuleCollectionGroup `
    -Name $RCGroup.Name `
    -Priority 200 `
    -RuleCollection $netcoll1 `
    -FirewallPolicyObject $fwpol

Nasazení brány firewall

Pomocí New-AzPublicIpAddress a New-AzFirewall nasaďte firewall do virtuální sítě.

# Get a Public IP for the firewall
$FWpip = New-AzPublicIpAddress `
    -Name "fw-pip" `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -AllocationMethod Static `
    -Sku Standard
# Create the firewall
$Azfw = New-AzFirewall `
    -Name Test-FW01 `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -VirtualNetwork $testVnet `
    -PublicIpAddress $FWpip `
    -FirewallPolicyId $fwpol.Id

# Save the firewall private IP address for future use

$AzfwPrivateIP = $Azfw.IpConfigurations.privateipaddress
$AzfwPrivateIP

Poznamenejte si privátní IP adresu. Použijete ho později při vytváření výchozí trasy.

Vytvořit výchozí trasu

Pomocí New-AzRouteTable a Add-AzRouteConfig vytvořte směrovací tabulku s výchozí trasou, která odkazuje na bránu firewall, a pak ji přidružte k podsíti úloh.

$routeTableDG = New-AzRouteTable `
    -Name Firewall-rt-table `
    -ResourceGroupName Test-FW-RG `
    -Location "East US" `
    -DisableBgpRoutePropagation

# Create a route
Add-AzRouteConfig `
    -Name "DG-Route" `
    -RouteTable $routeTableDG `
    -AddressPrefix 0.0.0.0/0 `
    -NextHopType "VirtualAppliance" `
    -NextHopIpAddress $AzfwPrivateIP `
    | Set-AzRouteTable

# Associate the route table to the subnet
Set-AzVirtualNetworkSubnetConfig `
    -VirtualNetwork $testVnet `
    -Name Workload-SN `
    -AddressPrefix 10.0.2.0/24 `
    -RouteTable $routeTableDG | Set-AzVirtualNetwork

Změna primární a sekundární adresy DNS pro síťové rozhraní Srv-Work

Pro účely testování v tomto postupu nakonfigurujte primární a sekundární adresy DNS serveru. Tato konfigurace není obecným požadavkem služby Azure Firewall.

$NIC01.DnsSettings.DnsServers.Add("209.244.0.3")
$NIC01.DnsSettings.DnsServers.Add("209.244.0.4")
$NIC01 | Set-AzNetworkInterface

Testovat bránu firewall

Teď otestujte bránu firewall a ověřte, že funguje podle očekávání.

  1. Připojte se k virtuálnímu počítači Srv-Work pomocí Bastionu a přihlaste se.

    Snímek obrazovky znázorňující připojení k Srv-Work virtuálnímu počítači pomocí služby Azure Bastion

  2. V aplikaci Srv-Work otevřete okno PowerShellu a spusťte následující příkazy:

    nslookup www.google.com
    nslookup www.microsoft.com
    

    Oba příkazy vrací odpovědi, které ukazují, že vaše dotazy DNS procházejí bránou firewall.

  3. Spusťte následující příkazy:

    Invoke-WebRequest -Uri https://www.google.com
    
    Invoke-WebRequest -Uri https://www.microsoft.com
    

    Požadavky www.google.com jsou úspěšné a požadavky www.microsoft.com selžou. Tento výsledek ukazuje, že pravidla brány firewall fungují podle očekávání.

Teď jste ověřili, že fungují pravidla zásad brány firewall:

  • DNS názvy můžete rozpoznat pomocí nakonfigurovaného externího serveru DNS.
  • Můžete přejít na jediný povolený plně kvalifikovaný název domény, ale jinam už ne.

Vyčistěte zdroje

Vaše prostředky brány firewall můžete uchovat pro další testování. Pokud je už nepotřebujete, smažte skupinu prostředků Test-FW-RG, čímž odstraníte všechny prostředky související s bránou firewall.

Remove-AzResourceGroup -Name Test-FW-RG

Další kroky