Condividi tramite


Set-AzFirewall

Salva un firewall modificato.

Sintassi

Set-AzFirewall
   -AzureFirewall <PSAzureFirewall>
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-AzFirewall aggiorna un Firewall di Azure.

Esempio

Esempio 1: Aggiornare la priorità di una raccolta di regole dell'applicazione firewall

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$ruleCollection = $azFw.GetApplicationRuleCollectionByName("ruleCollectionName")
$ruleCollection.Priority = 101
Set-AzFirewall -AzureFirewall $azFw

In questo esempio viene aggiornata la priorità di una raccolta di regole esistente di un Firewall di Azure. Supponendo che Firewall di Azure "AzureFirewall" nel gruppo di risorse "rg" contenga una raccolta di regole dell'applicazione denominata "ruleCollectionName", i comandi precedenti modificheranno la priorità della raccolta di regole e aggiorneranno successivamente il Firewall di Azure. Senza il comando Set-AzFirewall, tutte le operazioni eseguite sull'oggetto $azFw locale non vengono riflesse nel server.

Esempio 2: Creare un Firewall di Azure e impostare una raccolta di regole dell'applicazione in un secondo momento

$azFw = New-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg" -VirtualNetworkName "vnet-name" -PublicIpName "pip-name"

$rule = New-AzFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" -SourceAddress "10.0.0.0"
$RuleCollection = New-AzFirewallApplicationRuleCollection -Name RC1 -Priority 100 -Rule $rule -ActionType "Allow"
$azFw.ApplicationRuleCollections = $RuleCollection

$azFw | Set-AzFirewall

In questo esempio viene creato un firewall prima senza raccolte regole dell'applicazione. Successivamente vengono create una regola applicazione e una raccolta di regole dell'applicazione, quindi l'oggetto Firewall viene modificato in memoria, senza influire sulla configurazione reale nel cloud. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 3: Aggiornare la modalità operativa Intel per le minacce di Firewall di Azure

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.ThreatIntelMode = "Deny"
Set-AzFirewall -AzureFirewall $azFw

Questo esempio aggiorna la modalità operativa Intel per le minacce di Firewall di Azure "AzureFirewall" nel gruppo di risorse "rg". Senza il comando Set-AzFirewall, tutte le operazioni eseguite sull'oggetto $azFw locale non vengono riflesse nel server.

Esempio 4: Deallocare e allocare il firewall

$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall

$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$firewall.Allocate($vnet, $pip)
$firewall | Set-AzFirewall

Questo esempio recupera un firewall, dealloca il firewall e lo salva. Il comando Deallocate rimuove il servizio in esecuzione ma mantiene la configurazione del firewall. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall. Se l'utente vuole riavviare il servizio, il metodo Allocate deve essere chiamato nel firewall. La nuova rete virtuale e l'indirizzo IP pubblico devono trovarsi nello stesso gruppo di risorse del firewall. Anche in questo caso, per le modifiche da riflettere nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 5: Allocare con un indirizzo IP pubblico di gestione per scenari di tunneling forzato

$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$mgmtPip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name MgmtPublicIpName
$firewall.Allocate($vnet, $pip, $mgmtPip)
$firewall | Set-AzFirewall

Questo esempio alloca il firewall con un indirizzo IP pubblico di gestione e una subnet per scenari di tunneling forzato. La rete virtuale deve contenere una subnet denominata "AzureFirewallManagementSubnet".

Esempio 6: Aggiungere un indirizzo IP pubblico a un Firewall di Azure

$pip = New-AzPublicIpAddress -Name "azFwPublicIp1" -ResourceGroupName "rg" -Sku "Standard" -Location "centralus" -AllocationMethod Static
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.AddPublicIpAddress($pip)

$azFw | Set-AzFirewall

In questo esempio, l'indirizzo IP pubblico "azFwPublicIp1" come collegato al firewall.

Esempio 7: Rimuovere un indirizzo IP pubblico da un Firewall di Azure

$pip = Get-AzPublicIpAddress -Name "azFwPublicIp1" -ResourceGroupName "rg"
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)

$azFw | Set-AzFirewall

In questo esempio, l'indirizzo IP pubblico "azFwPublicIp1" come disconnesso dal firewall.

Esempio 8: Modificare l'indirizzo IP pubblico di gestione in un Firewall di Azure

$newMgmtPip = New-AzPublicIpAddress -Name "azFwMgmtPublicIp2" -ResourceGroupName "rg" -Sku "Standard" -Location "centralus" -AllocationMethod Static
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.ManagementIpConfiguration.PublicIpAddress = $newMgmtPip

$azFw | Set-AzFirewall

In questo esempio, l'indirizzo IP pubblico di gestione del firewall verrà modificato in "AzFwMgmtPublicIp2"

Esempio 9: Aggiungere la configurazione DNS a un Firewall di Azure

$dnsServers = @("10.10.10.1", "20.20.20.2")
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.DNSEnableProxy = $true
$azFw.DNSServer = $dnsServers

$azFw | Set-AzFirewall

In questo esempio, la configurazione del proxy DNS e del server DNS è collegata al firewall.

Esempio 10: Aggiornare la destinazione di una regola esistente all'interno di una raccolta di regole dell'applicazione firewall

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$ruleCollection = $azFw.GetNetworkRuleCollectionByName("ruleCollectionName")
$rule=$ruleCollection.GetRuleByName("ruleName")
$rule.DestinationAddresses = "10.10.10.10"
Set-AzFirewall -AzureFirewall $azFw

In questo esempio viene aggiornata la destinazione di una regola esistente all'interno di una raccolta di regole di un Firewall di Azure. In questo modo è possibile aggiornare automaticamente le regole quando gli indirizzi IP cambiano in modo dinamico.

Esempio 11: Consentire FTP attivo in Firewall di Azure

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.AllowActiveFTP = $true

$azFw | Set-AzFirewall

In questo esempio, il protocollo FTP attivo è consentito nel firewall.

Esempio 12: Deallocare e allocare il firewall da un hub virtuale

$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall

$Hub = Get-AzVirtualHub -ResourceGroupName "testRG" -Name "westushub"
$firewall.Allocate($Hub.Id)
$firewall | Set-AzFirewall

Questo esempio recupera un firewall hub, dealloca il firewall dell'hub e lo salva. Il comando Deallocate rimuove il riferimento all'hub virtuale ma mantiene la configurazione del firewall. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall. Il metodo Allocate assegna il riferimento all'hub virtuale al firewall. Anche in questo caso, per le modifiche da riflettere nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 13: Abilitare la registrazione del flusso di grasso in Firewall di Azure

$azFw = Get-AzFirewall -Name "ps184" -ResourceGroupName "ps774"
$azFw.EnableFatFlowLogging = $true

$azFw | Set-AzFirewall

AllowActiveFTP	                : null	
		ApplicationRuleCollections	    : Count = 0	
		ApplicationRuleCollectionsText	: "[]"	
		DNSEnableProxy	                : null	
		DNSServer	                    : null	
		DNSServersText	                : "null"	
		Etag	                        : "W/\"7533fa1b-8588-400d-857c-6bc372e14f1b\""
		FirewallPolicy	                : null	
		HubIPAddresses	                : null	
		Id	                            : "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ps774/providers/Microsoft.Network/azureFirewalls/ps184"	
		EnableFatFlowLogging	            : "true"	
		IpConfigurations	            : Count = 0	
		IpConfigurationsText	        : "[]"	
		Location	                    : "eastus"	
		ManagementIpConfiguration	    : null	
		ManagementIpConfigurationText	: "null"	
		Name	                        : "ps184"	
		NatRuleCollections	            : Count = 0	
		NatRuleCollectionsText	        : "[]"	
		NetworkRuleCollections	        : Count = 0	
		NetworkRuleCollectionsText	    : "[]"	
		PrivateRange	                : null	
		PrivateRangeText	            : "null"	
		ProvisioningState	            : "Succeeded"	
		ResourceGroupName	            : "ps774"	
		ResourceGuid	                : null	
		Sku	                            : {Microsoft.Azure.Commands.Network.Models.PSAzureFirewallSku}	
		Tag	                            : null	
		TagsTable	                    : null	
		ThreatIntelMode	                : "Alert"	
		ThreatIntelWhitelist	        : {Microsoft.Azure.Commands.Network.Models.PSAzureFirewallThreatIntelWhitelist}	
		ThreatIntelWhitelistText	    : "{\r
 \"FQDNs\": null,\r
 \"IpAddresses\": null\r\n}"	
		Type	                        : "Microsoft.Network/azureFirewalls"	
		VirtualHub	                    : null	
		Zones	                        : Count = 0	
		privateRange	                : null

In questo esempio l'abilitazione della registrazione del flusso di grasso è abilitata nel firewall.

Esempio 14: Aggiornare Firewall di Azure Standard a Premium

$azfw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azfw.Sku.Tier="Premium"
Set-AzFirewall -AzureFirewall $azfw

In questo esempio viene aggiornato il Firewall di Azure Standard esistente al firewall Premium. Il processo di aggiornamento può richiedere alcuni minuti e non richiede tempi di inattività del servizio. Al termine dell'aggiornamento, è possibile sostituire i criteri standard di uscita con Premium.

Esempio 15: Deallocare e allocare il firewall con zone di disponibilità

$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall

$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$firewall.Zones = "1","2","3"
$firewall.Allocate($vnet, $pip)
$firewall | Set-AzFirewall

Questo esempio recupera un firewall, dealloca il firewall e lo salva. Il comando Deallocate rimuove il servizio in esecuzione ma mantiene la configurazione del firewall. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall. Se l'utente vuole riavviare il servizio, ma con zone di disponibilità, il metodo Zones deve essere chiamato definendo il zone di disponibilità desiderato tra virgolette e separato da virgole. Nel caso in cui zone di disponibilità debba essere rimosso, è necessario introdurre invece il parametro $null. Infine, il metodo Allocate deve essere chiamato nel firewall. La nuova rete virtuale e l'indirizzo IP pubblico devono trovarsi nello stesso gruppo di risorse del firewall. Anche in questo caso, per le modifiche da riflettere nel cloud, è necessario chiamare Set-AzFirewall.

Parametri

-AsJob

Eseguire il cmdlet in background

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-AzureFirewall

The AzureFirewall

Tipo:PSAzureFirewall
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSAzureFirewall

Output

PSAzureFirewall