Solución de problemas de grupos de seguridad de red
Demostrar que conoce los datos de configuración del grupo de seguridad de red (NSG), incluidos los puertos, las etiquetas de servicio y los números de prioridad.
Grupos de seguridad de red
Un grupo de seguridad de red de Azure filtra el tráfico de red hacia y desde los recursos de una red virtual de Azure. Un grupo de seguridad de red se compone de reglas de seguridad que permiten o rechazan el tráfico de red entrante y saliente, hacia y desde, varios tipos de recursos de Azure. Para cada regla, puede especificar un origen y destino, un puerto y un protocolo.
En esta unidad aprenderá:
Las propiedades de una regla de grupo de seguridad de red, así como las reglas de seguridad predeterminadas que se aplican.
Las propiedades de la regla que puede modificar para crear una regla de seguridad aumentada.
Reglas de seguridad
Un grupo de seguridad de red puede contener reglas desde cero, o tantas como sean necesarias, dentro de los límites de suscripción de Azure. Cada regla especifica las siguientes propiedades:
| Propiedad | Explicación |
|---|---|
| Nombre | Un nombre único dentro del grupo de seguridad de red. |
| Prioridad | Las reglas con números más bajos se procesan antes que los números más altos porque los números más bajos tienen mayor prioridad. El número puede estar entre 100 y 4096. |
| Origen o destino | Si especifica una dirección para un recurso de Azure, debe especificar la dirección IP privada, un intervalo, una etiqueta de servicio o un grupo de seguridad de aplicaciones asignado al recurso. |
| Protocolo | TCP, UDP, ICMP, ESP, AH o Cualquiera. |
| Dirección | Si la regla se aplica al tráfico entrante o al saliente. |
| Intervalo de puertos | La especificación de intervalos le permite crear menos reglas de seguridad. Puede especificar un puerto individual o un intervalo de puertos. Por ejemplo, 80 o 10000-10005. |
| Acción | Permitir o denegar. |
Hay límites en el número de reglas de seguridad que puede crear en un grupo de seguridad de red. Para más información, consulte Límites de Azure.
Reglas de seguridad predeterminadas
Azure crea las siguientes reglas predeterminadas en cada uno de sus grupos de seguridad de red:
Entrada
AllowVNetInBound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | Cualquiera | Permitir |
AllowAzureLoadBalancerInBound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | Cualquiera | Permitir |
DenyAllInbound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | Cualquiera | Permitir |
Salida
AllowVnetOutBound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | Cualquiera | Permitir |
AllowInternetOutBound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65001 | 0.0.0.0/0 | 0-65535 | Internet | 0-65535 | Cualquiera | Permitir |
DenyAllOutBound
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 65001 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | Cualquiera | Permitir |
En las columnas Origen y Destino , VirtualNetwork, AzureLoadBalancer e Internet son etiquetas de servicio, en lugar de direcciones IP. En la columna de protocolo, Any abarca TCP, UDP e ICMP. Al crear una regla, puede especificar TCP, UDP, ICMP o Cualquiera. 0.0.0.0/0 en las columnas Origen y Destino representa todas las direcciones. Los clientes, como Azure Portal, la CLI de Azure o PowerShell, pueden usar ***** o Any en esta expresión.
Las reglas predeterminadas no se pueden quitar, pero puede reemplazarlas con reglas de prioridad más alta.
Reglas de seguridad aumentada
Con las reglas de seguridad aumentadas, puede combinar varios puertos y varias direcciones IP y rangos explícitos en una sola regla de seguridad. En otras palabras, las reglas de seguridad aumentadas simplifican la definición de seguridad para las redes virtuales. Esto le permite dividir las políticas de seguridad de red más grandes y complejas en menos reglas y más simples. Las reglas aumentadas se utilizan generalmente en los campos de origen, destino y puerto de una regla.
La combinación de reglas de seguridad aumentadas con etiquetas de servicio o grupos de seguridad de aplicaciones, ayuda a racionalizar la definición de las reglas de seguridad. Sin embargo, hay límites en el número de direcciones, rangos y puertos que se pueden especificar en una regla.
Etiquetas de servicio: una etiqueta de servicio representa un grupo de prefijos de dirección IP de un servicio de Azure determinado. Ayuda a minimizar la complejidad de las actualizaciones frecuentes de las reglas de seguridad de red. Consulte etiquetas de servicio de Azure.
Para obtener un ejemplo de cómo usar la etiqueta de servicio storage para restringir el acceso a la red, vaya a Restringir el acceso de red a los recursos de PaaS con puntos de conexión de servicio de red virtual mediante Azure Portal.
Grupos de seguridad de aplicaciones: los grupos de seguridad de aplicaciones permiten configurar la seguridad de red como una extensión natural de la estructura de una aplicación. Esto le permite agrupar máquinas virtuales y definir políticas de seguridad de red basadas en esos grupos. Puede reutilizar la directiva de seguridad a escala sin mantenimiento manual de direcciones IP explícitas. Para más información, consulte Grupos de seguridad de aplicaciones.
Solución de problemas de configuración de NSG
Los grupos de seguridad de red (NSG) le permiten controlar el flujo de tráfico entrante y saliente de una máquina virtual (VM). Puede asociar un NSG a una subred en una red virtual Azure, a una interfaz de red conectada a una VM o a ambas. Cualquier regla de seguridad aplicada a una interfaz de red es una combinación de reglas presentes en la NSG asociada a una interfaz de red y la subred en la que se encuentra. Puede examinar el conflicto entre las reglas de diferentes NSG que se aplican en las interfaces de red de su VM.
Los siguientes artículos ayudan a entender:
En esta unidad, aprenderá a diagnosticar un problema de filtro de tráfico de red mediante la visualización de las reglas de seguridad NSG que son válidas para una VM.
Diagnóstico mediante Azure Portal
Escenario
Cuando intenta conectarse a una VM a través del puerto 80 desde Internet, la conexión falla. Para entender por qué ocurre esto, puede examinar las reglas de seguridad efectivas para una interfaz de red mediante el Azure Portal, PowerShell o la CLI de Azure.
Si no tiene una VM para ver las reglas de seguridad efectivas, debe implementar primero una VM Linux o Windows para completar la tarea.
En la siguiente tarea, los ejemplos son para una máquina virtual denominada myVM con una interfaz de red denominada myVMVMNic. La máquina virtual y la interfaz de red se encuentran en un grupo de recursos denominado myResourceGroup y se encuentran en la región Este de EE. UU. Para diagnosticar el problema, cambie los valores de los pasos, según corresponda, para la VM.
Inicie sesión en Azure Portal.
En la parte superior de Azure Portal, vaya al cuadro de búsqueda y escriba el nombre de la máquina virtual. Cuando el nombre de la máquina virtual aparezca en los resultados de la búsqueda, selecciónelo.
En CONFIGURACIÓN, seleccione Redes.
Las reglas que se muestran en la siguiente imagen son para una interfaz de red denominada myVMVMNic. Hay REGLAS DE PUERTOS DE ENTRADA para la interfaz de red de dos grupos de seguridad de red diferentes:
mySubnetNSG: asociado a la subred en la que se encuentra la interfaz de red.
myVMNSG: asociado a la interfaz de red en la máquina virtual denominada myVMVMNic.
Como puede ver en la imagen anterior, la regla denominada DenyAllInBound impide la comunicación entrante desde Internet a la máquina virtual a través del puerto 80. La regla enumera 0.0.0.0/0 para ORIGEN, lo que incluye Internet. Ninguna otra regla con una prioridad más alta (número menor) permite el puerto 80 de entrada. Para permitir el puerto 80 entrante a la máquina virtual desde Internet, consulte Resolución de un problema.
En REGLAS DE PUERTO DE SALIDA, en la parte inferior hay reglas de puerto de salida para la interfaz de red. VirtualNetwork y AzureLoadBalancer son etiquetas de servicio. Las etiquetas de servicio representan un grupo de prefijos de direcciones IP que ayudan a reducir la complejidad de la creación de reglas de seguridad.
Asegúrese de que la máquina virtual está en estado en ejecución y, a continuación, seleccione Reglas de seguridad efectivas, como se muestra en la imagen siguiente:
Puede ver que hay diferentes pestañas para la NSG asociadas a la interfaz de red y a la subred. Las reglas listadas son las mismas que en el paso 3 aunque, como se muestra en la imagen, solo se muestran las primeras 50 reglas. Para descargar un archivo .csv que contenga todas las reglas, seleccione Descargar.
Para ver qué prefijos representa cada etiqueta de servicio, seleccione una regla, como AllowAzureLoadBalancerInbound. En la imagen siguiente se muestran los prefijos de la etiqueta de servicio AzureLoadBalancer :
La máquina virtual de este ejemplo tiene dos interfaces de red, myVMVMNic y myVMVMNic2 conectadas a ella. Las reglas de seguridad vigentes pueden ser diferentes para cada interfaz de red. Seleccione myVMVMNic2 para ver las reglas de esta interfaz de red.
La interfaz de red myVMVMNic2 no tiene un grupo de seguridad de red asociado, ya que la interfaz de red myVMVMNic sí. Cada interfaz de red y subred pueden tener un grupo de seguridad de red asociado, o ninguno. El grupo de seguridad de red asociado a cada interfaz de red o subred puede ser el mismo o diferente. Cada interfaz de red y subred puede tener cero o un NSG asociado.
Nota
Aunque las reglas de seguridad efectivas se observaron a través de la VM, también puede verlas a través de un individuo:
- Interfaz de red: aprenda a ver una interfaz de red.
- NSG: aprenda a ver un grupo de seguridad de red.
Para ejecutar los comandos mediante PowerShell, consulte Diagnóstico mediante PowerShell.
Para ejecutar los comandos mediante la CLI de Azure, consulte Diagnóstico mediante la CLI de Azure.
Para solucionar problemas de conectividad:
Para permitir el tráfico entrante desde Internet, añade reglas de seguridad con una prioridad más alta que las reglas predeterminadas.
Para solucionar los problemas relacionados con el emparejamiento de redes virtuales, puede ver los prefijos en la lista ExpandedAddressPrefix.
Asegúrese de que hay una NSG asociada a la interfaz de red o a la subred de la VM. Además, verifique que la VM está en estado de ejecución.
Si la VM tiene una dirección IP pública, se recomienda aplicar una NSG a la subred de la interfaz de red.
Diagnóstico adicional
Use la funcionalidad de comprobación del flujo de IP de Azure Network Watcher para determinar si se permite el tráfico hacia o desde una máquina virtual.
Si no hay reglas de seguridad que provoquen errores en la conectividad de red de una máquina virtual, el problema puede deberse a:
Software de firewall que se ejecuta dentro del sistema operativo de la VM.
Rutas configuradas para aplicaciones virtuales o tráfico local: consulte tunelización forzada. Además, para aprender a diagnosticar problemas de ruta que pueden impedir el flujo de tráfico fuera de la máquina virtual, consulte Diagnóstico de un problema de enrutamiento de tráfico de red de máquina virtual.
Revisar e interpretar los registros de flujo de NSG
Introducción
La función de registros de flujo de NSG en Azure Network Watcher le permite registrar información sobre el tráfico IP que fluye a través de una NSG. Los datos de flujo se envían a las cuentas de Azure Storage y desde allí se pueden exportar a cualquier herramienta de visualización, SIEM o IDS.
¿Por qué usar registros de flujo?
Los registros de flujo son cruciales cuando se trata de administrar y supervisar toda la actividad de la red en su entorno de nube. Puede usarlo para optimizar los flujos de red, supervisar los datos, verificar el cumplimiento, detectar intrusiones y mucho más.
Algunos casos de uso comunes son:
Supervisión de red:
Identifique el tráfico desconocido o no deseado.
Supervise los niveles de tráfico y el consumo de ancho de banda.
Filtre los registros de flujo por IP y puerto para comprender el comportamiento de la aplicación.
Exporte los registros de flujo a las herramientas de análisis y visualización que elija para configurar paneles de supervisión.
Supervisión y optimización del uso:
Identifique los principales hablantes en su red.
Combine datos de GeoIP para identificar el tráfico entre regiones.
Comprenda el crecimiento del tráfico para realizar previsiones de capacidad.
Use datos para quitar reglas de tráfico excesivamente restrictivas.
Cumplimiento:
- Use los datos de flujo para comprobar el aislamiento de red y el cumplimiento de las reglas de acceso empresarial.
Análisis forense de red y seguridad:
Analice los flujos de red de las IP e interfaces de red comprometidas.
Exporte los registros de flujo a cualquier herramienta SIEM o IDS de su elección.
Cómo funciona el registro
Los registros de flujo funcionan en la capa 4 (capa de transporte). Registra todos los flujos IP que entran y salen de una NSG.
Los registros se recopilan en intervalos de un minuto a través de la plataforma Azure sin afectar a los recursos del cliente ni al rendimiento de la red.
Los registros se escriben en formato JSON. Muestran los flujos salientes y entrantes en función de cada regla de la NSG.
Cada registro del log contiene la interfaz de red (NIC). El flujo se aplica a la información de las cinco cifras, la decisión sobre el tráfico y (solo en la versión 2) la información sobre el rendimiento. Consulte Formato de registro.
Los registros de flujo eliminan los registros hasta un año después de su creación.
Para habilitar los registros de flujo, consulte Habilitación de registros de flujo de NSG.
Comprobación del flujo de IP
La comprobación del flujo de IP confirma si un paquete está permitido o denegado hacia o desde una máquina virtual. Puede usar la comprobación del flujo de IP para diagnosticar problemas de conectividad desde o hacia Internet y desde o hacia el entorno local. Proporciona la información relativa a la dirección, protocolo, IP local, IP remota, puerto local y puerto remoto. Si un grupo de seguridad rechaza el paquete, se devuelve el nombre de la regla usada.
La verificación del flujo IP considera las reglas de todos los NSG aplicados a la interfaz de red, como una subred o una NIC de máquina virtual. A continuación, verifica el flujo de tráfico en función de los ajustes configurados hacia o desde esa interfaz de red.
La comprobación del flujo de IP valida si una regla de una NSG está bloqueando el tráfico de entrada o salida hacia o desde una máquina virtual. También evalúa las reglas de Azure Virtual Network Manager y las reglas de NSG.
Para más información sobre la solución de problemas de registros de flujo de NSG, consulte Solución de problemas comunes.
Determinar si una máquina virtual o un grupo de máquinas virtuales está asociado a un grupo de seguridad de aplicaciones (ASG).
Los grupos de seguridad de aplicaciones le permiten agrupar máquinas virtuales ubicadas en la red virtual de Azure y definir políticas de seguridad de red basadas en esos grupos. Esto ayuda a reducir el trabajo de mantenimiento de las direcciones IP explícitas. Observe la siguiente imagen para comprender mejor los ASG:
| Grupos de seguridad de aplicaciones |
|---|
|
En la imagen anterior, NIC1 y NIC2 son miembros del ASG AsgWeb. NIC3 es miembro del ASG AsgLogic, y NIC4 es miembro del ASG AsgDb. En este ejemplo, cada interfaz de red es miembro de un solo grupo de seguridad de red. Sin embargo, una interfaz de red puede ser miembro de varios ASG, hasta los límites de Azure.
Ninguna de las interfaces de red tiene un grupo de seguridad de red asociado. NSG1 está asociado a ambas subredes y contiene las siguientes reglas:
Allow-HTTP-Inbound-Internet
Esta regla es necesaria para permitir el tráfico de Internet a los servidores web. Dado que la regla de seguridad predeterminada DenyAllInbound deniega el tráfico entrante desde Internet, no es necesaria ninguna regla adicional para los grupos de seguridad de aplicaciones AsgLogic y AsgDb.
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 100 | Internet | * | AsgWeb | 80 | TCP | Permitir |
Deny-Database-All
Dado que la regla de seguridad predeterminada AllowVNetInBound permite toda la comunicación entre los recursos de la misma red virtual, esta regla es necesaria para denegar el tráfico de todos los recursos.
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 120 | * | * | AsgWeb | 1433 | Cualquiera | Denegar |
Allow-Database-BusinessLogic
Esta regla permite el tráfico desde el ASG AsgLogic al ASG AsgDb. La prioridad de esta regla es mayor que la de la regla Deny-Database-All. Como resultado, esta regla se procesa antes que la regla Deny-Database-All, por lo que se permite el tráfico del grupo de seguridad de aplicaciones AsgLogic, mientras que el resto del tráfico es bloqueado.
| Prioridad | Fuente | Puertos de origen | Destino | Puertos de destino | Protocolo | Acceso |
|---|---|---|---|---|---|---|
| 110 | AsgLogic | * | AsgDb | 1433 | TCP | Permitir |
Las reglas que especifican un ASG como origen o destino solo se aplican a las interfaces de red que son miembros del ASG. Si la interfaz de red no es miembro de un ASG, la regla no se aplica a la interfaz de red, aunque el grupo de seguridad de red esté asociado a la subred.
Los grupos de seguridad de aplicaciones presentan las siguientes restricciones:
Hay varios límites relacionados con los ASG. Uno de estos es el número de ASG que puede tener en una suscripción.
No se pueden agregar interfaces de red de diferentes redes virtuales al mismo ASG. Por ejemplo, si la primera interfaz de red asignada a un ASG denominado AsgWeb está en la red virtual denominada VNet1, todas las interfaces de red subsiguientes asignadas a ASGWeb deben existir en VNet1.
Todas las interfaces de red para los ASG de origen y destino deben existir en la misma red virtual. Por ejemplo, si AsgLogic contiene interfaces de red de VNet1 y AsgDb contiene interfaces de red de VNet2, no puede asignar AsgLogic como origen y AsgDb como destino en una regla.