Creare i gruppi di sicurezza di rete usando l'interfaccia della riga di comando 1.0 di Azure

Versioni dell'interfaccia della riga di comando per completare l'attività

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:

È 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. 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. 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.

Per ulteriori informazioni su NSGs, visitare Informazioni su 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. È importante comprendere i modelli e strumenti di distribuzione prima di lavorare con le risorse di Azure. È possibile visualizzare la documentazione relativa a diversi strumenti facendo clic sulle schede nella parte superiore di questo articolo.

Questo articolo illustra il modello di distribuzione Gestione risorse. È anche possibile creare gruppi di sicurezza di rete con il modello di distribuzione classica.

Scenario

Per illustrare meglio come creare un NSG, in questo documento verrà utilizzato lo scenario seguente.

Scenario di una rete virtuale

In questo scenario si creerà un NSG per ogni subnet nella rete virtuale TestVNet , come illustrato di seguito:

  • NSG-FrontEnd. Il front-end NSG verrà applicato per il subnet front-end , e contiene due regole:
    • regola-rdp. Questa regola consente il traffico RDP verso il subnet front-end .
    • regola-web. Questa regola consente il traffico HTTP verso il subnet front-end .
  • Back-end di NSG. Il back-end NSG verrà applicato per il subnet back-end , e contiene due regole:
    • regola sql. Questa regola consente il traffico SQL solo dal subnet front-end .
    • regola-web. Questa regola nega tutto il traffico associato ad internet proveniente dal subnet back-end .

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.

I comandi di esempio dell'interfaccia della riga di comando di Azure riportati di seguito prevedono un ambiente semplice già creato in base allo scenario precedente.

Come creare il gruppo di sicurezza di rete per la subnet front-end

Per creare un gruppo di sicurezza di rete denominato NSG-FrontEnd in base allo scenario precedente, seguire questa procedura.

  1. Se l'interfaccia della riga di comando di Azure non è mai stata usata, vedere Installare e configurare l'interfaccia della riga di comando di Azure e seguire le istruzioni fino al punto in cui si selezionano l'account e la sottoscrizione di Azure.
  2. Eseguire il comando azure config mode per passare alla modalità Gestione risorse, come illustrato di seguito.

     azure config mode arm
    

    Output previsto:

     info:    New mode is arm
    
  3. Eseguire il comando azure network nsg create per creare un gruppo di sicurezza di rete.

     azure network nsg create -g TestRG -l westus -n NSG-FrontEnd
    

    Output previsto:

     info:    Executing command network nsg create
     info:    Looking up the network security group "NSG-FrontEnd"
     info:    Creating a network security group "NSG-FrontEnd"
     info:    Looking up the network security group "NSG-FrontEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkSecurityGroups/NSG-FrontEnd
     data:    Name                            : NSG-FrontEnd
     data:    Type                            : Microsoft.Network/networkSecurityGroups
     data:    Location                        : westus
     data:    Provisioning state              : Succeeded
     data:    Security group rules:
     data:    Name                           Source IP          Source Port  Destination IP  Destination Port  Protocol  Direction  Access  Priority
     data:    -----------------------------  -----------------  -----------  --------------  ----------------  --------  ---------  ------  --------
     data:    AllowVnetInBound               VirtualNetwork     *            VirtualNetwork  *                 *         Inbound    Allow   65000   
     data:    AllowAzureLoadBalancerInBound  AzureLoadBalancer  *            *               *                 *         Inbound    Allow   65001   
     data:    DenyAllInBound                 *                  *            *               *                 *         Inbound    Deny    65500   
     data:    AllowVnetOutBound              VirtualNetwork     *            VirtualNetwork  *                 *         Outbound   Allow   65000   
     data:    AllowInternetOutBound          *                  *            Internet        *                 *         Outbound   Allow   65001   
     data:    DenyAllOutBound                *                  *            *               *                 *         Outbound   Deny    65500   
     info:    network nsg create command OK
    

    Parametri

    • -g (o --resource-group). Nome del gruppo di risorse in cui verrà creato il gruppo di sicurezza di rete. Per questo scenario, TestRG.
    • -l (o --location). Area di Azure in cui verrà creato il nuovo gruppo di sicurezza di rete. Per questo scenario, westus.
    • -n (o --name). Nome per il nuovo gruppo di sicurezza di rete. Per questo scenario, NSG-FrontEnd.
  4. Eseguire il comando azure network nsg rule create per creare una regola che consenta l'accesso alla porta 3389 (RDP) da Internet.

     azure network nsg rule create -g TestRG -a NSG-FrontEnd -n rdp-rule -c Allow -p Tcp -r Inbound -y 100 -f Internet -o * -e * -u 3389
    

    Output previsto:

     info:    Executing command network nsg rule create
     warn:    Using default direction: Inbound
     info:    Looking up the network security rule "rdp-rule"
     info:    Creating a network security rule "rdp-rule"
     info:    Looking up the network security group "NSG-FrontEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkSecurityGroups/NSG-FrontEnd/securityRules/rdp
     -rule
     data:    Name                            : rdp-rule
     data:    Type                            : Microsoft.Network/networkSecurityGroups/securityRules
     data:    Provisioning state              : Succeeded
     data:    Source IP                       : Internet
     data:    Source Port                     : *
     data:    Destination IP                  : *
     data:    Destination Port                : 3389
     data:    Protocol                        : Tcp
     data:    Direction                       : Inbound
     data:    Access                          : Allow
     data:    Priority                        : 100
     info:    network nsg rule create command OK
    

    Parametri

    • -a (o --nsg-name). Nome del gruppo di sicurezza di rete in cui verrà creata la regola. Per questo scenario, NSG-FrontEnd.
    • -n (o --name). Nome per la nuova regola. Per questo scenario, rdp-rule.
    • -c (o --access). Livello di accesso per la regola (Deny o Allow).
    • -p (o --protocol). Protocollo (Tcp, Udp o *) per la regola.
    • -r (o--direction). Direzione di connessione (Inbound o Outbound).
    • -y (o --priority). Priorità per la regola.
    • -f (o --source-address-prefix). Prefisso dell'indirizzo di origine in CIDR o con tag predefiniti.
    • -o (o --source-port-range). Porta o intervallo di porte di origine.
    • -e (o --destination-address-prefix). Prefisso dell'indirizzo di destinazione in CIDR o con tag predefiniti.
    • -u (o --destination-port-range). Porta o intervallo di porte di destinazione.
  5. Eseguire il comando azure network nsg rule create per creare una regola che consenta l'accesso alla porta 80 (HTTP) da Internet.

     azure network nsg rule create -g TestRG -a NSG-FrontEnd -n web-rule -c Allow -p Tcp -r Inbound -y 200 -f Internet -o * -e * -u 80
    

    Output previsto:

     info:    Executing command network nsg rule create
     info:    Looking up the network security rule "web-rule"
     info:    Creating a network security rule "web-rule"
     info:    Looking up the network security group "NSG-FrontEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     networkSecurityGroups/NSG-FrontEnd/securityRules/web-rule
     data:    Name                            : web-rule
     data:    Type                            : Microsoft.Network/networkSecurityGroups/securityRules
     data:    Provisioning state              : Succeeded
     data:    Source IP                       : Internet
     data:    Source Port                     : *
     data:    Destination IP                  : *
     data:    Destination Port                : 80
     data:    Protocol                        : Tcp
     data:    Direction                       : Inbound
     data:    Access                          : Allow
     data:    Priority                        : 200
     info:    network nsg rule create command OK
    
  6. Eseguire il comando azure network vnet subnet set per collegare il gruppo di sicurezza di rete alla subnet front-end.

     azure network vnet subnet set -g TestRG -e TestVNet -n FrontEnd -o NSG-FrontEnd
    

    Output previsto:

     info:    Executing command network vnet subnet set
     info:    Looking up the subnet "FrontEnd"
     info:    Looking up the network security group "NSG-FrontEnd"
     info:    Setting subnet "FrontEnd"
     info:    Looking up the subnet "FrontEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     virtualNetworks/TestVNet/subnets/FrontEnd
     data:    Type                            : Microsoft.Network/virtualNetworks/subnets
     data:    ProvisioningState               : Succeeded
     data:    Name                            : FrontEnd
     data:    Address prefix                  : 192.168.1.0/24
     data:    Network security group          : [object Object]
     data:    IP configurations:
     data:      /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkInterfaces/TestNICWeb2/ip
     Configurations/ipconfig1
     data:      /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkInterfaces/TestNICWeb1/ip
     Configurations/ipconfig1
     data:    
     info:    network vnet subnet set command OK
    

Come creare il gruppo di sicurezza di rete per la subnet back-end

Per creare un gruppo di sicurezza di rete denominato NSG-BackEnd in base allo scenario precedente, seguire questa procedura.

  1. Eseguire il comando azure network nsg create per creare un gruppo di sicurezza di rete.

     azure network nsg create -g TestRG -l westus -n NSG-BackEnd
    

    Output previsto:

     info:    Executing command network nsg create
     info:    Looking up the network security group "NSG-BackEnd"
     info:    Creating a network security group "NSG-BackEnd"
     info:    Looking up the network security group "NSG-BackEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     networkSecurityGroups/NSG-BackEnd
     data:    Name                            : NSG-BackEnd
     data:    Type                            : Microsoft.Network/networkSecurityGroups
     data:    Location                        : westus
     data:    Provisioning state              : Succeeded
     data:    Security group rules:
     data:    Name                           Source IP          Source Port  Destination IP  Destination Port  Protocol  Direction  Access  Priority
     data:    -----------------------------  -----------------  -----------  --------------  ----------------  --------  ---------  ------  --------
     data:    AllowVnetInBound               VirtualNetwork     *            VirtualNetwork  *                 *         Inbound    Allow   65000   
     data:    AllowAzureLoadBalancerInBound  AzureLoadBalancer  *            *               *                 *         Inbound    Allow   65001   
     data:    DenyAllInBound                 *                  *            *               *                 *         Inbound    Deny    65500   
     data:    AllowVnetOutBound              VirtualNetwork     *            VirtualNetwork  *                 *         Outbound   Allow   65000   
     data:    AllowInternetOutBound          *                  *            Internet        *                 *         Outbound   Allow   65001   
     data:    DenyAllOutBound                *                  *            *               *                 *         Outbound   Deny    65500   
     info:    network nsg create command OK
    
  2. Eseguire il comando azure network nsg rule create per creare una regola che consenta l'accesso alla porta 1433 (SQL) dalla subnet front-end.

     azure network nsg rule create -g TestRG -a NSG-BackEnd -n sql-rule -c Allow -p Tcp -r Inbound -y 100 -f 192.168.1.0/24 -o * -e * -u 1433
    

    Output previsto:

     info:    Executing command network nsg rule create
     info:    Looking up the network security rule "sql-rule"
     info:    Creating a network security rule "sql-rule"
     info:    Looking up the network security group "NSG-BackEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     networkSecurityGroups/NSG-BackEnd/securityRules/sql-rule
     data:    Name                            : sql-rule
     data:    Type                            : Microsoft.Network/networkSecurityGroups/securityRules
     data:    Provisioning state              : Succeeded
     data:    Source IP                       : 192.168.1.0/24
     data:    Source Port                     : *
     data:    Destination IP                  : *
     data:    Destination Port                : 1433
     data:    Protocol                        : Tcp
     data:    Direction                       : Inbound
     data:    Access                          : Allow
     data:    Priority                        : 100
     info:    network nsg rule create command OK
    
  3. Eseguire il comando azure network nsg rule create per creare una regola che neghi l'accesso a Internet.

     azure network nsg rule create -g TestRG -a NSG-BackEnd -n web-rule -c Deny -p * -r Outbound -y 200 -f * -o * -e Internet -u *
    

    Output previsto:

     info:    Executing command network nsg rule create
     info:    Looking up the network security rule "web-rule"
     info:    Creating a network security rule "web-rule"
     info:    Looking up the network security group "NSG-BackEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     networkSecurityGroups/NSG-BackEnd/securityRules/web-rule
     data:    Name                            : web-rule
     data:    Type                            : Microsoft.Network/networkSecurityGroups/securityRules
     data:    Provisioning state              : Succeeded
     data:    Source IP                       : *
     data:    Source Port                     : *
     data:    Destination IP                  : Internet
     data:    Destination Port                : *
     data:    Protocol                        : *
     data:    Direction                       : Outbound
     data:    Access                          : Deny
     data:    Priority                        : 200
     info:    network nsg rule create command OK
    
  4. Eseguire il comando azure network vnet subnet set per collegare il gruppo di sicurezza di rete alla subnet back-end.

     azure network vnet subnet set -g TestRG -e TestVNet -n BackEnd -o NSG-BackEnd
    

    Output previsto:

     info:    Executing command network vnet subnet set
     info:    Looking up the subnet "BackEnd"
     info:    Looking up the network security group "NSG-BackEnd"
     info:    Setting subnet "BackEnd"
     info:    Looking up the subnet "BackEnd"
     data:    Id                              : /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/
     virtualNetworks/TestVNet/subnets/BackEnd
     data:    Type                            : Microsoft.Network/virtualNetworks/subnets
     data:    ProvisioningState               : Succeeded
     data:    Name                            : BackEnd
     data:    Address prefix                  : 192.168.2.0/24
     data:    Network security group          : [object Object]
     data:    IP configurations:
     data:      /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkInterfaces/TestNICSQL1/ip
     Configurations/ipconfig1
     data:      /subscriptions/628dad04-b5d1-4f10-b3a4-dc61d88cf97c/resourceGroups/TestRG/providers/Microsoft.Network/networkInterfaces/TestNICSQL2/ip
     Configurations/ipconfig1
     data:    
     info:    network vnet subnet set command OK