Bloqueo del tráfico de red con Azure Virtual Network Manager: Azure PowerShell

En este artículo se muestra cómo crear una regla de seguridad para bloquear el tráfico de red saliente para los puertos 80 y 443 que puede agregar a las colecciones de reglas. Para más información, consulte Reglas de administración de seguridad.

Importante

Azure Virtual Network Manager está disponible con carácter general para Virtual Network Manager, para las configuraciones de conectividad en estrella tipo hub-and-spoke y para las configuraciones de seguridad con reglas de administración de seguridad. Las configuraciones de conectividad de malla permanecen en versión preliminar pública.

Esta versión preliminar se ofrece sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Requisitos previos

Antes de empezar a configurar reglas de seguridad, confirme los pasos siguientes:

Creación de una configuración de SecurityAdmin

  1. Cree una nueva configuración de SecurityAdmin con New-AzNetworkManagerSecurityAdminConfiguration.

    $config = @{
        Name = 'SecurityConfig'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
    }
    $securityconfig = New-AzNetworkManagerSecurityAdminConfiguration @config
    
    
  2. Almacene el grupo de red en una variable con Get-AzNetworkManagerGroup.

    $ng = @{
        Name = 'myNetworkGroup'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
    }
    $networkgroup = Get-AzNetworkManagerGroup @ng   
    
  3. Cree un elemento de grupo de conectividad al que agregar un grupo de red con New-AzNetworkManagerSecurityGroupItem.

    $gi = @{
        NetworkGroupId = "$networkgroup.Id"
    }
    
    $groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkgroup.id
    
  4. Cree un grupo de configuración y agregue el elemento de grupo del paso anterior.

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerSecurityGroupItem]]$configGroup = @()  
    $configGroup.Add($groupItem) 
    
    $configGroup = @($groupItem)
    
  5. Cree una colección de reglas de administración de seguridad con New-AzNetworkManagerSecurityAdminRuleCollection.

    $collection = @{
        Name = 'myRuleCollection'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManager = 'myAVNM'
        ConfigName = 'SecurityConfig'
        AppliesToGroup = "$configGroup"
    }
    $rulecollection = New-AzNetworkManagerSecurityAdminRuleCollection @collection -AppliesToGroup $configGroup
    
  6. Defina las variables para los puertos y prefijos de dirección de origen y destino con 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”)
    
  7. Cree una regla de seguridad con 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
    

Confirmación de la implementación

Confirme la configuración de seguridad en las regiones de destino con Deploy-AzNetworkManagerCommit.

$regions = @("westus")
$deployment = @{
    Name = 'myAVNM'
    ResourceGroupName = 'myAVNMResourceGroup'
    ConfigurationId = $configIds
    TargetLocation = $regions
    CommitType = 'SecurityAdmin'
}
Deploy-AzNetworkManagerCommit @deployment 

Eliminación de la configuración de seguridad

Si ya no necesita la configuración de seguridad, asegúrese de que se cumplen los siguientes criterios para poder eliminar la propia configuración de seguridad:

  • No hay implementaciones de configuraciones en ninguna región.
  • Elimine todas las reglas de seguridad de una colección de reglas asociada a la configuración de seguridad.

Eliminación de la implementación de configuración de seguridad

Quite la implementación de seguridad mediante la implementación de una configuración con 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

Eliminación de reglas de seguridad

Quite las reglas de seguridad con Remove-AzNetworkManagerSecurityAdminRule.

$removerule = @{
    Name = 'Block80'
    ResourceGroupName = 'myAVNMResourceGroup'
    NetworkManagerName = 'myAVNM'
    SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRule @removerule

Eliminación de colecciones de reglas de seguridad

$removecollection = @{
    Name = 'myRuleCollection'
    ResourceGroupName = 'myAVNMResourceGroup'
    NetworkManagerName = 'myAVNM'
    SecurityAdminConfigurationName = 'SecurityConfig'
}
Remove-AzNetworkManagerSecurityAdminRuleCollection @removecollection

Eliminar configuración

Elimine la configuración de seguridad con Remove-AzNetworkManagerSecurityAdminConfiguration.

$removeconfig = @{
    Name = 'SecurityConfig'
    ResourceGroupName = 'myAVNMResourceGroup'
    NetworkManagerName = 'myAVNM'
}
Remove-AzNetworkManagerSecurityAdminConfiguration @removeconfig

Pasos siguientes

Obtenga más información sobre las reglas de administración de seguridad.