Azure PowerShell kullanarak karma ağda Azure Güvenlik Duvarı dağıtma ve yapılandırma

Karma ağ oluşturmak için şirket içi ağınızı bir Azure sanal ağına bağladığınızda, Azure ağ kaynaklarınıza erişimi denetleme yeteneği genel bir güvenlik planının önemli bir parçasıdır.

İzin verilen ve reddedilen ağ trafiğini tanımlayan kuralları kullanarak karma ağdaki ağ erişimini denetlemek için Azure Güvenlik Duvarı kullanabilirsiniz.

Bu makale için üç sanal ağ oluşturursunuz:

  • VNet-Hub: Güvenlik duvarı bu sanal ağdadır.
  • VNet-Spoke: Uç sanal ağı, Azure'da bulunan iş yükünü temsil eder.
  • VNet-Onprem: Şirket içi sanal ağ, şirket içi ağı temsil eder. Gerçek bir dağıtımda, sanal özel ağ (VPN) bağlantısı veya Azure ExpressRoute bağlantısı kullanarak buna bağlanabilirsiniz. Kolaylık olması için bu makalede VPN ağ geçidi bağlantısı kullanılır ve Azure'da bulunan bir sanal ağ şirket içi ağı temsil eder.

Karma ağdaki güvenlik duvarını gösteren diyagram.

Bu makaledeki yordamları tamamlamak için bunun yerine Azure portalını kullanmak istiyorsanız bkz. Azure portalını kullanarak karma ağda Azure Güvenlik Duvarı dağıtma ve yapılandırma.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

Bu makale, PowerShell'i yerel olarak çalıştırmanızı gerektirir. Azure PowerShell modülünün yüklü olması gerekir. Sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse bkz. Azure PowerShell modülünü yükleme. PowerShell sürümünü doğruladıktan sonra, Azure ile bağlantı oluşturmak için Connect-AzAccount komutunu çalıştırın.

Üç temel gereksinim, bu senaryonın doğru şekilde çalıştığından emin olun:

  • Konuşlandırma alt ağındaki kullanıcı tanımlı bir yol (UDR), varsayılan ağ geçidi olarak Azure Güvenlik Duvarı IP adresine yönlendirir. Bu yol tablosunda sanal ağ geçidi yol yayma özelliğini devre dışı bırakmanız gerekir.

  • Hub ağ geçidi alt ağındaki bir UDR, spoke ağlarına sonraki atlama olarak güvenlik duvarı IP adresini gösterir.

  • Sınır Ağ Geçidi Protokolü'nden (BGP) yolları öğrendiğinden, Azure Güvenlik Duvarı alt ağından UDR gerekmez.

  • AllowGatewayTransit ile eşlerken ayarlayın. VNet-Spoke ile VNet-Hub'ı UseRemoteGatewayseşlerken ayarlayın.

Bu makalenin devamında yer alan Yolları oluşturma bölümünde bu yolların nasıl oluşturulacağı gösterilmektedir.

Not

Azure Güvenlik Duvarı internete bağlı olmalıdır. AzureFirewallSubnet alt ağı BGP aracılığıyla yerel ağınıza yönelik varsayılan bir rota öğrenirse, Azure Güvenlik Duvarı'nı zorlamalı tünelleme modunda yapılandırmanız gerekir. Bu yeniden yapılandırma yapılamayacak zorlamalı tünel modundaki mevcut bir Azure Güvenlik Duvarı örneğiyse, doğrudan internet bağlantısını sürdürmek için NextHopType değeri Internet olarak ayarlanmış bir 0.0.0.0/0 UDR'yi AzureFirewallSubnet alt ağına ekleyin.

Daha fazla bilgi için bkz. Azure Güvenlik Duvarı zorunlu tünelleme.

Bir UDR varsayılan ağ geçidi olarak Azure Güvenlik Duvarı işaret etse bile doğrudan eşlenen sanal ağlar arasındaki trafik doğrudan yönlendirilir. Bu senaryoda güvenlik duvarına alt ağdan alt ağa trafik göndermek için UDR'nin hedef alt ağ ön ekini her iki alt ağda da açıkça içermesi gerekir.

Bu makale boyunca güvenlik duvarını dağıtmak ve yapılandırmak için birincil cmdlet olarak New-AzFirewall kullanın.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Değişkenleri tanımlama

Aşağıdaki örnek, bu makalenin değerlerini kullanarak değişkenleri bildirir. Bazı durumlarda, aboneliğinizde çalışmak için bazı değerleri kendi değerlerinizle değiştirmeniz gerekebilir. Gerekirse değişkenleri değiştirin ve kopyalayıp PowerShell konsolunuza yapıştırın.

$RG1 = "FW-Hybrid-Test"
$Location1 = "East US"

# Variables for the firewall hub virtual network

$VNetnameHub = "VNet-Hub"
$SNnameHub = "AzureFirewallSubnet"
$VNetHubPrefix = "10.5.0.0/16"
$SNHubPrefix = "10.5.0.0/24"
$SNGWHubPrefix = "10.5.1.0/24"
$GWHubName = "GW-hub"
$GWHubpipName = "VNet-Hub-GW-pip"
$GWIPconfNameHub = "GW-ipconf-hub"
$ConnectionNameHub = "hub-to-Onprem"

# Variables for the spoke virtual network

$VnetNameSpoke = "VNet-Spoke"
$SNnameSpoke = "SN-Workload"
$VNetSpokePrefix = "10.6.0.0/16"
$SNSpokePrefix = "10.6.0.0/24"
$SNSpokeGWPrefix = "10.6.1.0/24"

# Variables for the on-premises virtual network

$VNetnameOnprem = "Vnet-Onprem"
$SNNameOnprem = "SN-Corp"
$VNetOnpremPrefix = "192.168.0.0/16"
$SNOnpremPrefix = "192.168.1.0/24"
$SNGWOnpremPrefix = "192.168.2.0/24"
$GWOnpremName = "GW-Onprem"
$GWIPconfNameOnprem = "GW-ipconf-Onprem"
$ConnectionNameOnprem = "Onprem-to-hub"
$GWOnprempipName = "VNet-Onprem-GW-pip"

$SNnameGW = "GatewaySubnet"

Sanal ağları oluşturma

Merkez sanal ağını oluşturma

Bu makalenin kaynak grubunu oluşturmak için New-AzResourceGroup kullanın:

New-AzResourceGroup `
    -Name $RG1 `
    -Location $Location1

Alt ağları tanımlamak ve merkez sanal ağını oluşturmak için New-AzVirtualNetworkSubnetConfig ve New-AzVirtualNetwork kullanın:

$FWsub = New-AzVirtualNetworkSubnetConfig `
    -Name $SNnameHub `
    -AddressPrefix $SNHubPrefix

$GWsub = New-AzVirtualNetworkSubnetConfig `
    -Name $SNnameGW `
    -AddressPrefix $SNGWHubPrefix

$VNetHub = New-AzVirtualNetwork `
    -Name $VNetnameHub `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AddressPrefix $VNetHubPrefix `
    -Subnet $FWsub,$GWsub

VPN ağ geçidi için genel IP adresi istemek için New-AzPublicIpAddress komutunu kullanın. AllocationMethod Değerini olarak Dynamicayarlayın; bu, Azure'ın adresi dinamik olarak ayırdığı anlamına gelir.

$gwpip1 = New-AzPublicIpAddress `
    -Name $GWHubpipName `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AllocationMethod Dynamic

Uç sanal ağını oluşturma

Alt ağları tanımlamak ve uç sanal ağını oluşturmak için New-AzVirtualNetworkSubnetConfig ve New-AzVirtualNetwork kullanın:

$Spokesub = New-AzVirtualNetworkSubnetConfig `
    -Name $SNnameSpoke `
    -AddressPrefix $SNSpokePrefix
$GWsubSpoke = New-AzVirtualNetworkSubnetConfig `
    -Name $SNnameGW `
    -AddressPrefix $SNSpokeGWPrefix
$VNetSpoke = New-AzVirtualNetwork `
    -Name $VnetNameSpoke `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AddressPrefix $VNetSpokePrefix `
    -Subnet $Spokesub,$GWsubSpoke

Şirket içi sanal ağı oluşturma

Alt ağları tanımlamak ve şirket içi sanal ağı oluşturmak için New-AzVirtualNetworkSubnetConfig ve New-AzVirtualNetwork kullanın:

$Onpremsub = New-AzVirtualNetworkSubnetConfig `
    -Name $SNNameOnprem `
    -AddressPrefix $SNOnpremPrefix
$GWOnpremsub = New-AzVirtualNetworkSubnetConfig `
    -Name $SNnameGW `
    -AddressPrefix $SNGWOnpremPrefix
$VNetOnprem = New-AzVirtualNetwork `
    -Name $VNetnameOnprem `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AddressPrefix $VNetOnpremPrefix `
    -Subnet $Onpremsub,$GWOnpremsub

Şirket içi sanal ağ geçidi için genel IP adresi istemek için New-AzPublicIpAddress komutunu kullanın:

$gwOnprempip = New-AzPublicIpAddress `
    -Name $GWOnprempipName `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AllocationMethod Dynamic

Güvenlik duvarını yapılandırma ve dağıtma

Güvenlik duvarını merkez sanal ağına dağıtmak için New-AzPublicIpAddress ve New-AzFirewall kullanın:

# Get a public IP for the firewall
$FWpip = New-AzPublicIpAddress `
    -Name "fw-pip" `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -AllocationMethod Static `
    -Sku Standard
# Create the firewall
$Azfw = New-AzFirewall `
    -Name AzFW01 `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -VirtualNetworkName $VNetnameHub `
    -PublicIpName fw-pip

# Save the firewall private IP address for future use
$AzfwPrivateIP = $Azfw.IpConfigurations.privateipaddress
$AzfwPrivateIP

Ağ kurallarını yapılandırmak için New-AzFirewallNetworkRule ve New-AzFirewallNetworkRuleCollection kullanın. Ardından Set-AzFirewall kullanarak bunları uygulayın:

$Rule1 = New-AzFirewallNetworkRule `
    -Name "AllowWeb" `
    -Protocol TCP `
    -SourceAddress $SNOnpremPrefix `
    -DestinationAddress $VNetSpokePrefix `
    -DestinationPort 80

$Rule2 = New-AzFirewallNetworkRule `
    -Name "AllowRDP" `
    -Protocol TCP `
    -SourceAddress $SNOnpremPrefix `
    -DestinationAddress $VNetSpokePrefix `
    -DestinationPort 3389

$Rule3 = New-AzFirewallNetworkRule `
    -Name "AllowPing" `
    -Protocol ICMP `
    -SourceAddress $SNOnpremPrefix `
    -DestinationAddress $VNetSpokePrefix `
    -DestinationPort *

$NetRuleCollection = New-AzFirewallNetworkRuleCollection `
    -Name RCNet01 `
    -Priority 100 `
    -Rule $Rule1,$Rule2,$Rule3 `
    -ActionType "Allow"
$Azfw.NetworkRuleCollections = $NetRuleCollection
Set-AzFirewall -AzureFirewall $Azfw

VPN ağ geçitlerini oluşturma ve bağlama

VPN ağ geçitleri aracılığıyla hub'ı ve şirket içi sanal ağları bağlarsınız.

Merkez sanal ağı için VPN ağ geçidi oluşturma

Merkez sanal ağı için VPN ağ geçidi yapılandırmasını oluşturmak için New-AzVirtualNetworkGatewayIpConfig kullanın. Yapılandırma, kullanılacak alt ağı ve genel IP adresini tanımlar.

$vnet1 = Get-AzVirtualNetwork `
    -Name $VNetnameHub `
    -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig `
    -Name "GatewaySubnet" `
    -VirtualNetwork $vnet1
$gwipconf1 = New-AzVirtualNetworkGatewayIpConfig `
    -Name $GWIPconfNameHub `
    -Subnet $subnet1 `
    -PublicIpAddress $gwpip1

Merkez sanal ağı için VPN ağ geçidi oluşturmak için New-AzVirtualNetworkGateway komutunu kullanın. Ağdan ağa yapılandırmalar için RouteBased değeri VpnType gereklidir. Vpn ağ geçidi oluşturmak, seçtiğiniz SKU'ya bağlı olarak genellikle 45 dakika veya daha uzun sürebilir.

New-AzVirtualNetworkGateway `
    -Name $GWHubName `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -IpConfigurations $gwipconf1 `
    -GatewayType Vpn `
    -VpnType RouteBased `
    -GatewaySku basic

Şirket içi sanal ağ için VPN ağ geçidi oluşturma

Şirket içi sanal ağ için VPN ağ geçidi yapılandırmasını oluşturmak için New-AzVirtualNetworkGatewayIpConfig komutunu kullanın. Yapılandırma, kullanılacak alt ağı ve genel IP adresini tanımlar.

$vnet2 = Get-AzVirtualNetwork `
    -Name $VNetnameOnprem `
    -ResourceGroupName $RG1
$subnet2 = Get-AzVirtualNetworkSubnetConfig `
    -Name "GatewaySubnet" `
    -VirtualNetwork $vnet2
$gwipconf2 = New-AzVirtualNetworkGatewayIpConfig `
    -Name $GWIPconfNameOnprem `
    -Subnet $subnet2 `
    -PublicIpAddress $gwOnprempip

Şirket içi sanal ağın VPN ağ geçidini oluşturmak için New-AzVirtualNetworkGateway komutunu kullanın:

New-AzVirtualNetworkGateway `
    -Name $GWOnpremName `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -IpConfigurations $gwipconf2 `
    -GatewayType Vpn `
    -VpnType RouteBased `
    -GatewaySku basic

VPN bağlantılarını oluşturma

Merkez ile şirket içi ağ geçitleri arasında VPN bağlantıları oluşturun.

Bağlantıları oluşturma

Ağ geçidi nesnelerini almak için Get-AzVirtualNetworkGateway komutunu kullanın, ardından bağlantıları oluşturmak için New-AzVirtualNetworkGatewayConnection komutunu kullanın. Örneklerde paylaşılan anahtar gösterilir, ancak kendi değerlerinizi kullanabilirsiniz. Önemli olan, paylaşılan anahtarın her iki bağlantı için de eşleşmesidir. Bir bağlantı oluşturmak çok zaman almaz.

$vnetHubgw = Get-AzVirtualNetworkGateway `
    -Name $GWHubName `
    -ResourceGroupName $RG1
$vnetOnpremgw = Get-AzVirtualNetworkGateway `
    -Name $GWOnpremName `
    -ResourceGroupName $RG1
New-AzVirtualNetworkGatewayConnection `
    -Name $ConnectionNameHub `
    -ResourceGroupName $RG1 `
    -VirtualNetworkGateway1 $vnetHubgw `
    -VirtualNetworkGateway2 $vnetOnpremgw `
    -Location $Location1 `
    -ConnectionType Vnet2Vnet `
    -SharedKey 'AzureA1b2C3'

Şirket içinden hub'a sanal ağ bağlantısı oluşturun. Bu adım, VNet-Onprem'den VNet-Hub'a bağlantı oluşturmanız dışında önceki adıma benzer. Paylaşılan anahtarların eşleştiğinden emin olun. Bağlantı birkaç dakika sonra kurulur.

New-AzVirtualNetworkGatewayConnection `
    -Name $ConnectionNameOnprem `
    -ResourceGroupName $RG1 `
    -VirtualNetworkGateway1 $vnetOnpremgw `
    -VirtualNetworkGateway2 $vnetHubgw `
    -Location $Location1 `
    -ConnectionType Vnet2Vnet `
    -SharedKey 'AzureA1b2C3'

Bağlantıyı doğrulama

Get-AzVirtualNetworkGatewayConnection cmdlet'ini, -Debug ile veya olmadan kullanarak başarılı bir bağlantıyı doğrulayabilirsiniz.

Aşağıdaki cmdlet örneğini kullanın, ancak değerleri kendi değerlerinizle eşleşecek şekilde yapılandırın. İstenirse A'yi çalıştırmak için All öğesini seçin. Örnekte, -Name test etmek istediğiniz bağlantının adına başvurur.

Get-AzVirtualNetworkGatewayConnection `
    -Name $ConnectionNameHub `
    -ResourceGroupName $RG1

Cmdlet tamamlandıktan sonra değerleri görüntüleyin. Aşağıdaki örnek, Connected bağlantı durumu ile birlikte giriş ve çıkış baytlarını göstermektedir.

"connectionStatus": "Connected",
"ingressBytesTransferred": 33509044,
"egressBytesTransferred": 4142431

Merkez ve uç ağ yapısındaki sanal ağları eşleştirme

Merkez ve uç sanal ağlarını eşlemek için Add-AzVirtualNetworkPeering komutunu kullanın:

# Peer hub to spoke
Add-AzVirtualNetworkPeering `
    -Name HubtoSpoke `
    -VirtualNetwork $VNetHub `
    -RemoteVirtualNetworkId $VNetSpoke.Id `
    -AllowGatewayTransit

# Peer spoke to hub
Add-AzVirtualNetworkPeering `
    -Name SpoketoHub `
    -VirtualNetwork $VNetSpoke `
    -RemoteVirtualNetworkId $VNetHub.Id `
    -AllowForwardedTraffic `
    -UseRemoteGateways

Yolları oluşturma

Bu yolları oluşturmak için aşağıdaki komutları kullanın:

  • Güvenlik duvarı IP adresi üzerinden hub ağ geçidi alt ağından uç alt ağına giden bir yol
  • Konuşlandırma alt ağı üzerinden güvenlik duvarı IP adresine yönelik varsayılan bir rota

Merkez ağ geçidi alt ağı için yol tablosunu ve yolunu oluşturmak için New-AzRouteTable ve Add-AzRouteConfig kullanın. Ardından, alt ağ ile ilişkilendirilmesi için Set-AzVirtualNetworkSubnetConfig ve Set-AzVirtualNetwork kullanın.

$routeTableHubSpoke = New-AzRouteTable `
    -Name 'UDR-Hub-Spoke' `
    -ResourceGroupName $RG1 `
    -Location $Location1

Get-AzRouteTable `
    -ResourceGroupName $RG1 `
    -Name UDR-Hub-Spoke `
    | Add-AzRouteConfig `
    -Name "ToSpoke" `
    -AddressPrefix $VNetSpokePrefix `
    -NextHopType "VirtualAppliance" `
    -NextHopIpAddress $AzfwPrivateIP `
    | Set-AzRouteTable

Set-AzVirtualNetworkSubnetConfig `
    -VirtualNetwork $VNetHub `
    -Name $SNnameGW `
    -AddressPrefix $SNGWHubPrefix `
    -RouteTable $routeTableHubSpoke `
    | Set-AzVirtualNetwork

Varsayılan konuşma alt ağı yol tablosunu oluşturmak için New-AzRouteTable ve Add-AzRouteConfig kullanın. -DisableBgpRoutePropagation parametresi, bu yol tablosunda sanal ağ geçidi rotası yayılımını devre dışı bırakır. Ardından Set-AzVirtualNetworkSubnetConfig ve Set-AzVirtualNetwork komutlarını kullanarak, alt ağı ile ilişkilendirin.

$routeTableSpokeDG = New-AzRouteTable `
    -Name 'UDR-DG' `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -DisableBgpRoutePropagation

Get-AzRouteTable `
    -ResourceGroupName $RG1 `
    -Name UDR-DG `
    | Add-AzRouteConfig `
    -Name "ToFirewall" `
    -AddressPrefix 0.0.0.0/0 `
    -NextHopType "VirtualAppliance" `
    -NextHopIpAddress $AzfwPrivateIP `
    | Set-AzRouteTable

Set-AzVirtualNetworkSubnetConfig `
    -VirtualNetwork $VNetSpoke `
    -Name $SNnameSpoke `
    -AddressPrefix $SNSpokePrefix `
    -RouteTable $routeTableSpokeDG `
    | Set-AzVirtualNetwork

Sanal makineleri oluşturma

İlgili iş yükünü ve şirket içi sanal makineleri oluşturun ve uygun alt ağlara yerleştirin.

İş yükü sanal makinesi oluşturma

Internet Information Services (IIS) çalıştıran, genel IP adresi olmayan ve ping'lere izin veren uç sanal ağında bir sanal makine oluşturun. İstendiğinde sanal makine için bir kullanıcı adı ve parola girin.

Gelen kuralları ve güvenlik grubunu oluşturmak için New-AzNetworkSecurityRuleConfig ve New-AzNetworkSecurityGroup kullanın:

# Create inbound network security group rules for ports 3389 and 80
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
    -Name Allow-RDP `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 200 `
    -SourceAddressPrefix * `
    -SourcePortRange * `
    -DestinationAddressPrefix $SNSpokePrefix `
    -DestinationPortRange 3389 `
    -Access Allow
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig `
    -Name Allow-web `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 202 `
    -SourceAddressPrefix * `
    -SourcePortRange * `
    -DestinationAddressPrefix $SNSpokePrefix `
    -DestinationPortRange 80 `
    -Access Allow

# Create the network security group
$nsg = New-AzNetworkSecurityGroup `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -Name NSG-Spoke02 `
    -SecurityRules $nsgRuleRDP,$nsgRuleWeb

New-AzNetworkInterface kullanarak NIC'yi oluşturun ve güvenlik grubuna ekleyin:

$NIC = New-AzNetworkInterface `
    -Name spoke-01 `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -SubnetId $VnetSpoke.Subnets[0].Id `
    -NetworkSecurityGroupId $nsg.Id

New-AzVMConfig, Set-AzVMOperatingSystem ve Add-AzVMNetworkInterface kullanarak sanal makine yapılandırmasını tanımlayın ve ardından New-AzVM kullanarak sanal makineyi oluşturun:

$VirtualMachine = New-AzVMConfig `
    -VMName VM-Spoke-01 `
    -VMSize "Standard_DS2"
$VirtualMachine = Set-AzVMOperatingSystem `
    -VM $VirtualMachine `
    -Windows `
    -ComputerName Spoke-01 `
    -ProvisionVMAgent `
    -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface `
    -VM $VirtualMachine `
    -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage `
    -VM $VirtualMachine `
    -PublisherName 'MicrosoftWindowsServer' `
    -Offer 'WindowsServer' `
    -Skus '2016-Datacenter' `
    -Version latest

New-AzVM `
    -ResourceGroupName $RG1 `
    -Location $Location1 `
    -VM $VirtualMachine `
    -Verbose

SET-AzVMExtension kullanarak IIS'yi yükleyin ve ping'lere izin verecek bir Windows Güvenlik Duvarı kuralı oluşturun:

# Install IIS
Set-AzVMExtension `
    -ResourceGroupName $RG1 `
    -ExtensionName IIS `
    -VMName VM-Spoke-01 `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server"}' `
    -Location $Location1

# Create a Windows Firewall rule to allow pings
Set-AzVMExtension `
    -ResourceGroupName $RG1 `
    -ExtensionName AllowPing `
    -VMName VM-Spoke-01 `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell New-NetFirewallRule -DisplayName \"Allow ICMPv4-In\" -Protocol ICMPv4"}' `
    -Location $Location1

Şirket içi sanal makineyi oluşturma

New-AzVm kullanarak genel IP adresine uzaktan erişim aracılığıyla bağlanabileceğiniz basit bir sanal makine oluşturun. Buradan, güvenlik duvarı üzerinden şirket içi sunucuya bağlanabilirsiniz. İstendiğinde, sanal makine için bir kullanıcı adı ve parola girin.

New-AzVm `
    -ResourceGroupName $RG1 `
    -Name "VM-Onprem" `
    -Location $Location1 `
    -VirtualNetworkName $VNetnameOnprem `
    -SubnetName $SNNameOnprem `
    -OpenPorts 3389 `
    -Size "Standard_DS2"

Not

Azure, herhangi bir genel IP adresi atanmamış veya dahili temel bir Azure yük dengeleyicisinin arka uç havuzunda bulunan VM'ler için varsayılan bir giden erişim IP'si sağlar. Varsayılan giden erişim IP mekanizması, yapılandırılamayan bir giden IP adresi sağlar.

Aşağıdaki olaylardan biri gerçekleştiğinde varsayılan giden erişim IP'si devre dışı bırakılır:

  • VM'ye bir genel IP adresi atanır.
  • VM, giden kuralları olan veya olmayan standart bir yük dengeleyicinin arka uç havuzuna yerleştirilir.
  • VM'nin alt ağına bir Azure NAT Gateway kaynağı atanır.

Sanal makine ölçek kümelerini esnek düzenleme modunda kullanarak oluşturduğunuz VM'lerin varsayılan giden erişimi yoktur.

Azure'daki giden bağlantılar hakkında daha fazla bilgi için bkz . Azure'da varsayılan giden erişim ve giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma.

Güvenlik duvarını test etme

  1. VM-spoke-01 sanal makinesinin özel IP adresini alın ve not alın:

    $NIC.IpConfigurations.privateipaddress
    
  2. Azure portalından, VM-Onprem sanal makinesine bağlanın.

  3. VM-Onprem sanal makinesinde Windows PowerShell komut istemini açın ve VM-spoke-01 için özel IP'ye ping yapın. Bir yanıt alırsınız.

  4. VM-Onprem üzerinde bir web tarayıcısı açın ve adresine http://<VM-spoke-01 private IP>gidin. IIS varsayılan sayfası açılmalıdır.

  5. VM-Onprem'den, özel IP adresinde VM-spoke-01'e uzaktan erişim bağlantısı açın. Bağlantınız başarılı olmalı ve seçtiğiniz kullanıcı adı ve parolayı kullanarak oturum açabilmelisiniz.

Güvenlik duvarı kurallarının çalıştığını doğruladıktan sonra şunları yapabilirsiniz:

  • Uydu sanal ağındaki sunucuya ping atın.
  • Konuşma sanal ağındaki web sunucusuna gidin.
  • RDP kullanarak konuşma sanal ağındaki sunucuya bağlanın.

Ardından, aşağıdaki betiği çalıştırarak güvenlik duvarı ağ kurallarının koleksiyonuna yönelik eylemi Deny olarak değiştirin.

$rcNet = $Azfw.GetNetworkRuleCollectionByName("RCNet01")
$rcNet.action.type = "Deny"

Set-AzFirewall -AzureFirewall $Azfw

Mevcut uzaktan erişim bağlantılarını kapatın. Değiştirilen kuralları test etmek için testleri yeniden çalıştırın. Bu kez tümü başarısız olmalıdır.

Kaynakları temizleme

Sonraki öğreticide güvenlik duvarı kaynaklarınızı koruyabilirsiniz. Artık bunlara ihtiyacınız yoksa, güvenlik duvarıyla ilgili tüm kaynakları silmek için FW-Hybrid-Test kaynak grubunu silin.

Sonraki adımlar

Azure Güvenlik Duvarı günlüklerini izleme