Az Azure Firewall üzembe helyezése és konfigurálása az Azure CLI használatával
A kimenő hálózati hozzáférés ellenőrzése az általános hálózati biztonsági terv fontos részét képezi. Előfordulhat például, hogy korlátozni szeretné a webhelyekhez való hozzáférést. Vagy korlátozhatja a kimenő IP-címeket és portokat, amelyek elérhetők.
Az Azure-alhálózatok kimenő hálózati hozzáférése többek között az Azure Firewall használatával vezérelhető. Az Azure Firewall segítségével a következőket konfigurálhatja:
- Alkalmazásszabályokat, amelyek egy alhálózatról elérhető teljes tartományneveket (FQDN) határoznak meg. A teljes tartománynév SQL-példányokat is tartalmazhat.
- Hálózatszabályokat, amelyek forráscímet, protokollt, valamint célportot és célcímet határoznak meg.
A hálózati forgalmat a konfigurált tűzfalszabályok irányítják, ha alapértelmezett alhálózati átjáróként irányítja a tűzfalhoz a forgalmat.
Ebben a cikkben egy egyszerűsített, három alhálózattal rendelkező virtuális hálózatot hoz létre az egyszerű üzembe helyezés érdekében. Éles üzemelő példányok esetében a küllős és a küllős modell használata ajánlott. A tűzfal a saját virtuális hálózatában található. A számítási feladatok kiszolgálói ugyanabban a régióban egy vagy több alhálózattal rendelkező társhálózatokban találhatók.
- AzureFirewallSubnet – ezen az alhálózaton található a tűzfal.
- Workload-SN – ezen az alhálózaton található a számítási feladat kiszolgálója. Ennek az alhálózatnak a hálózati forgalma a tűzfalon halad át.
- Jump-SN – ezen az alhálózaton található a helyettesítő kiszolgáló. A helyettesítő kiszolgáló egy nyilvános IP-címmel rendelkezik, amelyhez csatlakozni lehet a távoli asztal használatával. Innen pedig egy másik távoli asztallal lehet csatlakozni a számítási feladat kiszolgálójához.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Tesztelési hálózati környezet beállítása
- Tűzfal üzembe helyezése
- Alapértelmezett útvonal létrehozása
- Alkalmazásszabály konfigurálása a www.google.com való hozzáférés engedélyezéséhez
- Hálózatszabály konfigurálása külső DNS-kiszolgálókhoz való hozzáférés engedélyezéséhez
- A tűzfal tesztelése
Tetszés szerint az Azure Portalon vagy az Azure PowerShell-lel végezheti el ezt az eljárást.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.55.0-s vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
A hálózat beállítása
Először is hozzon létre egy erőforráscsoportot, amely a tűzfal üzembe helyezéséhez szükséges erőforrásokat tartalmazza. Ezután hozzon létre egy virtuális hálózatot, alhálózatokat és tesztkiszolgálókat.
Erőforráscsoport létrehozása
Az erőforráscsoport az üzembe helyezéshez szükséges összes erőforrást tartalmazza.
az group create --name Test-FW-RG --location eastus
Virtuális hálózat létrehozása
Ennek a virtuális hálózatnak három alhálózata van.
Feljegyzés
Az AzureFirewallSubnet alhálózat mérete /26. Az alhálózat méretével kapcsolatos további információkért tekintse meg az Azure Firewall gyakori kérdéseit.
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
Virtuális gépek létrehozása
Most hozza létre a helyettesítő és a számítási feladatokat futtató virtuális gépeket, és helyezze el őket a megfelelő alhálózatokon. Amikor a rendszer kéri, írja be a virtuális gép jelszavát.
Hozza létre az Srv-Jump virtuális gépet.
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
Hozzon létre egy hálózati adaptert az Srv-Work számára adott DNS-kiszolgáló IP-címekkel, és nincs nyilvános IP-cím, amellyel tesztelni lehet.
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
Most hozza létre a számítási feladat virtuális gépét. Amikor a rendszer kéri, írja be a virtuális gép jelszavát.
az vm create \
--resource-group Test-FW-RG \
--name Srv-Work \
--location eastus \
--image win2016datacenter \
--nics Srv-Work-NIC \
--admin-username azureadmin
Feljegyzés
Az Azure alapértelmezett kimenő hozzáférési IP-címet biztosít azokhoz a virtuális gépekhez, amelyek vagy nincsenek hozzárendelve nyilvános IP-címhez, vagy egy belső alapszintű Azure-terheléselosztó háttérkészletében találhatók. Az alapértelmezett kimenő hozzáférési IP-mechanizmus olyan kimenő IP-címet biztosít, amely nem konfigurálható.
Az alapértelmezett kimenő hozzáférési IP-cím le van tiltva az alábbi események egyike esetén:
- A virtuális géphez nyilvános IP-cím van hozzárendelve.
- A virtuális gép egy standard terheléselosztó háttérkészletébe kerül kimenő szabályokkal vagy anélkül.
- Egy Azure NAT Gateway-erőforrás van hozzárendelve a virtuális gép alhálózatához.
A virtuálisgép-méretezési csoportok rugalmas vezénylési módban történő használatával létrehozott virtuális gépek nem rendelkeznek alapértelmezett kimenő hozzáféréssel.
Az Azure-beli kimenő kapcsolatokról további információt az Alapértelmezett kimenő hozzáférés az Azure-ban és a Kimenő kapcsolatok forráshálózati címfordításának (SNAT) használata című témakörben talál.
A tűzfal üzembe helyezése
Most helyezze üzembe a tűzfalat a virtuális hálózaton.
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)"
Jegyezze fel a magánhálózati IP-címet. Később, az alapértelmezett útvonal létrehozásakor szükség lesz rá.
Alapértelmezett útvonal létrehozása
Útvonaltábla létrehozása, letiltva a BGP-útvonal propagálásával
az network route-table create \
--name Firewall-rt-table \
--resource-group Test-FW-RG \
--location eastus \
--disable-bgp-route-propagation true
Hozza létre az útvonalat.
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
Az útvonaltábla társítása az alhálózathoz
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
Alkalmazásszabály konfigurálása
Az alkalmazásszabály engedélyezi a kimenő hozzáférést a 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
Az Azure Firewall tartalmaz egy beépített szabálygyűjteményt az infrastruktúra alapértelmezés szerint engedélyezett teljes tartományneveiről. Ezek a teljes tartománynevek csak az adott platformra vonatkoznak, egyéb célra nem használhatók. További információ: Infrastruktúra FQDN-jei.
Hálózatszabály konfigurálása
A hálózati szabály lehetővé teszi a kimenő hozzáférést két IP-címhez az 53-es porton (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
A tűzfal tesztelése
Most tesztelje a tűzfalat, hogy ellenőrizze, hogy a várt módon működik-e.
Jegyezze fel a Srv-Work virtuális gép magánhálózati IP-címét:
az vm list-ip-addresses \ -g Test-FW-RG \ -n Srv-Work
Csatlakoztassa a távoli asztalt a Srv-Jump virtuális géphez, és jelentkezzen be. Innen nyisson meg egy távoli asztali kapcsolatot a Srv-Work privát IP-címével, és jelentkezzen be.
Az SRV-Work-on nyisson meg egy PowerShell-ablakot, és futtassa a következő parancsokat:
nslookup www.google.com nslookup www.microsoft.com
Mindkét parancsnak válaszokat kell visszaadnia, jelezve, hogy a DNS-lekérdezések átjutnak a tűzfalon.
Futtassa az alábbi parancsot:
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
A
www.google.com
kéréseknek sikeresnek kell lennie, és awww.microsoft.com
kéréseknek sikertelennek kell lennie. Ez azt mutatja, hogy a tűzfalszabályok a várt módon működnek.
Így most már ellenőrizte, hogy a tűzfalszabályok működnek-e:
- Fel tudja oldani a DNS-neveket a konfigurált külső DNS-kiszolgálóval.
- Az egyetlen engedélyezett FQDN-t el tudja érni, de másokat nem.
Az erőforrások eltávolítása
A következő oktatóanyagban megtarthatja a tűzfal erőforrásait, vagy ha már nincs rá szükség, törölje a Test-FW-RG erőforráscsoportot az összes tűzfalhoz kapcsolódó erőforrás törléséhez:
az group delete \
-n Test-FW-RG