Creación de un grupo de seguridad de red (clásico) mediante PowerShell

Puede usar un grupo de seguridad de red para controlar el tráfico a una o más máquinas virtuales, instancias de rol, adaptadores de red o subredes de su red virtual. Un grupo de seguridad de red contiene reglas de control de acceso que permitan o denieguen el tráfico según la dirección del tráfico, el protocolo, la dirección de origen y el puerto, y la dirección de destino y el puerto. Las reglas de un grupo de seguridad de red pueden cambiarse en cualquier momento; los cambios se aplican a todas las instancias asociadas.

Para obtener más información sobre NSG, visite ¿Qué es un NSG.

Importante

Antes de trabajar con recursos de Azure, es importante comprender que Azure tiene actualmente dos modelos de implementación: Azure Resource Manager y el clásico. Asegúrese de que comprende los modelos de implementación y las herramientas antes de trabajar con recursos de Azure. Puede ver la documentación de las distintas herramientas haciendo clic en las fichas en la parte superior de este artículo.

Este artículo trata sobre el modelo de implementación clásico. También puede crear grupos de seguridad de red con el modelo de implementación del Administrador de recursos.

Escenario

Para ilustrar mejor cómo crear grupos de seguridad de red, en este documento se usará el siguiente escenario:

Escenario de red virtual

En este escenario, creará un grupo de seguridad de red para cada subred de la red virtual TestVNet, tal y como se describe a continuación:

  • NSG-FrontEnd. El grupo de seguridad de red de front-end se aplicará a la subred FrontEnd y contiene dos reglas:
    • rdp-rule. Permite el tráfico RDP a la subred FrontEnd.
    • web-rule. Permite el tráfico HTTP a la subred FrontEnd.
  • NSG-BackEnd. El grupo de seguridad de red de back-end se aplicará a la subred BackEnd y contiene dos reglas:
    • sql-rule. Permite el tráfico SQL tan solo desde la subred FrontEnd.
    • web-rule. Deniega todo el tráfico ligado a Internet de la subred BackEnd.

La combinación de estas reglas crea un escenario similar a DMZ, donde la subred de back-end solo puede recibir tráfico entrante para SQL de la subred de front-end y no tiene acceso a Internet, mientras que la subred de front-end puede comunicarse con Internet y recibir solicitudes HTTP entrantes solamente.

En los siguientes comandos de PowerShell de ejemplo se presupone que ya se ha creado un entorno simple según el escenario anterior. Si desea ejecutar los comandos tal y como aparecen en este documento, compile primero el entorno de prueba mediante la creación de una red virtual.

Creación de un grupo de seguridad de red para la subred front-end

  1. Si no tiene instalado Azure PowerShell, consulte Instalación y configuración de Azure PowerShell.

  2. Cree un grupo de seguridad de red denominado NSG-FrontEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" -Location uswest `
      -Label "Front end subnet NSG"
    
  3. Cree una regla de seguridad que permita el acceso desde Internet al puerto 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. Cree una regla de seguridad que permita el acceso desde Internet al puerto 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'
    
  5. Asocie el grupo de seguridad de red con una subred:

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

Creación de un grupo de seguridad de red para la subred de back-end

  1. Cree un grupo de seguridad de red denominado NSG-BackEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-BackEnd" -Location uswest `
      -Label "Back end subnet NSG"
    
  2. Crear una regla de seguridad que permita el acceso desde la subred front-end al puerto 1433 (puerto predeterminado utilizado por 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. Cree una regla de seguridad que bloquee el acceso a Internet desde la subred:

    Get-AzureNetworkSecurityGroup -Name "NSG-BackEnd" `
      | Set-AzureNetworkSecurityRule -Name block-internet `
      -Action Deny -Protocol '*' -Type Outbound -Priority 200 `
      -SourceAddressPrefix '*'  -SourcePortRange '*' `
      -DestinationAddressPrefix Internet -DestinationPortRange '*'
    
  4. Asocie el grupo de seguridad de red con una subred:

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