Share via


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.

A hálózati infrastruktúra diagramja.

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

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

  1. 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
    
  2. távoli asztal CsatlakozásSrv-Jump virtuális gép, és jelentkezzen be. Innen nyisson meg egy távoli asztali kapcsolatot a Srv-Work privát IP-címével, és jelentkezzen be.

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

  4. 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 a www.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

Következő lépések