Esquema e agregação de dados na análise de tráfego do Azure Network Watcher

A análise de tráfego é uma solução baseada na nuvem que fornece visibilidade sobre a atividade do usuário e do aplicativo em redes de nuvem. A análise de tráfego analisa os logs de fluxo do Observador de Rede do Azure para fornecer informações sobre o fluxo de tráfego na sua nuvem do Azure. Com a análise de tráfego, você pode:

  • Visualize a atividade de rede em suas assinaturas do Azure e identifique pontos de acesso.
  • Identifique ameaças à segurança e proteja sua rede com informações como portas abertas, aplicativos que tentam acessar a Internet e máquinas virtuais (VMs) conectadas a redes não autorizadas.
  • Compreenda os padrões de fluxo de tráfego entre as regiões do Azure e a Internet para otimizar sua implantação de rede para desempenho e capacidade.
  • Identifique erros de configuração de rede que levam a conexões com falha em sua rede.
  • Conheça o uso da rede em bytes, pacotes ou fluxos.

Agregação de dados

  • Todos os logs de fluxo em um grupo de segurança de rede entre FlowIntervalStartTime_t e FlowIntervalEndTime_t são capturados em intervalos de um minuto como blobs em uma conta de armazenamento.
  • O intervalo de processamento padrão da análise de tráfego é de 60 minutos, o que significa que, a cada hora, a análise de tráfego seleciona blobs da conta de armazenamento para agregação. No entanto, se um intervalo de processamento de 10 minutos for selecionado, a análise de tráfego selecionará blobs da conta de armazenamento a cada 10 minutos.
  • Fluxos que têm o mesmo Source IP, , , Destination portNSG nameDestination IP, , NSG ruleFlow Directione Transport layer protocol (TCP or UDP) são agrupados em um único fluxo pela análise de tráfego (Observação: a porta de origem é excluída para agregação).
  • Esse único registro é decorado (detalhes na seção abaixo) e ingerido nos logs do Azure Monitor pela análise de tráfego. Este processo pode demorar até 1 hora.
  • FlowStartTime_t indica a primeira ocorrência desse fluxo agregado (as mesmas quatro tuplas) no intervalo de processamento do log de fluxo entre FlowIntervalStartTime_t e FlowIntervalEndTime_t.
  • Para qualquer recurso em análise de tráfego, os fluxos indicados no portal do Azure são fluxos totais vistos pelo grupo de segurança de rede, mas nos logs do Azure Monitor, o usuário vê apenas o registro único e reduzido. Para ver todos os fluxos, use o campo, que pode ser referenciado a blob_id partir do armazenamento. A contagem de fluxo total para esse registro corresponde aos fluxos individuais vistos no blob.

A consulta a seguir ajuda você a examinar todas as sub-redes que interagem com IPs públicos que não são do Azure nos últimos 30 dias.

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

Para exibir o caminho de blob para os fluxos na consulta anterior, use a seguinte 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

A consulta anterior constrói uma URL para acessar o blob diretamente. O URL com espaços reservados é o seguinte:

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álise de tráfego

A análise de tráfego é criada com base nos logs do Azure Monitor, para que você possa executar consultas personalizadas em dados decorados pela análise de tráfego e definir alertas.

A tabela a seguir lista os campos no esquema e o que eles significam para logs de fluxo NSG.

Campo Format Comentários
TableName AzureNetworkAnalytics_CL Tabela para dados de análise de tráfego.
SubType_s FlowLog Subtipo para os logs de fluxo. Use apenas FlowLog, outros valores de SubType_s são para uso interno.
FASchemaVersion_s 2 Versão do esquema. Não reflete a versão do log de fluxo do NSG.
TimeProcessed_t Data e hora em UTC Momento em que a análise de tráfego processou os logs de fluxo bruto da conta de armazenamento.
FlowIntervalStartTime_t Data e hora em UTC Hora de início do intervalo de processamento do log de fluxo (tempo a partir do qual o intervalo de fluxo é medido).
FlowIntervalEndTime_t Data e hora em UTC Hora de término do intervalo de processamento do log de fluxo.
FlowStartTime_t Data e hora em UTC Primeira ocorrência do fluxo (que é agregado) no intervalo de processamento do log de fluxo entre FlowIntervalStartTime_t e FlowIntervalEndTime_t. Esse fluxo é agregado com base na lógica de agregação.
FlowEndTime_t Data e hora em UTC Última ocorrência do fluxo (que é agregado) no intervalo de processamento do log de fluxo entre FlowIntervalStartTime_t e FlowIntervalEndTime_t. Em termos de log de fluxo v2, este campo contém a hora em que o último fluxo com as mesmas quatro tuplas começou (marcado como B no registro de fluxo bruto).
FlowType_s - IntraVNet
- InterVNet
- S2S
- P2S
- AzurePublic
- Público Externo
- MaliciousFlow
- Privado desconhecido
- Desconhecido
Consulte Notas para definições.
SrcIP_s Endereço IP de origem Em branco nos fluxos AzurePublic e ExternalPublic.
DestIP_s Endereço IP de destino Em branco nos fluxos AzurePublic e ExternalPublic.
VMIP_s IP da VM Usado para fluxos AzurePublic e ExternalPublic .
DestPort_d Porta de destino Porto em que o tráfego está chegando.
L4Protocol_s - t
- U
Protocolo de Transporte. T = TCP
U = UDP.
L7Protocol_s Nome do protocolo Derivado da porta de destino.
FlowDirection_s - I = Entrada
- O = Saída
Direção do fluxo: entrada ou saída do grupo de segurança de rede por log de fluxo.
FlowStatus_s - A = Permitido
- D = Negado
Status do fluxo permitido ou negado pelo grupo de segurança de rede por log de fluxo.
NSGList_s <SUBSCRIPTIONID>/RESOURCEGROUP_NAME>/<<NSG_NAME> Grupo de segurança de rede associado ao fluxo.
NSGRules_s <Valor do índice 0>|<NSG_RULENAME>|<Direção do fluxo> |<Estado do fluxo>|<FlowCount ProcessedByRule> Regra de grupo de segurança de rede que permitiu ou negou esse fluxo.
NSGRule_s NSG_RULENAME Regra de grupo de segurança de rede que permitiu ou negou esse fluxo.
NSGRuleType_s - Definido pelo usuário
- Inadimplência
O tipo de regra de grupo de segurança de rede usado pelo fluxo.
MACAddress_s Endereço MAC Endereço MAC da NIC na qual o fluxo foi capturado.
Subscription_g A assinatura da rede virtual do Azure / interface de rede / máquina virtual é preenchida neste campo Aplicável apenas para os tipos de fluxo FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow e UnknownPrivate (tipos de fluxo em que apenas um lado é o Azure).
Subscription1_g ID de Subscrição ID de assinatura da rede virtual / interface de rede / máquina virtual à qual o IP de origem no fluxo pertence.
Subscription2_g ID de Subscrição ID de assinatura da rede virtual / interface de rede / máquina virtual à qual o IP de destino no fluxo pertence.
Region_s Azure região de rede virtual / interface de rede / máquina virtual à qual o IP no fluxo pertence. Aplicável apenas para os tipos de fluxo FlowType = S2S, P2S, AzurePublic, ExternalPublic, MaliciousFlow e UnknownPrivate (tipos de fluxo em que apenas um lado é o Azure).
Region1_s Região do Azure Azure região de rede virtual / interface de rede / máquina virtual à qual o IP de origem no fluxo pertence.
Region2_s Região do Azure Região do Azure da rede virtual à qual pertence o IP de destino no fluxo.
NIC_s <resourcegroup_Name>/<NetworkInterfaceName> NIC associada à VM que envia ou recebe o tráfego.
NIC1_s <resourcegroup_Name>/<NetworkInterfaceName> NIC associada ao IP de origem no fluxo.
NIC2_s <resourcegroup_Name>/<NetworkInterfaceName> NIC associada ao IP de destino no fluxo.
VM_s <resourcegroup_Name>/<NetworkInterfaceName> Máquina virtual associada à interface de rede NIC_s.
VM1_s <resourcegroup_Name>/<VirtualMachineName> Máquina virtual associada ao IP de origem no fluxo.
VM2_s <resourcegroup_Name>/<VirtualMachineName> Máquina virtual associada ao IP de destino no fluxo.
Subnet_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Sub-rede associada ao NIC_s.
Subnet1_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Sub-rede associada ao IP de origem no fluxo.
Subnet2_s <ResourceGroup_Name>/<VirtualNetwork_Name>/<SubnetName> Sub-rede associada ao IP de destino no fluxo.
ApplicationGateway1_s <SubscriptionID>/ResourceGroupName/<<ApplicationGatewayName>> Gateway de aplicativo associado ao IP de origem no fluxo.
ApplicationGateway2_s <SubscriptionID>/ResourceGroupName/<<ApplicationGatewayName>> Gateway de aplicativo associado ao IP de destino no fluxo.
ExpressRouteCircuit1_s <SubscriptionID>/ResourceGroupName/<<ExpressRouteCircuitName>> ID do circuito da Rota Expressa - quando o fluxo é enviado do local via Rota Expressa.
ExpressRouteCircuit2_s <SubscriptionID>/ResourceGroupName/<<ExpressRouteCircuitName>> ID do circuito da Rota Expressa - quando o fluxo é recebido da nuvem pela Rota Expressa.
ExpressRouteCircuitPeeringType_s - AzurePrivatePeering
- AzurePublicPeering
- MicrosoftPeering
Tipo de emparelhamento de Rota Expressa envolvido no fluxo.
LoadBalancer1_s <SubscriptionID>/ResourceGroupName/<<LoadBalancerName>> Balanceador de carga associado ao IP de origem no fluxo.
LoadBalancer2_s <SubscriptionID>/ResourceGroupName/<<LoadBalancerName>> Balanceador de carga associado ao IP de destino no fluxo.
LocalNetworkGateway1_s <SubscriptionID>/ResourceGroupName/<<LocalNetworkGatewayName>> Gateway de rede local associado ao IP de origem no fluxo.
LocalNetworkGateway2_s <SubscriptionID>/ResourceGroupName/<<LocalNetworkGatewayName>> Gateway de rede local associado ao IP de destino no fluxo.
ConnectionType_s - VNetPeering
- VpnGateway
- Rota Expressa
O tipo de onecção.
ConnectionName_s <SubscriptionID>/ResourceGroupName/<<ConnectionName>> O Nome da conexão. Para o tipo de fluxo P2S, ele é formatado como <gateway name>_<VPN Client IP>.
ConnectingVNets_s Lista separada por espaço de nomes de redes virtuais No caso da topologia hub e spoke, as redes virtuais do hub são preenchidas aqui.
Country_s Código do país com duas letras (ISO 3166-1 alpha-2) Preenchido para o tipo de fluxo ExternalPublic. Todos os endereços IP PublicIPs_s campo partilham o mesmo código de país.
AzureRegion_s Locais da região do Azure Preenchido para o tipo de fluxo AzurePublic. Todos os endereços IP em PublicIPs_s campo compartilham a região do Azure.
AllowedInFlows_d Contagem de fluxos de entrada permitidos, que representa o número de fluxos que compartilharam a mesma entrada de quatro tuplas para a interface de rede na qual o fluxo foi capturado.
DeniedInFlows_d Contagem de fluxos de entrada que foram negados. (Entrada para a interface de rede na qual o fluxo foi capturado).
AllowedOutFlows_d Contagem de fluxos de saída que foram permitidos (Saída para a interface de rede na qual o fluxo foi capturado).
DeniedOutFlows_d Contagem de fluxos de saída que foram negados (Saída para a interface de rede na qual o fluxo foi capturado).
FlowCount_d Preterido. Fluxos totais que correspondiam às mesmas quatro tuplas. No caso dos tipos de fluxo ExternalPublic e AzurePublic, a contagem também inclui os fluxos de vários endereços PublicIP.
InboundPackets_d Representa os pacotes enviados do destino para a origem do fluxo Preenchido apenas para a Versão 2 do esquema de log de fluxo NSG.
OutboundPackets_d Representa os pacotes enviados da origem para o destino do fluxo Preenchido apenas para a Versão 2 do esquema de log de fluxo NSG.
InboundBytes_d Representa bytes enviados do destino para a origem do fluxo Preenchido apenas para a Versão 2 do esquema de log de fluxo NSG.
OutboundBytes_d Representa bytes enviados da origem para o destino do fluxo Preenchido apenas para a Versão 2 do esquema de log de fluxo NSG.
CompletedFlows_d Preenchido com valor diferente de zero somente para a Versão 2 do esquema de log de fluxo NSG.
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 - Verdade
- Falso
Se o fluxo foi capturado em um salto UDR, o valor é True.

Importante

O esquema de análise de tráfego foi atualizado em 22 de agosto de 2019. O novo esquema fornece IPs de origem e de destino separadamente, eliminando a necessidade de analisar o FlowDirection campo para que as consultas sejam mais simples. O esquema atualizado teve as seguintes alterações:

  • FASchemaVersion_s Atualizado de 1 para 2.
  • Campos preteridos: VMIP_s, , , , , , , , , PublicIPs_sNSGRules_sNIC_sRegion_sSubscription_gSubnet_sVM_sFlowCount_d
  • Novos domínios: SrcPublicIPs_s, , DestPublicIPs_sNSGRule_s

Esquema de detalhes de IP público

A análise de tráfego fornece dados WHOIS e localização geográfica para todos os IPs públicos no seu ambiente. Para um IP mal-intencionado, a análise de tráfego fornece descrições de domínio DNS, tipo de ameaça e thread, conforme identificado pelas soluções de inteligência de segurança da Microsoft. Os Detalhes de IP são publicados no seu espaço de trabalho do Log Analytics para que você possa criar consultas personalizadas e colocar alertas nelas. Você também pode acessar consultas pré-preenchidas a partir do painel de análise de tráfego.

A tabela a seguir detalha o esquema IP público:

Campo Format Comentários
TableName AzureNetworkAnalyticsIPDetails_CL Tabela que contém dados de detalhes de IP de análise de tráfego.
SubType_s FlowLog Subtipo para os logs de fluxo. Use apenas "FlowLog", outros valores de SubType_s são para o funcionamento interno do produto.
FASchemaVersion_s 2 Versão do esquema. Não reflete a versão do log de fluxo do NSG.
FlowIntervalStartTime_t Data e hora em UTC Hora de início do intervalo de processamento do log de fluxo (tempo a partir do qual o intervalo de fluxo é medido).
FlowIntervalEndTime_t Data e hora em UTC Hora de término do intervalo de processamento do log de fluxo.
FlowType_s - AzurePublic
- Público Externo
- MaliciousFlow
Consulte Notas para definições.
IP IP público IP público cuja informação é fornecida no registo.
Localização Localização do PI - Para IP Público do Azure: região do Azure de rede virtual/interface de rede/máquina virtual à qual o IP pertence OU Global para IP 168.63.129.16.
- Para IP público externo e IP malicioso: código de país de 2 letras onde o IP está localizado (ISO 3166-1 alpha-2).
PublicIPDetails Informações sobre IP - Para AzurePublic IP: Serviço do Azure que possui o IP ou o IP público virtual da Microsoft para 168.63.129.16.
- ExternalPublic/Malicious IP: informações WhoIS do IP.
Tipo de ameaça Ameaça representada por IP malicioso Apenas para IPs maliciosos: uma das ameaças da lista de valores atualmente permitidos (descrita na tabela seguinte).
AmeaçaDescrição Descrição da ameaça Apenas para IPs mal-intencionados: Descrição da ameaça representada pelo IP mal-intencionado.
DNSDomain Domínio DNS Apenas para IPs maliciosos: Nome de domínio associado a este IP.

Lista de tipos de ameaça:

valor Description
Botnet Indicador detalhando um nó/membro de botnet.
C2 Indicador detalhando um nó Command & Control de uma botnet.
Criptomineração O tráfego envolvendo este endereço de rede / URL é uma indicação de CyrptoMining / abuso de recursos.
DarkNet Indicador de um nó/rede Darknet.
DDos Indicadores relativos a uma campanha DDoS ativa ou futura.
MaliciousUrl URL que está a servir malware.
Malware Indicador que descreve um ficheiro ou ficheiros maliciosos.
Phishing Indicadores relativos a uma campanha de phishing.
Proxy Indicador de um serviço de proxy.
PUA Aplicação potencialmente indesejada.
Lista de observação Um bucket genérico no qual os indicadores são colocados quando não é possível determinar exatamente qual é a ameaça ou requer interpretação manual. WatchList Normalmente, não devem ser utilizados pelos parceiros que enviam dados para o sistema.

Notas

  • No caso de e ExternalPublic fluxos, o IP da máquina virtual do Azure de propriedade do cliente é preenchido AzurePublic no VMIP_s campo, enquanto os endereços IP públicos são preenchidos no PublicIPs_s campo. Para esses dois tipos de fluxo, você deve usar VMIP_s e em vez de SrcIP_s e PublicIPs_sDestIP_s campos. Para endereços IP AzurePublic e ExternalPublic, agregamos ainda mais, para que o número de registros ingeridos no espaço de trabalho do Log Analytics seja mínimo. (Este campo será preterido em breve e você deve usar SrcIP_ e DestIP_s dependendo se a máquina virtual era a origem ou o destino no fluxo).
  • Alguns nomes de campo são acrescentados com _s ou _d, que não significam origem e destino, mas indicam os tipos de dados string e decimal , respectivamente.
  • Com base nos endereços IP envolvidos no fluxo, categorizamos os fluxos nos seguintes tipos de fluxo:
    • IntraVNet: Ambos os endereços IP no fluxo residem na mesma rede virtual do Azure.
    • InterVNet: Os endereços IP no fluxo residem em duas redes virtuais diferentes do Azure.
    • S2S (Site a Site): um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP pertence à rede do cliente (Site) conectada à rede virtual por meio do gateway VPN ou da Rota Expressa.
    • P2S (Ponto a Site): um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP pertence à rede do cliente (Site) conectada à Rede Virtual do Azure por meio do gateway VPN.
    • AzurePublic: Um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP é um endereço IP público do Azure de propriedade da Microsoft. Os endereços IP públicos de propriedade do cliente não fazem parte desse tipo de fluxo. Por exemplo, qualquer VM de propriedade do cliente que envie tráfego para um serviço do Azure (ponto de extremidade de armazenamento) seria categorizada nesse tipo de fluxo.
    • ExternalPublic: Um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP é um IP público que não está no Azure e não é relatado como mal-intencionado nos feeds ASC que a análise de tráfego consome para o intervalo de processamento entre "FlowIntervalStartTime_t" e "FlowIntervalEndTime_t".
    • MaliciousFlow: Um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP é um IP público que não está no Azure e é relatado como mal-intencionado nos feeds ASC que a análise de tráfego consome para o intervalo de processamento entre "FlowIntervalStartTime_t" e "FlowIntervalEndTime_t".
    • UnknownPrivate: Um dos endereços IP pertence a uma rede virtual do Azure, enquanto o outro endereço IP pertence ao intervalo de IP privado definido no RFC 1918 e não pôde ser mapeado pela análise de tráfego para um site de propriedade do cliente ou rede virtual do Azure.
    • Unknown: Não é possível mapear qualquer um dos endereços IP no fluxo com a topologia do cliente no Azure e no local (site).
  • Para saber mais sobre a análise de tráfego, consulte Visão geral da análise de tráfego.
  • Consulte Perguntas frequentes sobre análise de tráfego para obter respostas às perguntas mais frequentes sobre análise de tráfego.