Блокировка сетевого трафика с помощью Диспетчера виртуальная сеть Azure в Azure PowerShell
В этой статье показано, как создать правило безопасности для блокировки исходящего сетевого трафика через порт 80 и 443, которые можно добавить в коллекции правил. Дополнительные сведения см. в разделе "Правила администратора безопасности".
Необходимые компоненты
Прежде чем приступить к настройке правил безопасности, убедитесь в следующих шагах:
- Вы понимаете каждый элемент в правиле администратора безопасности.
- Вы создали экземпляр Azure виртуальная сеть Manager.
- Для доступа к необходимым командлетам требуется установленная версия или более поздней версии
Az.Network
5.3.0
.
Создание конфигурации SecurityAdmin
Создайте новую конфигурацию SecurityAdmin с помощью New-AzNetworkManagerSecurityAdminConfiguration.
$config = @{ Name = 'SecurityConfig' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } $securityconfig = New-AzNetworkManagerSecurityAdminConfiguration @config
Сохраните сетевую группу в переменной с помощью Get-AzNetworkManagerGroup.
$ng = @{ Name = 'myNetworkGroup' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } $networkgroup = Get-AzNetworkManagerGroup @ng
Создайте элемент группы подключения, чтобы добавить сетевую группу в New-AzNetworkManagerSecurityGroupItem.
$gi = @{ NetworkGroupId = "$networkgroup.Id" } $groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkgroup.id
Создайте группу конфигурации и добавьте элемент группы из предыдущего шага.
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerSecurityGroupItem]]$configGroup = @() $configGroup.Add($groupItem) $configGroup = @($groupItem)
Создайте коллекцию правил администратора безопасности с помощью New-AzNetworkManagerSecurityAdminRuleCollection.
$collection = @{ Name = 'myRuleCollection' ResourceGroupName = 'myAVNMResourceGroup' NetworkManager = 'myAVNM' ConfigName = 'SecurityConfig' AppliesToGroup = "$configGroup" } $rulecollection = New-AzNetworkManagerSecurityAdminRuleCollection @collection -AppliesToGroup $configGroup
Определите переменные для префиксов исходного и целевого адресов с помощью New-AzNetworkManagerAddressPrefixItem.
$sourceip = @{ AddressPrefix = 'Internet' AddressPrefixType = 'ServiceTag' } $sourceprefix = New-AzNetworkManagerAddressPrefixItem @sourceip $destinationip = @{ AddressPrefix = '10.0.0.0/24' AddressPrefixType = 'IPPrefix' } $destinationprefix = New-AzNetworkManagerAddressPrefixItem @destinationip [System.Collections.Generic.List[string]]$sourcePortList = @() $sourcePortList.Add("65500”) [System.Collections.Generic.List[string]]$destinationPortList = @() $destinationPortList.Add("80”) $destinationPortList.Add("443”)
Создайте правило безопасности с помощью New-AzNetworkManagerSecurityAdminRule.
$rule = @{ Name = 'Block_HTTP_HTTPS' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' SecurityAdminConfigurationName = 'SecurityConfig' RuleCollectionName = 'myRuleCollection' Protocol = 'TCP' Access = 'Deny' Priority = '100' Direction = 'Outbound' SourceAddressPrefix = $sourceprefix SourcePortRange = $sourcePortList DestinationAddressPrefix = $destinationprefix DestinationPortRange = $destinationPortList } $securityrule = New-AzNetworkManagerSecurityAdminRule @rule
Фиксация развертывания
Зафиксируйте конфигурацию безопасности в целевых регионах с помощью Deploy-AzNetworkManagerCommit.
$regions = @("westus")
$deployment = @{
Name = 'myAVNM'
ResourceGroupName = 'myAVNMResourceGroup'
ConfigurationId = $configIds
TargetLocation = $regions
CommitType = 'SecurityAdmin'
}
Deploy-AzNetworkManagerCommit @deployment
Удаление конфигурации безопасности
Если вам больше не нужна конфигурация безопасности, убедитесь, что следующие критерии верны, чтобы можно было удалить саму конфигурацию безопасности:
- Ни в одном регионе не развернута ни одна конфигурация.
- Удалите все правила безопасности в коллекции правил, связанной с конфигурацией безопасности.
Удаление развертывания конфигурации безопасности
Удалите развертывание безопасности, развернув конфигурацию с помощью Deploy-AzNetworkManagerCommit.
[System.Collections.Generic.List[string]]$configIds = @()
[System.Collections.Generic.List[string]]$regions = @()
$regions.Add("westus")
$removedeployment = @{
Name = 'myAVNM'
ResourceGroupName = 'myAVNMResourceGroup'
ConfigurationId = $configIds
TargetLocation = $regions
CommitType = 'SecurityAdmin'
}
Deploy-AzNetworkManagerCommit @removedeployment
Удаление правил безопасности
Удалите правила безопасности с помощью Remove-AzNetworkManagerSecurityAdminRule.
$removerule = @{
Name = 'Block80'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRule @removerule
Удаление коллекций правил безопасности
$removecollection = @{
Name = 'myRuleCollection'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRuleCollection @removecollection
Удаление конфигурации
Удалите конфигурацию безопасности с помощью Remove-AzNetworkManagerSecurityAdminConfiguration.
$removeconfig = @{
Name = 'SecurityConfig'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
}
Remove-AzNetworkManagerSecurityAdminConfiguration @removeconfig
Следующие шаги
Дополнительные сведения о правилах администратора безопасности.