Поделиться через


Set-AzFirewall

Сохраняет измененный брандмауэр.

Синтаксис

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

Описание

Командлет Set-AzFirewall обновляет Брандмауэр Azure.

Примеры

1. Обновление приоритета коллекции правил приложений брандмауэра

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

В этом примере обновляется приоритет существующей коллекции правил Брандмауэр Azure. Если Брандмауэр Azure AzureFirewall в группе ресурсов "rg" содержит коллекцию правил приложения с именем ruleCollectionName, приведенные выше команды изменят приоритет этой коллекции правил и обновят Брандмауэр Azure после этого. Без команды Set-AzFirewall все операции, выполняемые на локальном $azFw объекте, не отражаются на сервере.

2. Создание Брандмауэр Azure и настройка коллекции правил приложения позже

$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

В этом примере брандмауэр создается сначала без коллекций правил приложений. После создания правила приложения и коллекции правил приложений объект брандмауэра изменяется в памяти, не затрагивая реальную конфигурацию в облаке. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.

3. Обновление режима работы Intel угроз Брандмауэр Azure

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

В этом примере обновляется режим работы Threat Intel Брандмауэр Azure "AzureFirewall" в группе ресурсов "rg". Без команды Set-AzFirewall все операции, выполняемые на локальном $azFw объекте, не отражаются на сервере.

4. Освобождение и выделение брандмауэра

$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

Этот пример извлекает брандмауэр, освобождает брандмауэр и сохраняет его. Команда Deallocate удаляет запущенную службу, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Если пользователь хочет снова запустить службу, метод "Выделить" должен вызываться в брандмауэре. Новая виртуальная сеть и общедоступный IP-адрес должны находиться в той же группе ресурсов, что и брандмауэр. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.

5. Выделение с общедоступным IP-адресом управления для сценариев принудительного туннелирования

$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

В этом примере брандмауэр выделяется с общедоступным IP-адресом управления и подсетью для сценариев принудительного туннелирования. Виртуальная сеть должна содержать подсеть с именем AzureFirewallManagementSubnet.

6. Добавление общедоступного IP-адреса в Брандмауэр 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

В этом примере общедоступный IP-адрес azFwPublicIp1, присоединенный к брандмауэру.

7. Удаление общедоступного IP-адреса из Брандмауэр Azure

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

$azFw | Set-AzFirewall

В этом примере общедоступный IP-адрес azFwPublicIp1 отсоединяется от брандмауэра.

8. Изменение общедоступного IP-адреса управления на Брандмауэр 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

В этом примере общедоступный IP-адрес брандмауэра управления будет изменен на AzFwMgmtPublicIp2.

9. Добавление конфигурации DNS в Брандмауэр 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

В этом примере конфигурация DNS-прокси и DNS-сервера подключены к брандмауэру.

10. Обновление назначения существующего правила в коллекции правил приложений брандмауэра

$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

В этом примере обновляется назначение существующего правила в коллекции правил Брандмауэр Azure. Это позволяет автоматически обновлять правила при динамическом изменении IP-адресов.

11. Разрешить активный FTP на Брандмауэр Azure

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

$azFw | Set-AzFirewall

В этом примере активная FTP разрешена в брандмауэре.

12. Выделение и выделение брандмауэра из виртуального концентратора

$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

Этот пример извлекает брандмауэр концентратора, освобождает брандмауэр концентратора и сохраняет его. Команда Deallocate удаляет ссылку на виртуальный концентратор, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Метод "Выделить" назначает ссылку на виртуальный концентратор брандмауэру. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.

13. Включение ведения журнала потоков жира на Брандмауэр 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

В этом примере включение ведения журнала потока жира в брандмауэре включено.

14. Обновление Брандмауэр Azure категории "Стандартный" до "Премиум"

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

В этом примере выполняется обновление существующего брандмауэра Брандмауэр Azure уровня "Стандартный" до уровня "Премиум". Процесс обновления может занять несколько минут и не требует времени простоя службы. После успешного завершения обновления вы можете заменить выход из стандартной политики на premium.

15. Освобождение и выделение брандмауэра с Зоны доступности

$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

Этот пример извлекает брандмауэр, освобождает брандмауэр и сохраняет его. Команда Deallocate удаляет запущенную службу, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Если пользователь хочет снова запустить службу, но с Зоны доступности метод "Зоны" необходимо вызвать определение требуемого Зоны доступности в кавычках и разделять запятыми. Если Зоны доступности необходимо удалить, вместо этого необходимо добавить параметр $null. Наконец, метод Allocate должен вызываться в брандмауэре. Новая виртуальная сеть и общедоступный IP-адрес должны находиться в той же группе ресурсов, что и брандмауэр. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.

Параметры

-AsJob

Запуск командлета в фоновом режиме

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AzureFirewall

The AzureFirewall

Тип:PSAzureFirewall
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSAzureFirewall

Выходные данные

PSAzureFirewall