Nasazení a konfigurace 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 můžete řídit odchozí síťový přístup z podsítě Azure, je použít Azure 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.

Kurz síťové infrastruktury

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
  • 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
$SecurePassword = ConvertTo-SecureString "<choose a password>" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("<choose a user name>", $SecurePassword);
$VirtualMachine = New-AzVMConfig -VMName Srv-Work -VMSize "Standard_DS2"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName Srv-Work -ProvisionVMAgent -EnableAutoUpdate -Credential $Credential
$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

Poznámka:

Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.

Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:

  • Virtuálnímu počítači se přiřadí veřejná IP adresa.
  • Virtuální počítač se umístí do back-endového fondu standardního nástroje pro vyrovnávání zatížení s odchozími pravidly nebo bez něj.
  • Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.

Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.

Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.

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

#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

Konfigurace pravidla aplikace

Pravidlo aplikace umožňuje odchozí přístup k www.google.com.

$AppRule1 = New-AzFirewallApplicationRule -Name Allow-Google -SourceAddress 10.0.2.0/24 `
  -Protocol http, https -TargetFqdn www.google.com

$AppRuleCollection = New-AzFirewallApplicationRuleCollection -Name App-Coll01 `
  -Priority 200 -ActionType Allow -Rule $AppRule1

$Azfw.ApplicationRuleCollections.Add($AppRuleCollection)

Set-AzFirewall -AzureFirewall $Azfw

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ě

Pravidlo sítě umožňuje odchozí přístup ke dvěma IP adresům na portu 53 (DNS).

$NetRule1 = New-AzFirewallNetworkRule -Name "Allow-DNS" -Protocol UDP -SourceAddress 10.0.2.0/24 `
   -DestinationAddress 209.244.0.3,209.244.0.4 -DestinationPort 53

$NetRuleCollection = New-AzFirewallNetworkRuleCollection -Name RCNet01 -Priority 200 `
   -Rule $NetRule1 -ActionType "Allow"

$Azfw.NetworkRuleCollections.Add($NetRuleCollection)

Set-AzFirewall -AzureFirewall $Azfw

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řipojení do Virtuální počítač Srv-Work s využitím Bastionu a přihlášení.

    Připojení 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 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 zachovat pro další kurz 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