Partilhar via


Tutorial: Proteger seu hub virtual usando o Azure PowerShell

Neste tutorial, você cria uma instância de WAN Virtual com um Hub Virtual em uma região e implanta um Firewall do Azure no Hub Virtual para proteger a conectividade. Neste exemplo, você demonstra conectividade segura entre Redes Virtuais. O tráfego entre redes virtuais e ramificações site a site, ponto a site ou Rota Expressa também é suportado pelo Hub Seguro Virtual.

Neste tutorial, irá aprender a:

  • Implantar a WAN virtual
  • Implantar o Firewall do Azure e configurar o roteamento personalizado
  • Testar conectividade

Important

Uma WAN Virtual é uma coleção de hubs e serviços disponibilizados dentro do hub. Você pode implantar quantas WANs virtuais precisar. Em um hub de WAN Virtual, há vários serviços, como VPN, Rota Expressa e assim por diante. Cada um desses serviços é implantado automaticamente em zonas de disponibilidade, exceto o Firewall do Azure, se a região der suporte a zonas de disponibilidade. Para atualizar um Hub WAN Virtual do Azure existente para um Hub Seguro e fazer com que o Firewall do Azure use zonas de disponibilidade, você deve usar o Azure PowerShell, conforme descrito posteriormente neste artigo.

Prerequisites

  • Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • PowerShell 7 ou superior

    Este tutorial requer que você execute o Azure PowerShell localmente no PowerShell 7 ou superior. Para instalar o PowerShell 7, consulte Migrando do Windows PowerShell 5.1 para o PowerShell 7.

  • A versão do módulo "Az.Network" deve ser 4.17.0 ou superior.

Iniciar sessão no Azure

Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"

Implantação inicial da WAN virtual

Para começar, você precisa definir variáveis e criar o grupo de recursos, a instância de WAN virtual e o hub virtual:

# Variable definition
$RG = "vwan-rg"
$Location = "westeurope"
$VwanName = "vwan"
$HubName =  "hub1"
$FirewallTier = "Standard" # or "Premium"

# Create Resource Group, Virtual WAN and Virtual Hub using the New-AzVirtualWan and New-AzVirtualHub cmdlets
New-AzResourceGroup -Name $RG -Location $Location
$Vwan = New-AzVirtualWan -Name $VwanName -ResourceGroupName $RG -Location $Location -AllowVnetToVnetTraffic -AllowBranchToBranchTraffic -VirtualWANType "Standard"
$Hub = New-AzVirtualHub -Name $HubName -ResourceGroupName $RG -VirtualWan $Vwan -Location $Location -AddressPrefix "192.168.1.0/24" -Sku "Standard"
  • Crie duas redes virtuais e ligue-as ao hub como satélites utilizando o cmdlet New-AzVirtualHubVnetConnection. As redes virtuais são criadas com os prefixos 10.1.1.0/24 de endereço e 10.1.2.0/24.
# Create Virtual Network
$Spoke1 = New-AzVirtualNetwork -Name "spoke1" -ResourceGroupName $RG -Location $Location -AddressPrefix "10.1.1.0/24"
$Spoke2 = New-AzVirtualNetwork -Name "spoke2" -ResourceGroupName $RG -Location $Location -AddressPrefix "10.1.2.0/24"
# Connect Virtual Network to Virtual WAN
$Spoke1Connection = New-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName  $HubName -Name "spoke1" -RemoteVirtualNetwork $Spoke1 -EnableInternetSecurityFlag $True
$Spoke2Connection = New-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName  $HubName -Name "spoke2" -RemoteVirtualNetwork $Spoke2 -EnableInternetSecurityFlag $True

Nesta fase, a sua WAN Virtual está totalmente operacional e fornece conectividade ponto a ponto. Para proteger esse ambiente, implante um Firewall do Azure em cada Hub Virtual. Você pode gerenciar centralmente esses firewalls usando as Políticas de Firewall.

Neste exemplo, você também criará uma política de firewall para gerenciar a instância do Firewall do Azure no hub WAN Virtual usando o New-AzFirewallPolicy cmdlet. O Firewall do Azure será implantado no hub usando o New-AzFirewall cmdlet.

# New Firewall Policy
$FWPolicy = New-AzFirewallPolicy -Name "VwanFwPolicy" -ResourceGroupName $RG -Location $Location
# New Firewall Public IP
$AzFWPIPs = New-AzFirewallHubPublicIpAddress -Count 1
$AzFWHubIPs = New-AzFirewallHubIpAddress -PublicIP $AzFWPIPs
# New Firewall
$AzFW = New-AzFirewall -Name "azfw1" -ResourceGroupName $RG -Location $Location `
            -VirtualHubId $Hub.Id -FirewallPolicyId $FWPolicy.Id `
            -SkuName "AZFW_Hub" -HubIPAddress $AzFWHubIPs `
            -SkuTier $FirewallTier

Note

O comando de criação de firewall a seguir não usa zonas de disponibilidade. Se você quiser usar esse recurso, um parâmetro adicional -Zone é necessário. Um exemplo é fornecido na seção de atualização no final deste artigo.

Habilitar o registo de logs do Firewall do Azure no Azure Monitor é opcional. Neste exemplo, você usa logs de firewall para verificar se o tráfego está passando pelo firewall. Primeiro, crie um espaço de trabalho do Log Analytics para armazenar os logs. Em seguida, use o cmdlet Set-AzDiagnosticSetting para configurar definições de diagnóstico e remeter os logs para o espaço de trabalho.

# Optionally, enable logging of Azure Firewall to Azure Monitor
$LogWSName = "vwan-" + (Get-Random -Maximum 99999) + "-" + $RG
$LogWS = New-AzOperationalInsightsWorkspace -Location $Location -Name $LogWSName -Sku Standard -ResourceGroupName $RG
Set-AzDiagnosticSetting -ResourceId $AzFW.Id -Enabled $True -Category AzureFirewallApplicationRule, AzureFirewallNetworkRule -WorkspaceId $LogWS.ResourceId

Implantar o Firewall do Azure e configurar o roteamento personalizado

Note

Esta é a configuração implantada ao proteger a conectividade do Portal do Azure com o Gerenciador de Firewall do Azure quando a configuração "Interhub" é definida como desabilitada. Para obter instruções sobre como configurar o roteamento usando o PowerShell quando "Inter-hub" está definido como habilitado, consulte Habilitando a intenção de roteamento.

Agora você tem um Firewall do Azure no hub, mas ainda precisa modificar o roteamento para que a WAN Virtual envie o tráfego das redes virtuais e das ramificações através do firewall. Você faz isso em duas etapas:

  1. Configure todas as conexões de rede virtual (e conexões de filial, se houver) para se propagar para a None Tabela de Rotas. O efeito dessa configuração é que outras redes virtuais e ramificações não aprenderão seus prefixos e, portanto, não terão roteamento para alcançá-las.
  2. Agora você pode inserir rotas estáticas na Tabela de Default Rotas (onde todas as redes virtuais e ramificações estão associadas por padrão), para que todo o tráfego seja enviado para o Firewall do Azure.

Comece por configurar as suas ligações de rede virtual para propagar para a Tabela de Rotas None. Esta etapa garante que as redes virtuais não aprendam os prefixos de endereço umas das outras, impedindo a comunicação direta entre elas. Como resultado, todo o tráfego de rede intervirtual deve passar pelo Firewall do Azure.

Para fazer isso, use o Get-AzVhubRouteTable cmdlet para recuperar a None Tabela de Rotas e atualize a configuração de roteamento de cada conexão de rede virtual com o Update-AzVirtualHubVnetConnection cmdlet.

# Configure Virtual Network connections in hub to propagate to None
$VnetRoutingConfig = $Spoke1Connection.RoutingConfiguration    # We take $Spoke1Connection as baseline for the future vnet config, all vnets will have an identical config
$NoneRT = Get-AzVhubRouteTable -ResourceGroupName $RG -HubName $HubName -Name "noneRouteTable"
$NewPropRT = @{}
$NewPropRT.Add('Id', $NoneRT.Id)
$PropRTList = @()
$PropRTList += $NewPropRT
$VnetRoutingConfig.PropagatedRouteTables.Ids = $PropRTList
$VnetRoutingConfig.PropagatedRouteTables.Labels = @()
$Spoke1Connection = Update-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName  $HubName -Name "spoke1" -RoutingConfiguration $VnetRoutingConfig
$Spoke2Connection = Update-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName  $HubName -Name "spoke2" -RoutingConfiguration $VnetRoutingConfig

Em seguida, prossiga para a segunda etapa: adicionar rotas estáticas à Default tabela de rotas. O exemplo a seguir usa a configuração padrão que o Gerenciador de Firewall do Azure aplica ao proteger a conectividade em uma WAN Virtual. Você pode personalizar a lista de prefixos na rota estática conforme necessário usando o New-AzVHubRoute cmdlet. Neste exemplo, todo o tráfego é roteado através do Firewall do Azure, que é o padrão recomendado.

# Create static routes in default Route table
$AzFWId = $(Get-AzVirtualHub -ResourceGroupName $RG -name  $HubName).AzureFirewall.Id
$AzFWRoute = New-AzVHubRoute -Name "all_traffic" -Destination @("0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16") -DestinationType "CIDR" -NextHop $AzFWId -NextHopType "ResourceId"
$DefaultRT = Update-AzVHubRouteTable -Name "defaultRouteTable" -ResourceGroupName $RG -VirtualHubName  $HubName -Route @($AzFWRoute)

Note

A cadeia de caracteres "all_traffic" como valor para o parâmetro "-Name" no comando New-AzVHubRoute acima tem um significado especial: se você usar essa cadeia de caracteres exata, a configuração aplicada neste artigo será refletida corretamente no portal do Azure (Gerenciador de Firewall --> Hubs virtuais --> [Seu Hub] --> Configuração de Segurança). Se um nome diferente for usado, a configuração desejada será aplicada, mas não será refletida no portal do Azure.

Habilitando a intenção de roteamento

Se quiser enviar tráfego entre hubs e entre regiões por meio do Firewall do Azure implantado no hub WAN Virtual, você pode, em vez disso, habilitar o recurso de intenção de roteamento. Para obter mais informações sobre intenção de roteamento, consulte a documentação de intenção de roteamento.

Note

Esta é a configuração implantada ao proteger a conectividade do portal do Azure com o Gerenciador de Firewall do Azure quando a configuração "Interhub" está definida como habilitada.

# Get the Azure Firewall resource ID
$AzFWId = $(Get-AzVirtualHub -ResourceGroupName <thname> -name  $HubName).AzureFirewall.Id

# Create routing policy and routing intent
$policy1 = New-AzRoutingPolicy -Name "PrivateTraffic" -Destination @("PrivateTraffic") -NextHop $firewall.Id
$policy2 = New-AzRoutingPolicy -Name "PublicTraffic" -Destination @("Internet") -NextHop $firewall.Id
New-AzRoutingIntent -ResourceGroupName "<rgname>" -VirtualHubName "<hubname>" -Name "hubRoutingIntent" -RoutingPolicy @($policy1, $policy2)
If your Virtual WAN uses non-RFC1918 address prefixes (for example, `40.0.0.0/24` in a virtual network or on-premises), you should add an extra route to the `defaultRouteTable` after completing the routing intent configuration. Name this route **private_traffic**. If you use a different name, the route will work as expected, but the configuration will not be reflected in the Azure portal.

```azurepowershell-interactive
# Get the defaultRouteTable
$defaultRouteTable = Get-AzVHubRouteTable -ResourceGroupName routingIntent-Demo -HubName wus_hub1 -Name defaultRouteTable

# Get the routes automatically created by routing intent. If private routing policy is enabled, this is the route named _policy_PrivateTraffic. If internet routing policy is enabled, this is the route named _policy_InternetTraffic. 
$privatepolicyroute = $defaultRouteTable.Routes[1]


# Create new route named private_traffic for non-RFC1918 prefixes
$private_traffic = New-AzVHubRoute -Name "private-traffic" -Destination @("30.0.0.0/24") -DestinationType "CIDR" -NextHop $AzFWId -NextHopType ResourceId

# Create new routes for route table
$newroutes = @($privatepolicyroute, $private_traffic)

# Update route table
Update-AzVHubRouteTable -ResourceGroupName <rgname> -ParentResourceName <hubname> -Name defaultRouteTable -Route $newroutes

Testar conectividade

Agora que seu hub seguro está totalmente operacional, você pode testar a conectividade implantando uma máquina virtual em cada rede virtual spoke conectada ao hub:

# Create VMs in spokes for testing
$VMLocalAdminUser = "lab-user"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -AsPlainText -Force
$VMCredential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VMSize = "Standard_B2ms"
# Spoke1
$Spoke1 = Get-AzVirtualNetwork -ResourceGroupName $RG -Name "spoke1"
Add-AzVirtualNetworkSubnetConfig -Name "vm" -VirtualNetwork $Spoke1 -AddressPrefix "10.1.1.0/26"
$Spoke1 | Set-AzVirtualNetwork
$VM1 = New-AzVM -Name "spoke1-vm" -ResourceGroupName $RG -Location $Location `
            -Image "UbuntuLTS" -credential $VMCredential `
            -VirtualNetworkName "spoke1" -SubnetName "vm" -PublicIpAddressName "spoke1-pip"
$NIC1 = Get-AzNetworkInterface -ResourceId $($VM1.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke1VMPrivateIP = $NIC1.IpConfigurations[0].PrivateIpAddress
$Spoke1VMPIP = $(Get-AzPublicIpAddress -ResourceGroupName $RG -Name "spoke1-pip")
# Spoke2
$Spoke2 = Get-AzVirtualNetwork -ResourceGroupName $RG -Name "spoke2"
Add-AzVirtualNetworkSubnetConfig -Name "vm" -VirtualNetwork $Spoke2 -AddressPrefix "10.1.2.0/26"
$Spoke2 | Set-AzVirtualNetwork
$VM2 = New-AzVM -Name "spoke2-vm" -ResourceGroupName $RG -Location $Location `
            -Image "UbuntuLTS" -credential $VMCredential `
            -VirtualNetworkName "spoke2" -SubnetName "vm" -PublicIpAddressName "spoke2-pip"
$NIC2 = Get-AzNetworkInterface -ResourceId $($VM2.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke2VMPrivateIP = $NIC2.IpConfigurations[0].PrivateIpAddress
$Spoke2VMPIP = $(Get-AzPublicIpAddress -ResourceGroupName $RG -Name "spoke2-pip")

Por padrão, a política de firewall bloqueia todo o tráfego. Para permitir o acesso às máquinas virtuais de teste, você deve configurar regras DNAT (Destination Network Address Translation). Essas regras permitirão que você se conecte às VMs por meio do endereço IP público do Firewall do Azure:

# Adding DNAT rules for virtual machines in the spokes
$AzFWPublicAddress = $AzFW.HubIPAddresses.PublicIPs.Addresses[0].Address
$NATRuleSpoke1 = New-AzFirewallPolicyNatRule -Name "Spoke1SSH" -Protocol "TCP" `
        -SourceAddress "*" -DestinationAddress $AzFWPublicAddress -DestinationPort 10001 `
        -TranslatedAddress $Spoke1VMPrivateIP -TranslatedPort 22
$NATRuleSpoke2 = New-AzFirewallPolicyNatRule -Name "Spoke2SSH" -Protocol "TCP" `
        -SourceAddress "*" -DestinationAddress $AzFWPublicAddress -DestinationPort 10002 `
        -TranslatedAddress $Spoke2VMPrivateIP -TranslatedPort 22
$NATCollection = New-AzFirewallPolicyNatRuleCollection -Name "SSH" -Priority 100 `
        -Rule @($NATRuleSpoke1, $NATRuleSpoke2) -ActionType "Dnat"
$NATGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "NAT" -Priority 100 -RuleCollection $NATCollection -FirewallPolicyObject $FWPolicy

Em seguida, configure regras de exemplo para sua política de firewall. Primeiro, crie uma regra de rede para permitir o tráfego SSH entre as redes virtuais. Em seguida, adicione uma regra de aplicativo para permitir o acesso à Internet somente ao FQDN (nome de domínio totalmente qualificado), ifconfig.coque retorna o endereço IP de origem visto na solicitação HTTP:

# Add Network Rule
$SSHRule = New-AzFirewallPolicyNetworkRule -Name PermitSSH -Protocol TCP `
        -SourceAddress "10.0.0.0/8" -DestinationAddress "10.0.0.0/8" -DestinationPort 22
$NetCollection = New-AzFirewallPolicyFilterRuleCollection -Name "Management" -Priority 100 -ActionType Allow -Rule $SSHRule
$NetGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "Management" -Priority 200 -RuleCollection $NetCollection -FirewallPolicyObject $FWPolicy
# Add Application Rule
$ifconfigRule = New-AzFirewallPolicyApplicationRule -Name PermitIfconfig -SourceAddress "10.0.0.0/8" -TargetFqdn "ifconfig.co" -Protocol "http:80","https:443"
$AppCollection = New-AzFirewallPolicyFilterRuleCollection -Name "TargetURLs" -Priority 300 -ActionType Allow -Rule $ifconfigRule
$NetGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "TargetURLs" -Priority 300 -RuleCollection $AppCollection -FirewallPolicyObject $FWPolicy

Antes de enviar qualquer tráfego, verifique as rotas efetivas para cada máquina virtual. As tabelas de rotas devem mostrar os prefixos aprendidos com a WAN Virtual (0.0.0.0/0 intervalos de RFC1918), mas não devem incluir o prefixo de endereço da outra rede virtual falada.

# Check effective routes in the VM NIC in spoke 1
# Note that 10.1.2.0/24 (the prefix for spoke2) should not appear
Get-AzEffectiveRouteTable -ResourceGroupName $RG -NetworkInterfaceName $NIC1.Name | ft
# Check effective routes in the VM NIC in spoke 2
# Note that 10.1.1.0/24 (the prefix for spoke1) should not appear
Get-AzEffectiveRouteTable -ResourceGroupName $RG -NetworkInterfaceName $NIC2.Name | ft

Gere tráfego de uma máquina virtual para a outra e verifique se ele é filtrado pelo Firewall do Azure. Use SSH para se conectar às máquinas virtuais — aceite a impressão digital SSH e insira a senha definida durante a criação da VM. Neste exemplo, tu vais:

  • Envie cinco requisições de eco ICMP (pings) da VM em spoke1 para a VM em spoke2.
  • Tente uma conexão TCP na porta 22 usando o utilitário nc (netcat) com as -vz opções, que verifica a conectividade sem necessidade de envio de dados.

Você deve observar que as solicitações de ping falham (bloqueadas pelo firewall), enquanto a conexão TCP na porta 22 é bem-sucedida, conforme permitido pela regra de rede configurada anteriormente.

# Connect to one VM and ping the other. It should not work, because the firewall should drop the traffic, since no rule for ICMP is configured
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "ping $Spoke2VMPrivateIP -c 5"
# Connect to one VM and send a TCP request on port 22 to the other. It should work, because the firewall is configured to allow SSH traffic (port 22)
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "nc -vz $Spoke2VMPrivateIP 22"

Também pode testar o acesso à Internet através da firewall. As solicitações HTTP usando o curl utilitário para o FQDN permitido (ifconfig.co) devem ser bem-sucedidas, enquanto as solicitações para outros destinos (como bing.com) devem ser bloqueadas pela diretiva de firewall:

# This HTTP request should succeed, since it is allowed in an app rule in the AzFW, and return the public IP of the FW
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "curl -s4 ifconfig.co"
# This HTTP request should fail, since the FQDN bing.com is not in any app rule in the firewall policy
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "curl -s4 bing.com"

Para confirmar se o firewall está descartando pacotes conforme o esperado, revise os logs enviados ao Azure Monitor. Como o Firewall do Azure está configurado para enviar logs de diagnóstico para o Azure Monitor, você pode usar a KQL (Kusto Query Language) para consultar e analisar as entradas de log relevantes:

Note

Pode levar cerca de 1 minuto para que os logs pareçam ser enviados para o Azure Monitor

# Getting Azure Firewall network rule Logs
$LogWS = Get-AzOperationalInsightsWorkspace -ResourceGroupName $RG
$LogQuery = 'AzureDiagnostics
| where Category == "AzureFirewallNetworkRule"
| where TimeGenerated >= ago(5m)
| parse msg_s with Protocol " request from " SourceIP ":" SourcePortInt:int " to " TargetIP ":" TargetPortInt:int *
| parse msg_s with * ". Action: " Action1a
| parse msg_s with * " was " Action1b " to " NatDestination
| parse msg_s with Protocol2 " request from " SourceIP2 " to " TargetIP2 ". Action: " Action2
| extend SourcePort = tostring(SourcePortInt),TargetPort = tostring(TargetPortInt)
| extend Action = case(Action1a == "", case(Action1b == "",Action2,Action1b), Action1a),Protocol = case(Protocol == "", Protocol2, Protocol),SourceIP = case(SourceIP == "", SourceIP2, SourceIP),TargetIP = case(TargetIP == "", TargetIP2, TargetIP),SourcePort = case(SourcePort == "", "N/A", SourcePort),TargetPort = case(TargetPort == "", "N/A", TargetPort),NatDestination = case(NatDestination == "", "N/A", NatDestination)
| project TimeGenerated, Protocol, SourceIP,SourcePort,TargetIP,TargetPort,Action, NatDestination, Resource
| take 25 '
$(Invoke-AzOperationalInsightsQuery -Workspace $LogWS -Query $LogQuery).Results | ft

No comando anterior você deve ver entradas diferentes:

  • Sua conexão SSH sendo DNAT'ed
  • Pacotes ICMP descartados entre as VMs nos raios (10.1.1.4 e 10.1.2.4)
  • Conexões SSH permitidas entre as VMs nos raios

Aqui uma saída de exemplo produzida pelo comando acima:

TimeGenerated            Protocol    SourceIP       SourcePort TargetIP      TargetPort Action  NatDestination Resource
-------------            --------    --------       ---------- --------      ---------- ------  -------------- --------
2020-10-04T20:53:02.41Z  TCP         109.125.122.99 62281      51.105.224.44 10001      DNAT'ed 10.1.1.4:22    AZFW1
2020-10-04T20:53:07.045Z TCP         10.1.1.4       35932      10.1.2.4      22         Allow   N/A            AZFW1
2020-10-04T20:53:50.119Z TCP         109.125.122.99 62293      51.105.224.44 10001      DNAT'ed 10.1.2.4:22    AZFW1
2020-10-04T20:52:47.475Z TCP         109.125.122.99 62273      51.105.224.44 10001      DNAT'ed 10.1.2.4:22    AZFW1
2020-10-04T20:51:04.682Z TCP         109.125.122.99 62200      51.105.224.44 10001      DNAT'ed 10.1.2.4:22    AZFW1
2020-10-04T20:51:17.031Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            AZFW1
2020-10-04T20:51:18.049Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            AZFW1
2020-10-04T20:51:19.075Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            AZFW1
2020-10-04T20:51:20.097Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            AZFW1
2020-10-04T20:51:21.121Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            AZFW1
2020-10-04T20:52:52.356Z TCP         10.1.1.4       53748      10.1.2.4      22         Allow   N/A            AZFW1

Se você quiser ver os logs para as regras do aplicativo (descrevendo conexões HTTP permitidas e negadas) ou alterar a maneira como os logs são exibidos, você pode tentar com outras consultas KQL. Você pode encontrar alguns exemplos nos logs do Azure Monitor para o Firewall do Azure.

Para limpar o ambiente de teste, exclua o grupo de recursos e todos os recursos associados usando o Remove-AzResourceGroup cmdlet. Isso removerá a WAN Virtual, o Hub Virtual, o Firewall do Azure e quaisquer outros recursos criados durante este tutorial.

# Delete resource group and all contained resources
Remove-AzResourceGroup -Name $RG

Implantar um novo Firewall do Azure com zonas de disponibilidade em um hub existente

As etapas anteriores mostraram como usar o Azure PowerShell para criar um novo Hub WAN Virtual do Azure e protegê-lo com o Firewall do Azure. Você também pode proteger um Hub WAN Virtual do Azure existente usando uma abordagem baseada em script semelhante. Embora o Gerenciador de Firewall possa converter um hub em um Hub Seguro, ele não oferece suporte à implantação do Firewall do Azure em zonas de disponibilidade por meio do portal. Para implantar o Firewall do Azure em todas as três zonas de disponibilidade, use o seguinte script do PowerShell para converter seu Hub WAN Virtual existente em um Hub Seguro.

Note

Este procedimento implanta um novo Firewall do Azure. Não é possível atualizar um Firewall do Azure existente sem zonas de disponibilidade para uma com zonas de disponibilidade. Você deve primeiro excluir o Firewall do Azure existente no hub e criá-lo novamente usando este procedimento.

# Variable definition
$RG = "vwan-rg"
$Location = "westeurope"
$VwanName = "vwan"
$HubName =  "hub1"
$FirewallName = "azfw1"
$FirewallTier = "Standard" # or "Premium"
$FirewallPolicyName = "VwanFwPolicy"

# Get references to vWAN and vWAN Hub to convert #
$Vwan = Get-AzVirtualWan -ResourceGroupName $RG -Name $VwanName
$Hub = Get-AzVirtualHub -ResourceGroupName  $RG -Name $HubName

# Create a new Firewall Policy #
$FWPolicy = New-AzFirewallPolicy -Name $FirewallPolicyName -ResourceGroupName $RG -Location $Location

# Create a new Firewall Public IP #
$AzFWPIPs = New-AzFirewallHubPublicIpAddress -Count 1
$AzFWHubIPs = New-AzFirewallHubIpAddress -PublicIP $AzFWPIPs

# Create Firewall instance #
$AzFW = New-AzFirewall -Name $FirewallName -ResourceGroupName $RG -Location $Location `
            -VirtualHubId $Hub.Id -FirewallPolicyId $FWPolicy.Id `
            -SkuName "AZFW_Hub" -HubIPAddress $AzFWHubIPs `
            -SkuTier $FirewallTier `
            -Zone 1,2,3

Depois de executar esse script, as zonas de disponibilidade devem aparecer nas propriedades do hub seguro, conforme mostrado na captura de tela a seguir:

Captura de ecrã de Zonas de disponibilidade de hub virtual seguras.

Depois de implantar o Firewall do Azure, você deve concluir as etapas de configuração descritas na seção anterior Implantar o Firewall do Azure e configurar o roteamento personalizado para garantir o roteamento e a segurança adequados.

Próximos passos