Netwerkverkeer blokkeren met Azure Virtual Network Manager - Azure PowerShell

Dit artikel laat zien hoe je een beveiligingsregel kunt maken om uitgaand netwerkverkeer naar poorten 80 en 443 te blokkeren, die je aan je regelcollecties kunt toevoegen. Zie Beveiligingsbeheerdersregels voor meer informatie.

Vereisten

Controleer de volgende stappen voordat u begint met het configureren van beveiligingsregels:

Maak de beveiligingsbeheerconfiguratie aan

Maak een beveiligingsadminconfiguratie aan door gebruik te maken van New-AzNetworkManagerSecurityAdminConfiguration. De configuratie bevat de regelverzamelingen en regels die je in de volgende secties aanmaakt.

$config = @{
    Name = 'SecurityConfig'
    ResourceGroupName = 'myAVNMResourceGroup'
    NetworkManagerName = 'myAVNM'
}
$securityconfig = New-AzNetworkManagerSecurityAdminConfiguration @config

Voeg de netwerkgroep toe aan een configuratiegroep

Een beveiligingsbeheerconfiguratie geldt voor één of meer netwerkgroepen. Deze stappen slaan de netwerkgroep op in een variabele en voegen deze toe aan een configuratiegroep.

  1. Sla de netwerkgroep op in een variabele door gebruik te maken van Get-AzNetworkManagerGroup.

    $ng = @{
        Name = 'myNetworkGroup'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
    }
    $networkgroup = Get-AzNetworkManagerGroup @ng   
    
  2. Maak een beveiligingsgroep-item aan voor de netwerkgroep door gebruik te maken van New-AzNetworkManagerSecurityGroupItem.

    $groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkgroup.id
    
  3. Maak een configuratiegroep en voeg het groepsitem toe uit de vorige stap.

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerSecurityGroupItem]]$configGroup = @()  
    $configGroup.Add($groupItem) 
    

Maak de regelcollectie aan

Maak een verzameling beveiligingsbeheerdersregelen aan door gebruik te maken van New-AzNetworkManagerSecurityAdminRuleCollection. De collectie geldt voor de configuratiegroep die je in de vorige sectie hebt aangemaakt.

$collection = @{
    Name = 'myRuleCollection'
    ResourceGroupName = 'myAVNMResourceGroup'
    NetworkManagerName = 'myAVNM'
    ConfigName = 'SecurityConfig'
}
$rulecollection = New-AzNetworkManagerSecurityAdminRuleCollection @collection -AppliesToGroup $configGroup

Maak de weigerregel voor poorten 80 en 443

Deze stappen definiëren de adresprefixen en poorten voor de regel, en maken vervolgens een regel genaamd Block_HTTP_HTTPS die uitgaand verkeer naar poorten 80 en 443 weigert.

  1. Definieer de bron- en bestemmingsadresprefixen en poorten door gebruik te maken van 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")
    
  2. Maak de beveiligingsregel door gebruik te maken van 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
    

Implementatie bevestigen

Voer de beveiligingsconfiguratie door in de doelregio's met behulp van Deploy-AzNetworkManagerCommit. Bouw de $configIds lijst op van de beveiligingsbeheerconfiguratie die je eerder hebt aangemaakt, en geef deze vervolgens door aan de commit.

[System.Collections.Generic.List[string]]$configIds = @()
$configIds.Add($securityconfig.Id)

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

Beveiligingsconfiguratie verwijderen

Als je de beveiligingsconfiguratie niet meer nodig hebt, zorg er dan voor dat de volgende criteria waar zijn zodat je de beveiligingsconfiguratie zelf kunt verwijderen:

  • Er zijn geen implementaties van configuraties naar een regio.
  • Verwijder alle beveiligingsregels in een regelverzameling die is gekoppeld aan de beveiligingsconfiguratie.

Implementatie van beveiligingsconfiguratie verwijderen

Verwijder de beveiligingsdeployment door een configuratie met Deploy-AzNetworkManagerCommitte implementeren.

[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

Beveiligingsregels verwijderen

Verwijder de beveiligingsregel die je eerder hebt gemaakt met behulp van Remove-AzNetworkManagerSecurityAdminRule.

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

Beveiligingsregelverzamelingen verwijderen

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

Configuratie verwijderen

Verwijder de beveiligingsconfiguratie met Remove-AzNetworkManagerSecurityAdminConfiguration.

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

Volgende stappen

Meer informatie over beveiligingsbeheerdersregels.