Nasazení a konfigurace služby Azure Firewall pomocí Azure CLI
Ří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ě. Plně kvalifikovaný název domény může obsahovat také instance SQL.
- 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 . Brána firewall je 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.
- Jump-SN – v této podsíti bude „jump“ server. Jump server má veřejnou IP adresu, ke které se můžete připojit pomocí vzdálené plochy. Odtud se pak můžete připojit k serveru úloh (pomocí další vzdálené plochy).
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 nebo Azure PowerShellu.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento článek vyžaduje verzi 2.55.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
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í.
az group create --name Test-FW-RG --location eastus
Vytvoření virtuální sítě
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.
az network vnet create \
--name Test-FW-VN \
--resource-group Test-FW-RG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name AzureFirewallSubnet \
--subnet-prefix 10.0.1.0/26
az network vnet subnet create \
--name Workload-SN \
--resource-group Test-FW-RG \
--vnet-name Test-FW-VN \
--address-prefix 10.0.2.0/24
az network vnet subnet create \
--name Jump-SN \
--resource-group Test-FW-RG \
--vnet-name Test-FW-VN \
--address-prefix 10.0.3.0/24
Vytvoření virtuálních počítačů
Teď vytvoříte virtuální počítače pro jump server a server úloh a umístíte je do příslušných podsítí. Po zobrazení výzvy zadejte heslo pro virtuální počítač.
Vytvořte virtuální počítač Srv-Jump.
az vm create \
--resource-group Test-FW-RG \
--name Srv-Jump \
--location eastus \
--image win2016datacenter \
--vnet-name Test-FW-VN \
--subnet Jump-SN \
--admin-username azureadmin
az vm open-port --port 3389 --resource-group Test-FW-RG --name Srv-Jump
Vytvořte síťovou kartu pro Srv-Work s konkrétními IP adresami serveru DNS a bez veřejné IP adresy, se kterou chcete testovat.
az network nic create \
-g Test-FW-RG \
-n Srv-Work-NIC \
--vnet-name Test-FW-VN \
--subnet Workload-SN \
--public-ip-address "" \
--dns-servers 209.244.0.3 209.244.0.4
Teď vytvořte virtuální počítač úlohy. Po zobrazení výzvy zadejte heslo pro virtuální počítač.
az vm create \
--resource-group Test-FW-RG \
--name Srv-Work \
--location eastus \
--image win2016datacenter \
--nics Srv-Work-NIC \
--admin-username azureadmin
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ě.
az network firewall create \
--name Test-FW01 \
--resource-group Test-FW-RG \
--location eastus
az network public-ip create \
--name fw-pip \
--resource-group Test-FW-RG \
--location eastus \
--allocation-method static \
--sku standard
az network firewall ip-config create \
--firewall-name Test-FW01 \
--name FW-config \
--public-ip-address fw-pip \
--resource-group Test-FW-RG \
--vnet-name Test-FW-VN
az network firewall update \
--name Test-FW01 \
--resource-group Test-FW-RG
az network public-ip show \
--name fw-pip \
--resource-group Test-FW-RG
fwprivaddr="$(az network firewall ip-config list -g Test-FW-RG -f Test-FW01 --query "[?name=='FW-config'].privateIpAddress" --output tsv)"
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í směrovací tabulky se zakázaným šířením tras protokolu BGP
az network route-table create \
--name Firewall-rt-table \
--resource-group Test-FW-RG \
--location eastus \
--disable-bgp-route-propagation true
Vytvořte trasu.
az network route-table route create \
--resource-group Test-FW-RG \
--name DG-Route \
--route-table-name Firewall-rt-table \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address $fwprivaddr
Přidružení směrovací tabulky k podsíti
az network vnet subnet update \
-n Workload-SN \
-g Test-FW-RG \
--vnet-name Test-FW-VN \
--address-prefixes 10.0.2.0/24 \
--route-table Firewall-rt-table
Konfigurace pravidla aplikace
Pravidlo aplikace umožňuje odchozí přístup k www.google.com.
az network firewall application-rule create \
--collection-name App-Coll01 \
--firewall-name Test-FW01 \
--name Allow-Google \
--protocols Http=80 Https=443 \
--resource-group Test-FW-RG \
--target-fqdns www.google.com \
--source-addresses 10.0.2.0/24 \
--priority 200 \
--action Allow
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).
az network firewall network-rule create \
--collection-name Net-Coll01 \
--destination-addresses 209.244.0.3 209.244.0.4 \
--destination-ports 53 \
--firewall-name Test-FW01 \
--name Allow-DNS \
--protocols UDP \
--resource-group Test-FW-RG \
--priority 200 \
--source-addresses 10.0.2.0/24 \
--action Allow
Testovat bránu firewall
Teď otestujte bránu firewall a ověřte, že funguje podle očekávání.
Poznamenejte si privátní IP adresu virtuálního počítače Srv-Work :
az vm list-ip-addresses \ -g Test-FW-RG \ -n Srv-Work
Připojte vzdálenou plochu k virtuálnímu počítači Srv-Jump a přihlaste se. Odtud otevřete připojení ke vzdálené ploše k privátní IP adrese Srv-Work a přihlaste se.
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.
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é awww.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:
az group delete \
-n Test-FW-RG