Comment bloquer le trafic réseau avec Azure Virtual Network Manager : Azure PowerShell
Cet article explique comment créer une règle de sécurité pour bloquer le trafic réseau entrant sur les ports 80 et 443 que vous pouvez ajouter à une collection de règles. Pour plus d’informations, consultez Règles d’administration de la sécurité.
Prérequis
Avant de commencer la configuration des règles de sécurité, procédez comme suit :
- Vous comprenez chaque élément dans une règle d’administration de la sécurité.
- Vous avez créé une instance Azure Virtual Network Manager.
- La version installée de
Az.Network
de5.3.0
ou une version ultérieure est requise pour accéder aux cmdlets requises.
Créer une configuration SecurityAdmin
Créez une nouvelle configuration SecurityAdmin New-AzNetworkManagerSecurityAdminConfiguration.
$config = @{ Name = 'SecurityConfig' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } $securityconfig = New-AzNetworkManagerSecurityAdminConfiguration @config
Stockez le groupe réseau sur une variable avec la fonction Get-AzNetworkManagerGroup.
$ng = @{ Name = 'myNetworkGroup' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } $networkgroup = Get-AzNetworkManagerGroup @ng
Créez un élément de groupe de connectivité pour ajouter un groupe de réseaux à avec New-AzNetworkManagerSecurityGroupItem.
$gi = @{ NetworkGroupId = "$networkgroup.Id" } $groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkgroup.id
Créez un groupe de configurations et ajoutez l’élément de groupe à partir de l’étape précédente.
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerSecurityGroupItem]]$configGroup = @() $configGroup.Add($groupItem) $configGroup = @($groupItem)
Créez une collection de règles d’administration de la sécurité avec New-AzNetworkManagerSecurityAdminRuleCollection.
$collection = @{ Name = 'myRuleCollection' ResourceGroupName = 'myAVNMResourceGroup' NetworkManager = 'myAVNM' ConfigName = 'SecurityConfig' AppliesToGroup = "$configGroup" } $rulecollection = New-AzNetworkManagerSecurityAdminRuleCollection @collection -AppliesToGroup $configGroup
Définissez les variables pour les préfixes d’adresse source et de destination et les ports avec 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”)
Créez une règle de sécurité avec 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
Valider le déploiement
Validez la configuration de sécurité dans les régions cibles avec Deploy-AzNetworkManagerCommit.
$regions = @("westus")
$deployment = @{
Name = 'myAVNM'
ResourceGroupName = 'myAVNMResourceGroup'
ConfigurationId = $configIds
TargetLocation = $regions
CommitType = 'SecurityAdmin'
}
Deploy-AzNetworkManagerCommit @deployment
Supprimer une configuration de la sécurité
Si vous n’avez plus besoin de la configuration de sécurité, assurez-vous que les critères suivants sont vrais avant de pouvoir supprimer la configuration de sécurité elle-même :
- Il n’existe aucun déploiement de configurations dans une région.
- Supprimez toutes les règles de sécurité dans une collection de règles associée à la configuration de sécurité.
Supprimer le déploiement de la configuration de sécurité
Supprimez le déploiement de la sécurité en déployant une configuration vide avec 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
Supprimer des règles de sécurité
Supprimez une règle de sécurité avec Remove-AzNetworkManagerSecurityAdminRule.
$removerule = @{
Name = 'Block80'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRule @removerule
Supprimer des collections de règles de sécurité
$removecollection = @{
Name = 'myRuleCollection'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRuleCollection @removecollection
Supprimer la configuration
Supprimez la configuration de sécurité avec New-AzNetworkManagerSecurityAdminConfiguration.
$removeconfig = @{
Name = 'SecurityConfig'
ResourceGroupName = 'myAVNMResourceGroup'
NetworkManagerName = 'myAVNM'
}
Remove-AzNetworkManagerSecurityAdminConfiguration @removeconfig
Étapes suivantes
En savoir plus sur les Règles d’administration de la sécurité.