Registros de flujo de red virtual

Los registros de flujo de red virtual (VNet) son una característica de Azure Network Watcher. Puede usarlos para registrar información sobre el flujo de tráfico IP mediante una red virtual.

Los datos de flujo de los registros de flujo de la red virtual se envían a Azure Storage. Desde allí, es posible acceder a los datos y exportarlos a cualquier herramienta de visualización, solución de administración de eventos e información de seguridad (SIEM) o sistema de detección de intrusiones (IDS). Los registros de flujo de red virtual superan algunas de las limitaciones de los registros de flujo del grupo de seguridad de red.

¿Por qué usar registros de flujo?

Es fundamental supervisar, administrar y conocer su red para poder protegerla y optimizarla. Tal vez necesite conocer el estado actual de la red, quién se conecta y dónde se conectan los usuarios. También es posible que necesite conocer qué puertos están abiertos a Internet, qué comportamiento de red se espera, cuál es irregular y cuándo se producen aumentos de tráfico repentinos.

Los registros de flujo son el origen único de toda la actividad de red del entorno en la nube. Tanto si es una startup que intenta optimizar los recursos como si forma parte de una gran empresa que intenta detectar intrusiones, los registros de flujo les resultará de gran ayuda. Puede usarlos para optimizar flujos de red, supervisar el rendimiento, comprobar el cumplimiento, detectar intrusiones y mucho más.

Casos de uso comunes

Supervisión de redes

  • 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 registros de flujo a las herramientas de visualización y análisis que prefiera para configurar paneles de supervisión.

Supervisión y optimización de 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 normativo

  • Use los datos de flujo para comprobar el aislamiento de red y el cumplimiento de las reglas de acceso empresarial.

Análisis de seguridad y análisis forense de la red

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

Registros de flujo de red virtual en comparación con los registros de flujo del grupo de seguridad de red

Tanto los registros de flujo de red virtual como los registros de flujo del grupo de seguridad de red registran el tráfico IP, pero difieren en su comportamiento y funcionalidades.

Los registros de flujo de red virtual simplifican el ámbito de la supervisión del tráfico porque puede habilitar el registro en redes virtuales. Se registra el tráfico a través de todas las cargas de trabajo admitidas dentro de una red virtual.

Los registros de flujo de red virtual también evitan la necesidad de habilitar el registro de flujo de varios niveles, como en los registros de flujo del grupo de seguridad de red. En los registros de flujo de grupos de seguridad de red, estos últimos se configuran tanto en la subred como en la interfaz de red (NIC).

Además de la compatibilidad existente para identificar el tráfico que las reglas de grupo de seguridad de red permiten o deniegan, los registros de flujo de red virtual admiten la identificación del tráfico que las reglas de administración de seguridad de Azure Virtual Network Manager permiten o deniegan. Los registros de flujo de red virtual también admiten la evaluación del estado de cifrado del tráfico en escenarios en los que usa cifrado de red virtual.

Importante

Se recomienda deshabilitar los registros de flujo del grupo de seguridad de red antes de habilitar los registros de flujo de red virtual en las mismas cargas de trabajo subyacentes para evitar la grabación de tráfico duplicada y costes adicionales. Si habilita los registros de flujo de grupos de seguridad de red en el grupo de seguridad de red de una subred, habilitará los registros de flujo de red virtual en la misma subred o red virtual primaria; puede obtener el registro por duplicado (tanto los registros de flujo de grupos de seguridad de red como los de red virtual generados para todas las cargas de trabajo admitidas en esa subred concreta).

Cómo funciona el registro

Entre las propiedades clave de los registros de flujo de red virtual, se incluyen los siguientes:

  • Los registros de flujo funcionan en la capa 4 del modelo Interconexión de sistemas abiertos (OSI) y registran todos los flujos IP que pasan por una red virtual.
  • Los registros se recopilan, a intervalos de 1 minuto, a través de la plataforma Azure. No afectan a los recursos de Azure ni al tráfico.
  • Los registros se escriben en el formato de notación de objetos JavaScript (JSON).
  • Cada entrada del registro contiene la interfaz de red a la que se aplica el flujo, información de una tupla "5-tuple", la dirección del tráfico, el estado del flujo, el estado de cifrado y la información de rendimiento.
  • Todos los flujos de tráfico de la red se evalúan mediante las reglas de las reglas del grupo de seguridad de red aplicables o las reglas de administración de seguridad de Azure Virtual Network Manager.

Formato de registro

Los registros de flujo de red virtual tienen las siguientes propiedades:

  • time: la hora UTC en la que se registró el evento.
  • flowLogVersion: versión del esquema de registro de flujo.
  • flowLogGUID: GUID de recurso del recurso FlowLog.
  • macAddress: dirección MAC de la interfaz de red donde se ha capturado el evento.
  • category: categoría del evento. La categoría es siempre FlowLogFlowEvent.
  • flowLogResourceID: identificador de recurso del recurso FlowLog.
  • targetResourceID: identificador de recurso del recurso de destino asociado al recurso FlowLog.
  • operationName: siempre FlowLogFlowEvent.
  • flowRecords: recopilación de registros de flujo.
    • flows: recopilación de flujos. Esta propiedad tiene varias entradas para las listas de control de acceso (ACL):
      • aclID: id. del recurso que evalúa el tráfico, ya sea un grupo de seguridad de red o Virtual Network Manager. Para el tráfico denegado debido al cifrado, este valor es unspecified.
      • flowGroups: recopilación de registros de flujo en un nivel de regla:
        • rule: nombre de la regla que ha permitido o denegado el tráfico. Para el tráfico denegado debido al cifrado, este valor es unspecified.
        • flowTuples: cadena que contiene varias propiedades de la tupla de flujo en un formato separado por comas:
          • Time Stamp: marca de tiempo de cuando se produjo el flujo en formato de tiempo UNIX.
          • Source IP: dirección IP de origen.
          • Destination IP: dirección IP de destino.
          • Source port: puerto de origen.
          • Destination port: puerto de destino.
          • Protocol: protocolo de nivel 4 del flujo, expresado en valores asignados por IANA.
          • Flow direction: dirección del tráfico del flujo. Los valores válidos son I para el correo entrante y O para el saliente.
          • Flow state: estado del flujo. Los estados posibles son:
            • B: inicio, cuando se creó el flujo. No se proporcionan las estadísticas.
            • C: continuación del curso de un flujo. Las estadísticas se proporcionan a intervalos de cinco minutos.
            • E: finalización, cuando terminó el flujo. Se proporcionan las estadísticas.
            • D: denegar, cuando se deniega un flujo.
          • Flow encryption: estado de cifrado del flujo. En la tabla que sigue a esta lista se describen los valores posibles.
          • Packets sent: número total de paquetes enviados desde el origen al destino desde la última actualización.
          • Bytes sent: número total de bytes de paquetes enviados desde el origen al destino desde la última actualización. Los bytes de paquete incluyen el encabezado y la carga del paquete.
          • Packets received: número total de paquetes enviados desde el destino al origen desde la última actualización.
          • Bytes received: número total de bytes de paquetes enviados desde el destino al origen desde la última actualización. Los bytes de paquete incluyen el encabezado y la carga del paquete.

Flow encryption tiene los siguientes estados de cifrado posibles:

Estado de cifrado Descripción
X La conexión está cifrada. El cifrado está configurado y la plataforma ha cifrado la conexión.
NX La conexión está sin cifrar. Este evento se registra en dos escenarios:
- Cuando el cifrado no está configurado.
- Cuando una máquina virtual cifrada se comunica con un punto de conexión que carece de cifrado (como un punto de conexión de Internet).
NX_HW_NOT_SUPPORTED El hardware no es compatible. El cifrado está configurado, pero la máquina virtual se ejecuta en un host que no admite el cifrado. Este problema suele ocurrir porque la matriz de puertas programables (FPGA) no está conectada al host o es defectuosa. Notifique este problema a Microsoft para su investigación.
NX_SW_NOT_READY El software no está listo. El cifrado está configurado, pero el componente de software (GFT) de la pila de redes de host no está listo para procesar conexiones cifradas. Este problema puede producirse cuando la máquina virtual arranca por primera vez, se reinicia o se vuelve a implementar. También puede ocurrir en el caso de que haya una actualización de los componentes de red en el host en el que se ejecuta la máquina virtual. En todos estos escenarios, el paquete se quita. El problema debe ser temporal. El cifrado debe empezar a funcionar una vez que la máquina virtual esté totalmente en funcionamiento o se complete la actualización de software en el host. Si la duración del problema se prolonga, notifique a Microsoft para su investigación.
NX_NOT_ACCEPTED Se elimina debido a que no hay cifrado. El cifrado se configura en los puntos de conexión de origen y destino con la eliminación en las directivas sin cifrar. Si se produce un error en el cifrado del tráfico, se quita el paquete.
NX_NOT_SUPPORTED No se admite la detección. El cifrado está configurado, pero no se ha establecido la sesión de cifrado, ya que la pila de redes del host no admite la detección. En este caso, se quita el paquete. Si encuentra este problema, notifique a Microsoft para su investigación.
NX_LOCAL_DST El destino está en el mismo host. El cifrado está configurado, pero las máquinas virtuales de origen y destino se ejecutan en el mismo host de Azure. En este caso, la conexión no está cifrada de forma predeterminada.
NX_FALLBACK Reversión a sin cifrar. Se configura el cifrado y la directiva de permitir elementos sin cifrar en los puntos de conexión de origen y destino. El sistema intentó realizar el cifrado, pero tuvo un problema. En este caso, se permite la conexión, pero no está cifrada. Un ejemplo es si una máquina virtual inicialmente ha aterrizado en un nodo que admite el cifrado, pero, más adelante, esta compatibilidad se ha deshabilitado.

El tráfico de las redes virtuales es Sin cifrar (NX) de forma predeterminada. Para el tráfico cifrado, consulte el cifrado de red virtual.

Registro de ejemplo

En el ejemplo siguiente de registros de flujo de red virtual, varios registros siguen la lista de propiedades que se ha descrito anteriormente.

{
    "records": [
        {
            "time": "2022-09-14T09:00:52.5625085Z",
            "flowLogVersion": 4,
            "flowLogGUID": "abcdef01-2345-6789-0abc-def012345678",
            "macAddress": "00224871C205",
            "category": "FlowLogFlowEvent",
            "flowLogResourceID": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG",
            "targetResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
            "operationName": "FlowLogFlowEvent",
            "flowRecords": {
                "flows": [
                    {
                        "aclID": "00000000-1234-abcd-ef00-c1c2c3c4c5c6",
                        "flowGroups": [
                            {
                                "rule": "DefaultRule_AllowInternetOutBound",
                                "flowTuples": [
                                    "1663146003599,10.0.0.6,52.239.184.180,23956,443,6,O,B,NX,0,0,0,0",
                                    "1663146003606,10.0.0.6,52.239.184.180,23956,443,6,O,E,NX,3,767,2,1580",
                                    "1663146003637,10.0.0.6,40.74.146.17,22730,443,6,O,B,NX,0,0,0,0",
                                    "1663146003640,10.0.0.6,40.74.146.17,22730,443,6,O,E,NX,3,705,4,4569",
                                    "1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,B,NX,0,0,0,0",
                                    "1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,E,NX,3,705,4,4569",
                                    "1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,B,NX,0,0,0,0",
                                    "1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,E,NX,2,134,1,108",
                                    "1663146017343,10.0.0.6,104.16.218.84,36776,443,6,O,B,NX,0,0,0,0",
                                    "1663146022793,10.0.0.6,104.16.218.84,36776,443,6,O,E,NX,22,2217,33,32466"
                                ]
                            }
                        ]
                    },
                    {
                        "aclID": "01020304-abcd-ef00-1234-102030405060",
                        "flowGroups": [
                            {
                                "rule": "BlockHighRiskTCPPortsFromInternet",
                                "flowTuples": [
                                    "1663145998065,101.33.218.153,10.0.0.6,55188,22,6,I,D,NX,0,0,0,0",
                                    "1663146005503,192.241.200.164,10.0.0.6,35276,119,6,I,D,NX,0,0,0,0"
                                ]
                            },
                            {
                                "rule": "Internet",
                                "flowTuples": [
                                    "1663145989563,20.106.221.10,10.0.0.6,50557,44357,6,I,D,NX,0,0,0,0",
                                    "1663145989679,20.55.117.81,10.0.0.6,62797,35945,6,I,D,NX,0,0,0,0",
                                    "1663145989709,20.55.113.5,10.0.0.6,51961,65515,6,I,D,NX,0,0,0,0",
                                    "1663145990049,13.65.224.51,10.0.0.6,40497,40129,6,I,D,NX,0,0,0,0",
                                    "1663145990145,20.55.117.81,10.0.0.6,62797,30472,6,I,D,NX,0,0,0,0",
                                    "1663145990175,20.55.113.5,10.0.0.6,51961,28184,6,I,D,NX,0,0,0,0",
                                    "1663146015545,20.106.221.10,10.0.0.6,50557,31244,6,I,D,NX,0,0,0,0"
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Cálculo de tupla y ancho de banda de registro

Tabla que muestra el formato de un registro de flujo de red virtual.

Este es un cálculo de ancho de banda de ejemplo para las tuplas de flujo de una conversación TCP entre 185.170.185.105:35370 y 10.2.0.4:23:

1493763938,185.170.185.105,10.2.0.4,35370,23,6,I,B,NX,,,, 1493695838,185.170.185.105,10.2.0.4,35370,23,6,I,C,NX,1021,588096,8005,4610880 1493696138,185.170.185.105,10.2.0.4,35370,23,6,I,E,NX,52,29952,47,27072

Para los estados de continuación (C) y de finalización (E), los recuentos de paquetes y bytes son recuentos agregados desde el momento del registro de la tupla de flujo anterior. En la conversación de ejemplo, el número total de paquetes transferidos es 1,021 + 52 + 8,005 + 47 = 9,125. El número total de bytes transferidos es 588,096 + 29,952 + 4,610,880 + 27,072 = 5,256,000.

Consideraciones sobre la cuenta de almacenamiento para los registros de flujo de red virtual

  • Ubicación: la cuenta de almacenamiento debe estar en la misma región que la red virtual.
  • Suscripción: la cuenta de almacenamiento debe estar en la misma suscripción de la red virtual o en una suscripción asociada al mismo inquilino de Microsoft Entra de la suscripción de la red virtual.
  • Nivel de rendimiento: la cuenta de almacenamiento debe ser estándar. No se admiten cuentas de almacenamiento prémium.
  • Rotación de claves autoadministrable: si se cambian o rotan las claves de acceso a su cuenta de almacenamiento, los registros de flujos de grupos de seguridad de red dejan de funcionar. Para solucionar este problema, se deben deshabilitar y volver a habilitar los registros de flujos de red virtual.

Precios

  • Los registros de flujo de red virtual se cobran por gigabyte (GB) según los registros de flujo de red recopilados e incluyen un plan gratuito de 5 GB/mes por suscripción.

    Nota:

    Los registros de flujo de red virtual se facturarán a partir del 1 de junio de 2024.

  • Si se activa el análisis de tráfico con los registros de flujo de red virtual, los precios del análisis de tráfico se aplican según las tasas de procesamiento de gigabyte. El análisis de tráfico no se ofrece con un plan gratuito de precios. Para más información, consulte Precios de Network Watcher.

  • El almacenamiento de registros se cobra por separado. Para obtener más información, consulte Precios de Azure Blob Storage.

Disponibilidad

Los registros de flujo de red virtual están disponibles con carácter general en todas las regiones públicas de Azure.