Firewall di Azure intervalli di indirizzi IP privati SNAT

Firewall di Azure offre funzionalità SNAT per tutto il traffico in uscita verso indirizzi IP pubblici. Per impostazione predefinita, Firewall di Azure non esegue SNAT con regole di rete quando l'indirizzo IP di destinazione si trova in un intervallo di indirizzi IP privati per IANA RFC 1918 o spazio indirizzi condiviso per IANA RFC 6598. Le regole dell'applicazione sono sempre SNATed usando un proxy trasparente indipendentemente dall'indirizzo IP di destinazione.

Questa logica funziona correttamente quando si instrada il traffico direttamente a Internet. Esistono tuttavia scenari in cui è possibile eseguire l'override del comportamento SNAT predefinito.

  • Se è stato abilitato il tunneling forzato, il traffico associato a Internet è SNATed a uno degli indirizzi IP privati del firewall in AzureFirewallSubnet, nascondendo l'origine dal firewall locale.
  • Se l'organizzazione usa intervalli di indirizzi IP registrati all'esterno di IANA RFC 1918 o IANA RFC 6598 per le reti private, Firewall di Azure SNATs il traffico verso uno degli indirizzi IP privati del firewall in AzureFirewallSubnet. Tuttavia, è possibile configurare Firewall di Azure in modo che non SNAT l'intervallo di indirizzi IP pubblici. Ad esempio, per specificare un singolo indirizzo IP, è possibile specificarlo come segue: 192.168.1.10. Per specificare un intervallo di indirizzi IP, è possibile specificarlo come segue: 192.168.1.0/24.

Firewall di Azure comportamento SNAT può essere modificato nei modi seguenti:

  • Per configurare Firewall di Azure in modo che il traffico SNAT non venga mai elaborato dalle regole di rete indipendentemente dall'indirizzo IP di destinazione, usare 0.0.0.0/0 come intervallo di indirizzi IP privati. Con questa configurazione, Firewall di Azure non può mai instradare il traffico direttamente a Internet.

  • Per configurare il firewall in modo che SNAT venga sempre elaborato dalle regole di rete indipendentemente dall'indirizzo di destinazione, usare 255.255.255.255/32 come intervallo di indirizzi IP privati.

  • Firewall di Azure possono essere configurati per apprendere automaticamente intervalli registrati e privati ogni ora e usare le route apprese per SNAT. Questa funzionalità di anteprima deve avere il server di route di Azure distribuito nella stessa rete virtuale del Firewall di Azure.

Importante

La configurazione dell'intervallo di indirizzi privato si applica solo alle regole di rete. Attualmente, le regole dell'applicazione sono sempre SNAT.

Importante

Se si desidera specificare gli intervalli di indirizzi IP privati e mantenere gli intervalli di indirizzi IANA RFC 1918 predefiniti, assicurarsi che l'elenco personalizzato includa ancora l'intervallo IANA RFC 1918.

È possibile configurare gli indirizzi IP privati SNAT usando i metodi seguenti. È necessario configurare gli indirizzi privati SNAT usando il metodo appropriato per la configurazione. I firewall associati a un criterio firewall devono specificare l'intervallo nei criteri e non usare AdditionalProperties.

metodo Uso delle regole classiche Uso dei criteri firewall
Azure portal supportato supportato
Azure PowerShell Configurare PrivateRange attualmente non supportato
Interfaccia della riga di comando di Azure Configurare --private-ranges attualmente non supportato
Modello ARM configurare AdditionalProperties nella proprietà del firewall configurare snat/privateRanges nei criteri firewall

Configurare gli intervalli di indirizzi IP privati SNAT - Azure PowerShell

Regole classiche

È possibile usare Azure PowerShell per specificare intervalli di indirizzi IP privati per il firewall.

Nota

La proprietà firewall PrivateRange viene ignorata per i firewall associati a un criterio firewall. È necessario usare la SNAT proprietà in firewallPolicies come descritto in Configurare intervalli di indirizzi IP privati SNAT - modello di Resource Manager.

Nuovo firewall

Per un nuovo firewall che usa regole classiche, il cmdlet di Azure PowerShell è:

$azFw = @{
    Name               = '<fw-name>'
    ResourceGroupName  = '<resourcegroup-name>'
    Location           = '<location>'
    VirtualNetworkName = '<vnet-name>'
    PublicIpName       = '<public-ip-name>'
    PrivateRange       = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
}

New-AzFirewall @azFw

Nota

La distribuzione di Firewall di Azure tramite New-AzFirewall richiede una rete virtuale esistente e un indirizzo IP pubblico. Per una guida completa alla distribuzione, vedere Distribuire e configurare Firewall di Azure usando Azure PowerShell.

Nota

IANAPrivateRanges viene espanso fino alle impostazioni predefinite correnti in Firewall di Azure mentre vengono aggiunti gli altri intervalli. Per mantenere l'impostazione predefinita IANAPrivateRanges nella specifica dell'intervallo privato, deve rimanere nella PrivateRange specifica, come illustrato negli esempi seguenti.

Per altre informazioni, vedere New-AzFirewall.

Firewall esistente

Per configurare un firewall esistente usando le regole classiche, usare i cmdlet di Azure PowerShell seguenti:

$azfw = Get-AzFirewall -Name '<fw-name>' -ResourceGroupName '<resourcegroup-name>'
$azfw.PrivateRange = @("IANAPrivateRanges","192.168.1.0/24", "192.168.1.10")
Set-AzFirewall -AzureFirewall $azfw

Configurare gli intervalli di indirizzi IP privati SNAT - Interfaccia della riga di comando di Azure

Regole classiche

È possibile usare l'interfaccia della riga di comando di Azure per specificare intervalli di indirizzi IP privati per il firewall usando regole classiche.

Nuovo firewall

Per un nuovo firewall che usa regole classiche, il comando dell'interfaccia della riga di comando di Azure è:

az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Nota

La distribuzione di Firewall di Azure tramite il comando dell'interfaccia della riga di comando az network firewall create di Azure richiede passaggi di configurazione aggiuntivi per creare indirizzi IP pubblici e la configurazione IP. Per una guida completa alla distribuzione, vedere Distribuire e configurare Firewall di Azure usando l'interfaccia della riga di comando di Azure.

Nota

IANAPrivateRanges viene espanso fino alle impostazioni predefinite correnti in Firewall di Azure mentre vengono aggiunti gli altri intervalli. Per mantenere l'impostazione predefinita IANAPrivateRanges nella specifica dell'intervallo privato, deve rimanere nella private-ranges specifica, come illustrato negli esempi seguenti.

Firewall esistente

Per configurare un firewall esistente usando le regole classiche, il comando dell'interfaccia della riga di comando di Azure è:

az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Configurare gli intervalli di indirizzi IP privati SNAT - Modello di Resource Manager

Regole classiche

Per configurare SNAT durante la distribuzione del modello di Resource Manager, è possibile aggiungere quanto segue alla additionalProperties proprietà :

"additionalProperties": {
   "Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},

Criterio firewall

Firewall di Azure associati a un criterio firewall hanno supportato intervalli privati SNAT dalla versione api 2020-11-01. Attualmente, è possibile usare un modello per aggiornare l'intervallo privato SNAT nei criteri firewall. L'esempio seguente configura il firewall per il traffico di rete SNAT sempre :

{ 

            "type": "Microsoft.Network/firewallPolicies", 
            "apiVersion": "2020-11-01", 
            "name": "[parameters('firewallPolicies_DatabasePolicy_name')]", 
            "location": "eastus", 
            "properties": { 
                "sku": { 
                    "tier": "Standard" 
                }, 
                "snat": { 
                    "privateRanges": "[255.255.255.255/32]" 
                } 
            } 

Configurare gli intervalli di indirizzi IP privati SNAT - portale di Azure

Regole classiche

È possibile usare il portale di Azure per specificare intervalli di indirizzi IP privati per il firewall.

  1. Selezionare il gruppo di risorse e quindi selezionare il firewall.

  2. Nella pagina Panoramica, Intervalli IP privati, selezionare il valore predefinito IANA RFC 1918.

    Verrà visualizzata la pagina Modifica prefissi IP privati:

    Screenshot of edit private IP prefixes.

  3. Per impostazione predefinita, IANAPrivateRanges è configurato.

  4. Modificare gli intervalli di indirizzi IP privati per l'ambiente e quindi selezionare Salva.

Criterio firewall

  1. Selezionare il gruppo di risorse e quindi selezionare i criteri firewall.

  2. Selezionare Intervalli IP privati (SNAT) nella colonna Impostazioni.

  3. Selezionare le condizioni per eseguire SNAT per l'ambiente in Esegui SNAT per personalizzare la configurazione SNAT. Screenshot of Private IP ranges (SNAT).

  4. Selezionare Applica.

Route SNAT di Apprendimento automatico (anteprima)

È possibile configurare Firewall di Azure per apprendere automaticamente intervalli registrati e privati ogni 30 minuti. Questi intervalli di indirizzi appresi sono considerati interni alla rete, quindi il traffico verso le destinazioni negli intervalli appresi non è SNATed. Gli intervalli SNAT di Apprendimento automatico richiedono la distribuzione del server di route di Azure nella stessa rete virtuale del Firewall di Azure. Il firewall deve essere associato al server di route di Azure e configurato per apprendere automaticamente gli intervalli SNAT nei criteri di Firewall di Azure. È attualmente possibile usare un modello di Resource Manager, Azure PowerShell o il portale di Azure per configurare le route SNAT apprese automaticamente.

Nota

Le route SNAT di Apprendimento automatico sono disponibili solo nelle distribuzioni di reti virtuali (rete virtuale hub). Non è disponibile nelle distribuzioni della rete WAN virtuale (hub virtuale protetto). Per altre informazioni sulle opzioni di architettura Firewall di Azure, vedere Quali sono le opzioni di architettura di Firewall di Azure Manager?

Configurare l'uso di un modello di Resource Manager

È possibile usare il codice JSON seguente per configurare l'apprendimento automatico. Firewall di Azure deve essere associato a un server di route di Azure.

	  "type": "Microsoft.Network/firewallPolicies",
         "apiVersion": "2022-11-01",
	"name": "[parameters('firewallPolicies_DatabasePolicy_name')]", 
            "location": "eastus", 
            "properties": { 
                "sku": { 
                    "tier": "Standard" 
                }, 
                "snat": { 
                     "autoLearnPrivateRanges": "Enabled"
                } 
            } 

Usare il codice JSON seguente per associare un server di route di Azure:

  "type": "Microsoft.Network/azureFirewalls",
  "apiVersion": "2022-11-01",
  "name": "[parameters('azureFirewalls_testFW_name')]",
  "location": "eastus",
  "properties": {
    "sku": {
      "name": "AZFW_VNet",
      "tier": "Standard"
    },
    "threatIntelMode": "Alert",
    "additionalProperties": {
      "Network.RouteServerInfo.RouteServerID": "[parameters'virtualHubs_TestRouteServer_externalid')]"
    },
    ...
  }

Configurare con Azure PowerShell

  • Creare un nuovo firewall con RouteServerId.

    # specify RouteServerId Uri
    $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Create AzureFirewall 
    $azureFirewall = New-AzFirewall -Name $azureFirewallName -ResourceGroupName `
       $rgname -Location $location -RouteServerId $routeServerId 
    
    # Get firewall and confirm if RouteServerId is included on the response under additional properties (Network.RouteServerInfo.RouteServerID) 
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname 
    
  • Aggiornare un firewall esistente con RouteServerId

    # specify RouteServerId Uri 
    $routeServerId="/subscriptions/ your_sub /resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Get firewall 
    $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname 
    
    # Update the response with RouteServerId and do firewall SET 
    $azFirewall.RouteServerId = $routeServerId 
    Set-AzFirewall -AzureFirewall $azFirewall
    
    # Do firewall Get and confirm if routeServerId is updated 
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
    
  • Creare nuovi criteri firewall con il parametro SNAT fornito

    # If AutoLearnPrivateRange parameter is provided, auto learn will be enabled, if not it will be disabled 
    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange
    
    # Create AzureFirewallPolicy (with SNAT) 
    $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName `
       -ResourceGroupName $rgname -Location $location -Snat $snat
    
    # Get AzureFirewallPolicy and verify 
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname 
    
    
  • Aggiornare un criterio firewall esistente con SNAT

    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 
    
    # Set AzureFirewallPolicy 
    $azureFirewallPolicy.Snat = $snat 
    Set-AzFirewallPolicy -InputObject $azureFirewallPolicy 
    
    # Do Get and Verify 
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname 
    
  • Ottenere i prefissi appresi del firewall

      Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname 
    

Configurare con il Portale di Azure

È possibile usare il portale per associare un server di route a Firewall di Azure per configurare le route SNAT di Apprendimento automatico (anteprima).

Usare il portale per completare le attività seguenti:

  • Aggiungere una subnet denominata RouteServerSubnet alla rete virtuale del firewall esistente. Le dimensioni della subnet devono essere almeno /27.
  • Distribuire un server di route nella rete virtuale del firewall esistente. Per informazioni sul server di route di Azure, vedere Avvio rapido: Creare e configurare il server di route usando il portale di Azure.
  • Aggiungere il server di route nella pagina Prefissi IP SNAT appresi (anteprima) del firewall. Screenshot showing firewall add a route server.
  • Modificare i criteri del firewall per abilitare i prefissi IP di Apprendimento automatico (anteprima) nella sezione Intervalli IP privati (SNAT). Screenshot showing firewall policy Private IP ranges (SNAT) settings.
  • È possibile visualizzare le route apprese nella pagina Prefissi IP SNAT appresi (anteprima).

Passaggi successivi