Blockieren von Netzwerkverkehr mit Azure Virtual Network Manager – Azure PowerShell

Dieser Artikel zeigt Ihnen, wie Sie eine Sicherheitsregel erstellen, um ausgehenden Netzwerkverkehr zu den Ports 80 und 443 zu blockieren, die Sie Ihren Regelsammlungen hinzufügen können. Weitere Informationen finden Sie unter Sicherheitsverwaltungsregeln.

Voraussetzungen

Bevor Sie mit der Konfiguration von Sicherheitsregeln beginnen, sollten Sie die folgenden Schritte bestätigen:

Erstellen Sie die Sicherheitsadministrator-Konfiguration

Erstellen Sie eine Sicherheitsadministrator-Konfiguration mit New-AzNetworkManagerSecurityAdminConfiguration. Die Konfiguration enthält die Regelsammlungen und Regeln, die du in den folgenden Abschnitten erstellst.

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

Füge die Netzwerkgruppe einer Konfigurationsgruppe hinzu

Eine Sicherheitsadministrator-Konfiguration gilt für eine oder mehrere Netzwerkgruppen. Diese Schritte speichern die Netzwerkgruppe in einer Variablen und fügen sie einer Konfigurationsgruppe hinzu.

  1. Speichert die Netzwerkgruppe in einer Variablen mit Get-AzNetworkManagerGroup.

    $ng = @{
        Name = 'myNetworkGroup'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
    }
    $networkgroup = Get-AzNetworkManagerGroup @ng   
    
  2. Erstellen Sie ein Sicherheitsgruppenelement für die Netzwerkgruppe mit New-AzNetworkManagerSecurityGroupItem.

    $groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkgroup.id
    
  3. Erstellen Sie eine Konfigurationsgruppe und fügen Sie das Gruppenelement aus dem vorherigen Schritt hinzu.

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

Erstellen Sie die Regelsammlung

Erstellen Sie eine Sammlung von Sicherheits-Admin-Regeln mit New-AzNetworkManagerSecurityAdminRuleCollection. Die Sammlung gilt für die Konfigurationsgruppe, die du im vorherigen Abschnitt erstellt hast.

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

Erstelle die Ablehnungsregel für die Ports 80 und 443

Diese Schritte definieren die Adresspräfixe und Ports der Regel und erstellen dann eine Regel mit dem Namen Block_HTTP_HTTPS , die ausgehenden Verkehr an die Ports 80 und 443 ablehnt.

  1. Definiere die Präfixe und Ports der Quell- und Zieladresse mit 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. Erstellen Sie die Sicherheitsregel mit 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
    

Bereitstellung bestätigen

Übertragen Sie die Sicherheitskonfiguration mithilfe von Deploy-AzNetworkManagerCommit in die Zielregionen. Erstelle die $configIds Liste aus der zuvor erstellten Sicherheitsadministrator-Konfiguration und gib sie dann an den Commit weiter.

[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 

Sicherheitskonfiguration löschen

Wenn Sie die Sicherheitskonfiguration nicht mehr benötigen, stellen Sie sicher, dass die folgenden Kriterien gelten, damit Sie die Sicherheitskonfiguration selbst löschen können:

  • Es gibt keine Bereitstellungen von Konfigurationen in irgendeiner Region.
  • Löschen aller Sicherheitsregeln in einer Regelsammlung, die mit der Sicherheitskonfiguration verknüpft ist.

Einsatz der Sicherheitskonfiguration entfernen

Entfernen Sie die Sicherheitsbereitstellung, indem Sie eine Konfiguration mit Deploy-AzNetworkManagerCommit bereitstellen.

[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

Sicherheitsregeln entfernen

Entfernen Sie die zuvor erstellte Sicherheitsregel mit Remove-AzNetworkManagerSecurityAdminRule.

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

Sammlungen von Sicherheitsregeln entfernen

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

Konfiguration löschen

Lösche die Sicherheitskonfiguration mit Remove-AzNetworkManagerSecurityAdminConfiguration.

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

Nächste Schritte

Erfahren Sie mehr über Sicherheitsverwaltungsregeln.