Share via


Az Azure Firewall üzembe helyezése és konfigurálása az Azure PowerShell 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.
  • 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én a központi és küllős modell használata ajánlott, ahol 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.
  • AzureBastionSubnet – az Azure Bastionhoz használt alhálózat, amely a számítási feladat kiszolgálóhoz való csatlakozásra szolgál.

További információ az Azure Bastionról: Mi az Az Azure Bastion?

Fontos

Az óránkénti díjszabás a Bastion üzembe helyezésének pillanatától kezdődik, a kimenő adathasználattól függetlenül. További információ: Díjszabás és termékváltozatok. Ha a Bastiont egy oktatóanyag vagy teszt részeként helyezi üzembe, javasoljuk, hogy a használat befejezése után törölje ezt az erőforrást.

Az oktatóanyag hálózati infrastruktúrája

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 végezheti el ezt az eljárást.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Ehhez az eljáráshoz helyileg kell futtatnia a PowerShellt. Telepítve kell lennie az Azure PowerShell-modulnak. A verzió azonosításához futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. A PowerShell-verzió ellenőrzése után futtassa az Connect-AzAccount parancsot az Azure-hoz való kapcsolódáshoz.

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.

New-AzResourceGroup -Name Test-FW-RG -Location "East US"

Virtuális hálózat és Azure Bastion-gazdagép 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.

$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

Most hozza létre a virtuális hálózatot:

$testVnet = New-AzVirtualNetwork -Name Test-FW-VN -ResourceGroupName Test-FW-RG `
-Location "East US" -AddressPrefix 10.0.0.0/16 -Subnet $Bastionsub, $FWsub, $Worksub

Nyilvános IP-cím létrehozása az Azure Bastion-gazdagéphez

$publicip = New-AzPublicIpAddress -ResourceGroupName Test-FW-RG -Location "East US" `
   -Name Bastion-pip -AllocationMethod static -Sku standard

Azure Bastion-gazdagép létrehozása

New-AzBastion -ResourceGroupName Test-FW-RG -Name Bastion-01 -PublicIpAddress $publicip -VirtualNetwork $testVnet

Virtuális gép létrehozása

Most hozza létre a számítási feladat virtuális gépét, és helyezze el a megfelelő alhálózaton. Amikor a rendszer kéri, adjon meg egy felhasználónevet és jelszót a virtuális gép számára.

Számítási feladat virtuális gépének létrehozása. Amikor a rendszer kéri, adjon meg egy felhasználónevet és jelszót a virtuális gép számára.

#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

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.

# 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

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

Tábla létrehozása, a BGP-útvonal propagálásának letiltása

$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

Alkalmazásszabály konfigurálása

Az alkalmazásszabály engedélyezi a kimenő hozzáférést a 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

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

$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

Módosítsa az Srv-Work hálózati adapter elsődleges és másodlagos DNS-címét.

Ebben az eljárásban tesztelési célokra konfigurálja a kiszolgáló elsődleges és másodlagos DNS-címét. Ez nem általános Azure Firewall-követelmény.

$NIC01.DnsSettings.DnsServers.Add("209.244.0.3")
$NIC01.DnsSettings.DnsServers.Add("209.244.0.4")
$NIC01 | Set-AzNetworkInterface

A tűzfal tesztelése

Most tesztelje a tűzfalat, hogy ellenőrizze, hogy a várt módon működik-e.

  1. CsatlakozásSrv-Work virtuális gép a Bastion használatával, és jelentkezzen be.

    Csatlakozás Bastiont használom.

  2. A 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.

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

Remove-AzResourceGroup -Name Test-FW-RG

Következő lépések