Erstellen einer Netzwerksicherheitsgruppe (klassisch) mithilfe von PowerShell

Sie können eine Netzwerksicherheitsgruppe (NSG) verwenden, um in Ihrem virtuellen Netzwerk eingehenden Datenverkehr für virtuelle Computer, Rolleninstanzen, Netzwerkkarten (NICs) oder Subnetze zu steuern. Eine NSG enthält Regeln zur Zugriffssteuerung, die den Datenverkehr auf Grundlage der Richtung des Datenverkehrs, des Protokolls, der Quelladresse und des Quellports, und der Zieladresse und des Zielports zulässt oder verweigert. Die Regeln für eine NSG können jederzeit geändert werden, und die Änderungen werden auf alle zugeordneten Instanzen angewendet.

Weitere Informationen zu NSGs finden Sie unter Was ist eine NSG.

Wichtig

Bevor Sie mit Azure-Ressourcen arbeiten, sollten Sie wissen, dass Azure derzeit über zwei Bereitstellungsmodelle verfügt: die Bereitstellung mit dem Azure Resource Manager und die klassische Bereitstellung. Stellen Sie sicher, dass Sie die Bereitstellungsmodelle und -tools verstanden haben, bevor Sie mit Azure-Ressouren arbeiten. Zum Anzeigen der Dokumentation für verschiedene Tools klicken Sie auf die Registerkarten oben in diesem Artikel.

Dieser Artikel gilt für das klassische Bereitstellungsmodell. Sie können NSGs auch im Ressourcen-Manager-Bereitstellungsmodell erstellen.

Szenario

Um zu veranschaulichen, wie Sie NSGs erstellen, wird in diesem Dokument das folgende Szenario verwendet:

VNet-Szenario

In diesem Szenario erstellen Sie wie folgt eine NSG für jedes Subnetz im virtuellen Netzwerk TestVNet:

  • NSG-FrontEnd. Die Front-End-NSG wird auf das Subnetz FrontEnd angewandt und enthält zwei Regeln:
    • rdp-rule. Ermöglicht RDP-Datenverkehr in das Subnetz FrontEnd.
    • web-rule. Ermöglicht HTTP-Datenverkehr in das Subnetz FrontEnd.
  • NSG-BackEnd. Die Back-End-NSG wird auf das Subnetz BackEnd angewandt und enthält zwei Regeln:
    • sql-rule. SQL-Datenverkehr ist nur aus dem Subnetz FrontEnd zulässig.
    • web-rule. Verweigert den gesamten Internetdatenverkehr aus dem Subnetz BackEnd.

Durch die Kombination dieser Regeln wird ein DMZ-ähnliches Szenario erstellt, in dem das Back-End-Subnetz nur eingehenden Datenverkehr für SQL aus dem Front-End-Subnetz empfangen kann und keinen Zugriff auf das Internet hat, während das Front-End-Subnetz mit dem Internet kommunizieren und nur eingehende HTTP-Anforderungen empfangen kann.

Die folgenden Beispielbefehle für PowerShell setzen voraus, dass bereits eine einfache Umgebung erstellt wurde, die auf dem zuvor beschriebenen Szenario basiert. Wenn Sie die in diesem Dokument aufgeführten Befehle ohne Veränderungen ausführen möchten, erstellen Sie zunächst eine Testumgebung, indem Sie ein VNet erstellen.

Erstellen einer NSG für das Front-End-Subnetz

  1. Wenn Sie Azure PowerShell zum ersten Mal verwenden, folgen Sie den Anweisungen unter Installieren und Konfigurieren von Azure PowerShell.

  2. Erstellen Sie eine Netzwerksicherheitsgruppe mit dem Namen NSG-FrontEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" -Location uswest `
      -Label "Front end subnet NSG"
    
  3. Erstellen Sie eine Sicherheitsregel, die den Zugriff über das Internet auf Port 3389 zulässt:

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name rdp-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 100 `
      -SourceAddressPrefix Internet  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '3389'
    
  4. Erstellen Sie eine Sicherheitsregel, die den Zugriff über das Internet auf Port 80 zulässt:

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name web-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 200 `
      -SourceAddressPrefix Internet  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '80'
    
  5. Zuordnen der Netzwerksicherheitsgruppe zu einem Subnetz:

    Get-AzureNetworkSecurityGroup -Name "NSG-Frontend" `
    | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName "TestVNet" `
    -Subnet "FrontEnd"
    

Erstellen einer NSG für das Back-End-Subnetz

  1. Erstellen Sie eine Netzwerksicherheitsgruppe mit dem Namen NSG-BackEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-BackEnd" -Location uswest `
      -Label "Back end subnet NSG"
    
  2. Erstellen Sie eine Sicherheitsregel, die den Zugriff aus dem Front-End-Subnetz auf Port 1433 zulässt (von SQL Server verwendeter Standardport):

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name rdp-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 100 `
      -SourceAddressPrefix 192.168.1.0/24  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '1433'
    
  3. Erstellen Sie eine Sicherheitsregel, die den Zugriff aus dem Subnetz auf das Internet blockiert:

    Get-AzureNetworkSecurityGroup -Name "NSG-BackEnd" `
      | Set-AzureNetworkSecurityRule -Name block-internet `
      -Action Deny -Protocol '*' -Type Outbound -Priority 200 `
      -SourceAddressPrefix '*'  -SourcePortRange '*' `
      -DestinationAddressPrefix Internet -DestinationPortRange '*'
    
  4. Zuordnen der Netzwerksicherheitsgruppe zu einem Subnetz:

    Get-AzureNetworkSecurityGroup -Name "NSG-Backend" `
    | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName "TestVNet" `
    -Subnet "BackEnd"