Esquema de análisis del tráfico y agregación de datos

Análisis de tráfico es una solución basada en la nube, que proporciona visibilidad de la actividad de usuarios y aplicaciones en las redes en la nube. El análisis de tráfico analiza los registros de flujo de Azure Network Watcher para proporcionar información sobre el flujo de tráfico en su nube Azure. Con Análisis de tráfico, puede:

  • Visualizar la actividad de la red en las suscripciones de Azure e identificar las zonas activas.
  • Identifique las amenazas a la seguridad y proteja su red con información como puertos abiertos, aplicaciones que intentan acceder a Internet y máquinas virtuales (VM) que se conectan a redes no autorizadas.
  • Entender los patrones de flujo de tráfico entre regiones de Azure e Internet para optimizar el rendimiento y la capacidad de su implementación de red.
  • Identificar errores de configuración de red que dan lugar a errores de conexión.
  • Conocer el uso de red en bytes, paquetes o flujos.

Agregación de datos

  • Todos los registros de flujo en un grupo de seguridad de red entre FlowIntervalStartTime_t y FlowIntervalEndTime_t se capturan a intervalos de un minuto como blobs en una cuenta de almacenamiento.
  • El intervalo de procesamiento predeterminado del análisis de tráfico es de 60 minutos, lo que significa que cada hora, el análisis de tráfico selecciona blobs de la cuenta de almacenamiento para la agregación. Sin embargo, si se selecciona un intervalo de procesamiento de 10 minutos, el análisis de tráfico elegirá blobs de la cuenta de almacenamiento cada 10 minutos.
  • Los flujos que tienen el mismo Source IP, Destination IP, Destination port, NSG name, NSG rule,Flow Direction y Transport layer protocol (TCP or UDP) se agrupan en un único flujo mediante el análisis de tráfico (Nota: El puerto de origen se excluye para la agregación).
  • Este único registro es decorado (detalles en la sección de abajo) e ingestado en registros de Azure Monitor por análisis de tráfico. Este proceso puede tardar hasta 1 hora.
  • El campo FlowStartTime_t indica la primera aparición de este tipo de flujo agregado (misma tupla de cuatro) en el intervalo de procesamiento de registros de flujos entre FlowIntervalStartTime_t y FlowIntervalEndTime_t.
  • Para cualquier recurso en análisis de tráfico, los flujos indicados en Azure Portal son los flujos totales vistos por el grupo de seguridad de la red, pero en los registros de Azure Monitor, el usuario solo ve el registro único y reducido. Para ver todos los flujos, use el campo blob_id, al que se puede hacer referencia desde el almacenamiento. El recuento total de flujos para ese registro coincide con los flujos individuales vistos en el blob.

La siguiente consulta le ayuda a ver todas las subredes que interactúan con IP públicas que no son de Azure en los últimos 30 días.

AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowStartTime_t >= ago(30d) and FlowType_s == "ExternalPublic"
| project Subnet1_s, Subnet2_s  

Para ver la ruta blob de los flujos de la consulta anterior, utilice la siguiente consulta:

let TableWithBlobId =
(AzureNetworkAnalytics_CL
   | where SubType_s == "Topology" and ResourceType == "NetworkSecurityGroup" and DiscoveryRegion_s == Region_s and IsFlowEnabled_b
   | extend binTime = bin(TimeProcessed_t, 6h),
            nsgId = strcat(Subscription_g, "/", Name_s),
            saNameSplit = split(FlowLogStorageAccount_s, "/")
   | extend saName = iif(arraylength(saNameSplit) == 3, saNameSplit[2], '')
   | distinct nsgId, saName, binTime)
| join kind = rightouter (
   AzureNetworkAnalytics_CL
   | where SubType_s == "FlowLog"  
   | extend binTime = bin(FlowEndTime_t, 6h)
) on binTime, $left.nsgId == $right.NSGList_s  
| extend blobTime = format_datetime(todatetime(FlowIntervalStartTime_t), "yyyy MM dd hh")
| extend nsgComponents = split(toupper(NSGList_s), "/"), dateTimeComponents = split(blobTime, " ")
| extend BlobPath = strcat("https://", saName,
                        "@insights-logs-networksecuritygroupflowevent/resoureId=/SUBSCRIPTIONS/", nsgComponents[0],
                        "/RESOURCEGROUPS/", nsgComponents[1],
                        "/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/", nsgComponents[2],
                        "/y=", dateTimeComponents[0], "/m=", dateTimeComponents[1], "/d=", dateTimeComponents[2], "/h=", dateTimeComponents[3],
                        "/m=00/macAddress=", replace(@"-", "", MACAddress_s),
                        "/PT1H.json")
| project-away nsgId, saName, binTime, blobTime, nsgComponents, dateTimeComponents;

TableWithBlobId
| where SubType_s == "FlowLog" and FlowStartTime_t >= ago(30d) and FlowType_s == "ExternalPublic"
| project Subnet_s , BlobPath

La consulta anterior crea una URL para acceder directamente al blob. La URL con marcadores de posición es la siguiente:

https://{storageAccountName}@insights-logs-networksecuritygroupflowevent/resoureId=/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroup}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{networkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Esquema de análisis de tráfico

El análisis de tráfico se basa en registros de Azure Monitor, por lo que puede ejecutar consultas personalizadas en los datos que el análisis de tráfico rellena y establecer alertas.

En la tabla siguiente se enumeran los campos del esquema y lo que significan para los registro de flujo de grupo de seguridad de red.

Campo Formato Comentarios
TableName AzureNetworkAnalytics_CL Tabla para los datos de Análisis de tráfico.
SubType_s FlowLog Subtipo para los registros de flujo. Use solo FlowLog; otros valores de SubType_s son para uso interno.
FASchemaVersion_s 2 Versión de esquema. No se refleja la versión del registro de flujo del grupo de seguridad de red.
TimeProcessed_t Fecha y hora en UTC Hora a la que el Análisis de tráfico procesó los registros de flujo sin formato desde la cuenta de almacenamiento.
FlowIntervalStartTime_t Fecha y hora en UTC Hora de inicio del intervalo de procesamiento del registro de flujo (tiempo desde el que se mide el intervalo de flujo).
FlowIntervalEndTime_t Fecha y hora en UTC Hora de finalización del intervalo de procesamiento de registros de flujo.
FlowStartTime_t Fecha y hora en UTC Primera repetición del flujo (que se agrega) en el intervalo de proceso de registro del flujo entre FlowIntervalStartTime_t y FlowIntervalEndTime_t. Este flujo se agrega en función de la lógica de agregación.
FlowEndTime_t Fecha y hora en UTC Última repetición del flujo (que se agrega) en el intervalo de proceso de registro del flujo entre FlowIntervalStartTime_t y FlowIntervalEndTime_t. Desde el punto de vista del registro de flujos v2, este campo contiene la hora de inicio del último flujo con la misma tupla de cuatro (marcado como B en el registro de flujos sin formato).
FlowType_s - IntraVNet
- InterVNet
- S2S
- P2S
- AzurePublic
- ExternalPublic
- MaliciousFlow
- Unknown Private
- Desconocido
Consulte las Notas para obtener definiciones.
SrcIP_s Dirección IP de origen En blanco en los flujos AzurePublic y ExternalPublic.
DestIP_s Dirección IP de destino En blanco en los flujos AzurePublic y ExternalPublic.
VMIP_s Dirección IP de la VM. Se usa para los flujos AzurePublic y ExternalPublic.
DestPort_d Puerto de destino Puerto en el que el tráfico es entrante.
L4Protocol_s - T
- U
Protocolo de transporte. T = TCP
U = UDP.
L7Protocol_s Nombre del protocolo Derivado del puerto de destino.
FlowDirection_s - I = Entrante
- O = Saliente
Dirección del flujo: dentro o fuera del grupo de seguridad de red por registro de flujo.
FlowStatus_s - A = Permitido
- D = Denegado
Estado del flujo, ya sea permitido o denegado por el grupo de seguridad de red por registro de flujo.
NSGList_s <SUBSCRIPTIONID>/<RESOURCEGROUP_NAME>/<NSG_NAME> Grupo de seguridad de red asociado al flujo.
NSGRules_s <Valor de índice 0>|<NSG_RULENAME>|<Dirección del flujo>|<Estado del flujo>|<FlowCount ProcessedByRule> Regla del grupo de seguridad de red que permitió o denegó este flujo.
NSGRule_s NSG_RULENAME Regla del grupo de seguridad de red que permitió o denegó este flujo.
NSGRuleType_s - Definido por el usuario
- Predeterminado
Tipo de regla de grupo de seguridad de red usada por el flujo.
MACAddress_s Dirección MAC Dirección MAC de la NIC en la que se capturó el flujo.
Subscription_g En este campo se rellena la suscripción de la red virtual, interfaz de red o máquina virtual de Azure. Solo se aplica para los tipos de flujo FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow y UnknownPrivate (tipos de flujo donde solo un lado es Azure).
Subscription1_g Id. de suscripción Id. de suscripción de la red virtual, interfaz de red o máquina virtual a la que pertenece la dirección IP de origen del flujo.
Subscription2_g Id. de suscripción Id. de suscripción de la red virtual, interfaz de red o máquina virtual a la que pertenece la dirección IP de destino en el flujo.
Region_s Región de Azure de la red virtual, interfaz de red o máquina virtual a la que pertenece la dirección IP del flujo. Solo se aplica para los tipos de flujo FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow y UnknownPrivate (tipos de flujo donde solo un lado es Azure).
Region1_s Región de Azure Región de Azure de la red virtual, interfaz de red o máquina virtual a la que pertenece la dirección IP de origen del flujo.
Region2_s Región de Azure Región de Azure de la red virtual a la que pertenece la dirección IP de destino del flujo.
NIC_s <resourcegroup_Name>/<NetworkInterfaceName> NIC asociada con la VM que envía o recibe el tráfico.
NIC1_s <resourcegroup_Name>/<NetworkInterfaceName> NIC asociada con la dirección IP de origen en el flujo.
NIC2_s <resourcegroup_Name>/<NetworkInterfaceName> NIC asociada con la dirección IP de destino en el flujo.
VM_s <resourcegroup_Name>/<NetworkInterfaceName> Máquina virtual asociada con la NIC_s de interfaz de red.
VM1_s <resourcegroup_Name>/<VirtualMachineName> Máquina virtual asociada con la dirección IP de origen en el flujo.
VM2_s <resourcegroup_Name>/<VirtualMachineName> Máquina virtual asociada con la dirección IP de destino en el flujo.
Subnet_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Subred asociada con la NIC_s.
Subnet1_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Subred asociada con la dirección IP de origen en el flujo.
Subnet2_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Subred asociada con la dirección IP de destino en el flujo.
ApplicationGateway1_s <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> Puerta de enlace de aplicación asociada con la dirección IP de origen en el flujo.
ApplicationGateway2_s <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> Puerta de enlace de aplicaciones asociado con la dirección IP de destino en el flujo.
ExpressRouteCircuit1_s <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> Identificador del circuito ExpressRoute: cuando el flujo se envía desde el sitio a través de ExpressRoute.
ExpressRouteCircuit2_s <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> Identificador del circuito ExpressRoute: cuando ExpressRoute recibe el flujo desde la nube.
ExpressRouteCircuitPeeringType_s - AzurePrivatePeering
- AzurePublicPeering
- MicrosoftPeering
Tipo de emparejamiento de ExpressRoute implicado en el flujo.
LoadBalancer1_s <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> Equilibrador de carga asociado con la dirección IP de origen en el flujo.
LoadBalancer2_s <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> Equilibrador de carga asociado con la dirección IP de destino en el flujo.
LocalNetworkGateway1_s <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> Puerta de enlace de red local asociada con la dirección IP de origen en el flujo.
LocalNetworkGateway2_s <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> Puerta de enlace de red local asociada con la dirección IP de destino en el flujo.
ConnectionType_s - VNetPeering
- VpnGateway
- ExpressRoute
Tipo de asignación.
ConnectionName_s <SubscriptionID>/<ResourceGroupName>/<ConnectionName> Nombre de la conexión. Para el tipo de flujo P2S, se formatea como <gateway name>_<VPN Client IP>.
ConnectingVNets_s Lista separada por espacios de nombres de red virtual. En el caso de una topología de tipo hub-and-spoke, las redes virtuales de centro se rellenan aquí.
Country_s Código de país o región de dos letras (ISO 3166-1 alfa-2). Se rellena para el tipo de flujo ExternalPublic. Todas las direcciones IP en el campo PublicIPs_s comparten el mismo código de país o región.
AzureRegion_s Ubicaciones de la región de Azure Se rellena para el tipo de flujo AzurePublic. Todas las direcciones IP en el campo PublicIPs_s comparten la región de Azure.
AllowedInFlows_d El recuento de flujos de entrada,que representa el número de flujos que compartieron la misma entrada de tupla de cuatro a la interfaz de red en la que se capturó el flujo.
DeniedInFlows_d Número de flujos entrantes que se denegaron. (Entrante en la interfaz de red en la que se capturó el flujo).
AllowedOutFlows_d Número de flujos salientes que se permitieron. (Saliente a la interfaz de red en la que se capturó el flujo).
DeniedOutFlows_d Número de flujos salientes que se denegaron. (Saliente a la interfaz de red en la que se capturó el flujo).
FlowCount_d En desuso. Total de flujos que coincidieron con la misma tupla de cuatro. En el caso de los tipos de flujo ExternalPublic y AzurePublic, el recuento incluye también los flujos de varias direcciones IP públicas.
InboundPackets_d Representa los paquetes enviados desde el destino al origen del flujo. Solo se rellena para la versión 2 del esquema de registro de flujos de grupo de seguridad de red.
OutboundPackets_d Representa los paquetes enviados desde el origen al destino del flujo. Solo se rellena para la versión 2 del esquema de registro de flujos de grupo de seguridad de red.
InboundBytes_d Representa los bytes enviados desde el destino al origen del flujo. Solo se rellena para la versión 2 del esquema de registro de flujos de grupo de seguridad de red.
OutboundBytes_d Representa los bytes enviados desde el origen al destino del flujo. Solo se rellena para la versión 2 del esquema de registro de flujos de grupo de seguridad de red.
CompletedFlows_d Se rellena con un valor distinto de cero solo para la versión 2 del esquema de registro de flujos de grupo de seguridad de red.
PublicIPs_s <PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Entradas separadas por barras.
SrcPublicIPs_s <SOURCE_PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Entradas separadas por barras.
DestPublicIPs_s <DESTINATION_PUBLIC_IP>|<FLOW_STARTED_COUNT>|<FLOW_ENDED_COUNT>|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<OUTBOUND_BYTES>|<INBOUND_BYTES> Entradas separadas por barras.
IsFlowCapturedAtUDRHop_b - True
- False
Si el flujo se capturó en un salto UDR, el valor es True.

Importante

El esquema de análisis de tráfico se actualizó el 22 de agosto de 2019. El nuevo esquema proporciona direcciones IP de origen y de destino por separado, lo que elimina la necesidad de analizar el campo FlowDirection para simplificar las consultas. El esquema actualizado tenía los siguientes cambios:

  • FASchemaVersion_s se actualizó de 1 a 2.
  • Campos en desuso: VMIP_s, Subscription_g, Region_s, NSGRules_s, Subnet_s, VM_s, NIC_s, PublicIPs_s, FlowCount_d
  • Nuevos campos: SrcPublicIPs_s, DestPublicIPs_s, NSGRule_s

Esquema de detalles de IP pública

El análisis del tráfico proporciona datos WHOIS y la ubicación geográfica de todas las IP públicas de su entorno. Para una IP maliciosa, el análisis de tráfico proporciona el dominio DNS, el tipo de amenaza y las descripciones de los hilos identificados por las soluciones de inteligencia de seguridad de Microsoft. Los detalles de IP se publican en el área de trabajo de Log Analytics para que pueda crear consultas personalizadas y colocar alertas en ellas. También puede acceder a las consultas rellenadas previamente desde el panel de análisis de tráfico.

En la tabla siguiente se detalla el esquema de IP pública:

Campo Formato Comentarios
TableName AzureNetworkAnalyticsIPDetails_CL Tabla que contiene los datos de detalles de IP de Análisis de tráfico
SubType_s FlowLog Subtipo para los registros de flujo. Usar solo "FlowLog"; otros valores de SubType_s son para el funcionamiento interno del producto.
FASchemaVersion_s 2 Versión de esquema. No se refleja la versión del registro de flujo del grupo de seguridad de red.
FlowIntervalStartTime_t Fecha y hora en UTC Hora de inicio del intervalo de procesamiento del registro de flujo (tiempo desde el que se mide el intervalo de flujo).
FlowIntervalEndTime_t Fecha y hora en UTC Hora de finalización del intervalo de procesamiento de registro de flujo.
FlowType_s - AzurePublic
- ExternalPublic
- MaliciousFlow
Consulte las Notas para obtener definiciones.
IP Dirección IP pública Dirección IP pública cuya información se proporciona en el registro.
Ubicación Ubicación de la dirección IP - Para una dirección IP pública de Azure: región de Azure de la red virtual, interfaz de red o máquina virtual a la que pertenece la dirección IP O Global para la dirección IP 168.63.129.16
- Para una dirección IP pública externa e IP malintencionada: código de país de 2 letras donde se encuentra la IP (ISO 3166-1 alpha-2).
PublicIPDetails Información sobre IP - Para AzurePublic IP: Servicio Azure propietario de la IP o IP pública virtual de Microsoft para 168.63.129.16.
- Para una dirección IP pública externa e IP malintencionada: información completa de la dirección IP.
ThreatType Amenaza que supone una dirección IP malintencionada Solo para direcciones IP malintencionadas: una de las amenazas de la lista de valores permitidos actualmente (descritos en la siguiente tabla).
ThreatDescription Descripción de la amenaza Solo para direcciones IP malintencionadas. Descripción de la amenaza que supone la dirección IP malintencionada.
DNSDomain Dominio DNS Solo para direcciones IP malintencionadas. Nombre de dominio asociado a la dirección IP malintencionada.
Url Dirección URL correspondiente a la dirección IP malintencionada Solo para direcciones IP malintencionadas
Puerto Puerto correspondiente a la dirección IP malintencionada Solo para direcciones IP malintencionadas

Lista de tipos de amenazas:

Value Descripción
Red de robots (botnet) Indicador que detalla un nodo/miembro de una botnet.
C2 Indicador que detalla un nodo de mando y control de una red de robots (botnet).
CryptoMining El tráfico que involucra esta dirección de red/URL es una indicación de CyrptoMining/abuso de recursos.
DarkNet Indicador de un nodo/red de la Darknet.
DDos Indicadores relacionados con una campaña de DDoS activa o próxima.
MaliciousUrl Dirección URL que atiende malware.
Malware Indicador que describe un archivo o archivos malintencionados.
Suplantación de identidad (phishing) Indicadores relacionados con una campaña de suplantación de identidad (phishing).
Proxy Indicador de un servicio proxy.
PUA Aplicación potencialmente no deseada.
WatchList Un cubo genérico en el que se colocan los indicadores cuando no se puede determinar con exactitud cuál es la amenaza o requiere una interpretación manual. WatchList no deben utilizarse normalmente por los socios que envían datos al sistema.

Notas

  • En el caso de los flujos AzurePublic yExternalPublic, la IP de la máquina virtual Azure propiedad del cliente se rellena en el campo VMIP_s, mientras que las direcciones IP públicas se rellenan en el campo PublicIPs_s. Para estos dos tipos de flujo, debe utilizar los campos VMIP_s y PublicIPs_s en lugar de SrcIP_s yDestIP_s. En el caso de las direcciones IP públicas o externas de Azure, agregamos más, de modo que el número de registros ingeridos en el área de trabajo de Log Analytics sea mínimo. (Este campo quedará en desuso. Use SrcIP_ y DestIP_s en función de si la máquina virtual era el origen o el destino en el flujo).
  • Algunos nombres de campo se anexan con _s o _d, que no indican el origen y el destino, pero indican la cadena de tipos de datos y el decimal respectivamente.
  • En función de las direcciones IP que se usan en el flujo, los flujos se clasifican en los siguientes tipos de flujo:
    • IntraVNet: ambas direcciones IP del flujo residen en la misma red virtual Azure.
    • InterVNet: las direcciones IP del flujo residen en dos redes virtuales Azure diferentes.
    • S2S (sitio a sitio): una de las direcciones IP pertenece a una red virtual Azure, mientras que la otra dirección IP pertenece a la red del cliente (Site) conectada a la red virtual a través de la puerta de enlace VPN o ExpressRoute.
    • P2S (punto a punto): una de las direcciones IP pertenece a la red virtual de Azure mientras que la otra dirección IP pertenece a la red del cliente (sitio) conectado a la red virtual de Azure a través de la puerta de enlace de VPN.
    • AzurePublic: una de las direcciones IP pertenece a una red virtual de Azure, mientras que la otra es una dirección IP pública de Azure propiedad de Microsoft. Las direcciones IP públicas propiedad del cliente no forman parte de este tipo de flujo. Por ejemplo, una VM propiedad del cliente que envíe tráfico a un servicio de Azure (punto de conexión de almacenamiento) se clasificaría en este tipo de flujo.
    • ExternalPublic: una de las direcciones IP pertenece a una red virtual de Azure, mientras que la otra dirección IP es una IP pública que no está en Azure y no se informa como maliciosa en las fuentes ASC que consume el análisis de tráfico para el intervalo de procesamiento entre "FlowIntervalStartTime_t" y "FlowIntervalEndTime_t".
    • MaliciousFlow: una de las direcciones IP pertenece a una red virtual de Azure, mientras que la otra dirección IP es una IP pública que no está en Azure y que se notifica como maliciosa en las fuentes ASC que consume Traffic Analytics para el intervalo de procesamiento entre "FlowIntervalStartTime_t" y "FlowIntervalEndTime_t".
    • UnknownPrivate: Una de las direcciones IP pertenece a una red virtual de Azure, mientras que la otra dirección IP pertenece al rango de IP privadas definido en RFC 1918 y no pudo ser asignada por los análisis de tráfico a un sitio propiedad del cliente o a una red virtual de Azure.
    • Unknown: no se puede asignar ninguna de las direcciones IP del flujo con la topología del cliente en Azure y en las instalaciones (sitio).