Creare un gruppo di sicurezza di rete (versione classica) con PowerShellCreate a network security group (classic) using PowerShell

È possibile usare un gruppo di sicurezza di rete per controllare il traffico verso una o più istanze di macchina virtuale, le istanze del ruolo, le schede di rete (NIC) o i subnet in una rete virtuale.You can use an NSG to control traffic to one or more virtual machines (VMs), role instances, network adapters (NICs), or subnets in your virtual network. Un NSG contiene le regole di controllo di accesso che consentono o negano il traffico in base alla direzione del traffico, al protocollo, all’indirizzo e alla porta di origine e all’indirizzo e alla porta di destinazione.An NSG contains access control rules that allow or deny traffic based on traffic direction, protocol, source address and port, and destination address and port. Le regole di un gruppo di sicurezza di rete possono essere modificate in qualsiasi momento e le modifiche vengono applicate a tutte le istanze associate.The rules of an NSG can be changed at any time, and changes are applied to all associated instances.

Per ulteriori informazioni su NSGs, visitare Informazioni su NSG.For more information about NSGs, visit what is an NSG.

Importante

Prima di iniziare a usare le risorse di Azure, è importante comprendere che Azure al momento offre due modelli di distribuzione, la distribuzione classica e Azure Resource Manager.Before you work with Azure resources, it's important to understand that Azure currently has two deployment models: Azure Resource Manager and classic. È importante comprendere i modelli e strumenti di distribuzione prima di lavorare con le risorse di Azure.Make sure you understand deployment models and tools before you work with any Azure resource. È possibile visualizzare la documentazione relativa a diversi strumenti facendo clic sulle schede nella parte superiore di questo articolo.You can view the documentation for different tools by clicking the tabs at the top of this article.

In questo articolo viene illustrato il modello di distribuzione classica.This article covers the classic deployment model. È inoltre possibile creare gruppi di sicurezza di rete nel modello di distribuzione di Gestione risorse.You can also create NSGs in the Resource Manager deployment model.

ScenarioScenario

Per illustrare meglio come creare un gruppo di sicurezza di rete, in questo documento verrà usato lo scenario seguente.To better illustrate how to create NSGs, this document uses the following scenario:

Scenario di una rete virtuale

In questo scenario si creerà un gruppo di sicurezza di rete per ogni subnet nella rete virtuale TestVNet, come illustrato di seguito:In this scenario, you create an NSG for each subnet in the TestVNet virtual network, as follows:

  • NSG-FrontEnd.NSG-FrontEnd. Il gruppo di sicurezza di rete front-end verrà applicato alla subnet FrontEnd e contiene due regole:The front-end NSG is applied to the FrontEnd subnet, and contains two rules:
    • regola-rdp.rdp-rule. Consente il traffico RDP verso la subnet FrontEnd.Allows RDP traffic to the FrontEnd subnet.
    • regola-web.web-rule. Consente il traffico HTTP verso la subnet FrontEnd.Allows HTTP traffic to the FrontEnd subnet.
  • Back-end di NSG.NSG-BackEnd. Il gruppo di sicurezza di rete back-end verrà applicato alla subnet BackEnd e contiene due regole:The back-end NSG is applied to the BackEnd subnet, and contains two rules:
    • regola sql.sql-rule. Consente il traffico SQL solo dalla subnet FrontEnd.Allows SQL traffic only from the FrontEnd subnet.
    • regola-web.web-rule. Nega tutto il traffico associato ad internet proveniente dalla subnet BackEnd.Denies all internet bound traffic from the BackEnd subnet.

La combinazione di queste regole crea uno scenario simile alla rete perimetrale, dove la subnet di back-end può solo ricevere traffico in ingresso per SQL dalla subnet front-end e non dispone dell'accesso a Internet, mentre la subnet front-end può comunicare con Internet e ricevere solo le richieste HTTP in ingresso.The combination of these rules create a DMZ-like scenario, where the back-end subnet can only receive incoming traffic for SQL from the front-end subnet, and has no access to the Internet, while the front-end subnet can communicate with the Internet, and receive incoming HTTP requests only.

I comandi di esempio PowerShell riportati di seguito prevedono un ambiente semplice già creato in base allo scenario precedente.The sample PowerShell commands below expect a simple environment already created based on the scenario above. Se si desidera eseguire i comandi illustrati in questo documento, creare prima di tutto l'ambiente di testing creando una rete virtuale.If you want to run the commands as they are displayed in this document, first build the test environment by creating a VNet.

Creare un gruppo di sicurezza di rete per la subnet front-endCreate an NSG for the front-end subnet

  1. Se si usa Azure PowerShell per la prima volta, vedere Come installare e configurare Azure PowerShell.If you have never used Azure PowerShell, see How to Install and Configure Azure PowerShell.

  2. Creare un gruppo di sicurezza di rete denominato NSG-FrontEnd:Create a network security group named NSG-FrontEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" -Location uswest `
      -Label "Front end subnet NSG"
    
  3. Creare una regola di sicurezza che consente l'accesso alla porta 3389 da Internet:Create a security rule allowing access from the internet to port 3389:

    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. Creare una regola di sicurezza che consente l'accesso alla porta 80 da Internet:Create a security rule allowing access from the internet to port 80:

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name web-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 200 `
      -SourceAddressPrefix Internet  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '80'
    

Creare un gruppo di sicurezza di rete per la subnet back-endCreate an NSG for the back-end subnet

  1. Creare un gruppo di sicurezza di rete denominato NSG-BackEnd:Create a network security group named NSG-BackEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-BackEnd" -Location uswest `
      -Label "Back end subnet NSG"
    
  2. Creare una regola di sicurezza che consente l'accesso dalla subnet front-end alla porta 1433 (porta predefinita usata da SQL Server):Create a security rule allowing access from the front-end subnet to port 1433 (default port used by SQL Server):

    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. Creare una regola di sicurezza che blocca l'accesso a Internet dalla subnet:Create a security rule blocking access from the subnet to the internet:

    Get-AzureNetworkSecurityGroup -Name "NSG-BackEnd" `
      | Set-AzureNetworkSecurityRule -Name block-internet `
      -Action Deny -Protocol '*' -Type Outbound -Priority 200 `
      -SourceAddressPrefix '*'  -SourcePortRange '*' `
      -DestinationAddressPrefix Internet -DestinationPortRange '*'