Sdílet prostřednictvím


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.

Jedním ze způsobů, jak řídit odchozí síťový přístup z podsítě Azure, je služba Azure Firewall a zásady brány firewall. Azure Firewall umožňuje 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ě.

Pro účely tohoto článku vytvoříte zjednodušenou jednu virtuální síť se třemi podsítěmi pro snadné nasazení. Pro produkční nasazení se doporučuje hvězdicový model , kde 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í síťovou infrastrukturu brány firewall

V tomto článku získáte informace o těchto tématech:

  • 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 ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

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. Potom vytvořte virtuální síť, podsítě a testovací servery.

Vytvoření skupiny zdrojů

Skupina prostředků obsahuje všechny prostředky pro nasazení.

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ě:

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.0.0/27
$FWsub = New-AzVirtualNetworkSubnetConfig -Name AzureFirewallSubnet -AddressPrefix 10.0.1.0/26
$Worksub = New-AzVirtualNetworkSubnetConfig -Name Workload-SN -AddressPrefix 10.0.2.0/24

Teď 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

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

Vytvoření hostitele Služby Azure Bastion

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

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

Teď vytvořte virtuální počítač úlohy a umístěte ho do příslušné podsítě. Po zobrazení výzvy zadejte pro virtuální počítač uživatelské jméno a heslo.

Vytvořte virtuální počítač úlohy. Po zobrazení výzvy zadejte pro virtuální počítač 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

$fwpol = New-AzFirewallPolicy -Name fw-pol -ResourceGroupName Test-FW-RG -Location eastus

Konfigurace pravidla aplikace zásad brány firewall

Pravidlo aplikace umožňuje odchozí přístup k 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 předdefinovanou kolekci pravidel pro infrastrukturu plně kvalifikovaných názvů domén, které jsou ve výchozím nastavení povolené. Tyto plně kvalifikované názvy domén jsou specifické pro tuto platformu a pro jiné účely je nelze použít. Další informace najdete v tématu Plně kvalifikované názvy domén infrastruktury.

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

Pravidlo sítě umožňuje 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

Teď nasaďte bránu 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. Budete ji potřebovat později při vytváření výchozí trasy.

Vytvořit výchozí trasu

Vytvoření tabulky se zakázaným šířením tras protokolu BGP

$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 u síťového rozhraní Srv-Work

Pro účely testování v tomto postupu nakonfigurujte primární a sekundární adresy DNS serveru. Nejedná se o obecný požadavek 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.

    Připojte se pomocí Bastionu.

  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 by měly vrátit 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.google.com
    
    Invoke-WebRequest -Uri https://www.microsoft.com
    Invoke-WebRequest -Uri https://www.microsoft.com
    

    Požadavky www.google.com by měly být úspěšné a www.microsoft.com požadavky by měly selhat. To ukazuje, že vaše pravidla brány firewall fungují podle očekávání.

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

  • Názvy DNS můžete přeložit 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čištění prostředků

Prostředky brány firewall můžete ponechat pro další testování nebo pokud už je nepotřebujete, odstraňte skupinu prostředků Test-FW-RG a odstraňte všechny prostředky související s bránou firewall:

Remove-AzResourceGroup -Name Test-FW-RG

Další kroky