Sdílet prostřednictvím


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.

Odchozí síťový přístup z podsítě Azure můžete řídit pomocí služby Azure 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 získáte informace o těchto tématech:

  • Nastavit testovací síťové prostředí
  • Nasadit bránu firewall
  • Vytvořit výchozí trasu
  • Nakonfigurujte pravidlo aplikace pro povolení přístupu www.google.com
  • Nakonfigurovat pravidlo sítě pro povolení přístupu k externím serverům DNS
  • Otestujte 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. 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.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

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
$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

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

# 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

Konfigurace pravidla aplikace

Pomocí cmdletu New-AzFirewallApplicationRule a cmdletu New-AzFirewallApplicationRuleCollection vytvořte pravidlo aplikace, které uděluje 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 FQDN infrastruktury, 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 sítě

Pomocí rutiny New-AzFirewallNetworkRule a New-AzFirewallNetworkRuleCollection vytvořte pravidlo sítě, které uděluje 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. 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

Otestujte 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 pravidla brány firewall fungují:

  • 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.

Uvolnění prostředků

Můžete ponechat prostředky brány firewall pro další naučnou lekci. 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