Esquema de análise de tráfego e agregação de dados
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
eFlowIntervalEndTime_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 IP
,Destination port
,NSG name
,NSG rule
,Flow Direction
eTransport 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 entreFlowIntervalStartTime_t
eFlowIntervalEndTime_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 os logs de fluxo do grupo de segurança de rede.
Campo | Formato | 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 grupo de segurança de rede. |
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 do grupo de segurança de rede. |
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 do grupo de segurança de rede. |
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 do grupo de segurança de rede. |
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 do grupo de segurança de rede. |
CompletedFlows_d | Preenchido com valor diferente de zero somente para a Versão 2 do esquema de log de fluxo do grupo de segurança de rede. | |
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: , , , ,
NSGRules_s
,Subnet_s
VM_s
,NIC_s
, ,PublicIPs_s
,Region_s
Subscription_g
VMIP_s
FlowCount_d
- Novos domínios:
SrcPublicIPs_s
,DestPublicIPs_s
,NSGRule_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 | Formato | 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 grupo de segurança de rede. |
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. |
Location | 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 maliciosos. Descrição da ameaça representada pelo IP malicioso. |
DNSDomain | Domínio DNS | Apenas para IPs maliciosos. Nome de domínio associado ao IP malicioso. |
Url | URL correspondente ao IP malicioso | Apenas para IPs maliciosos |
Porta | Porta correspondente ao IP malicioso | Apenas para IPs maliciosos |
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 é preenchidoAzurePublic
noVMIP_s
campo, enquanto os endereços IP públicos são preenchidos noPublicIPs_s
campo. Para esses dois tipos de fluxo, você deve usarVMIP_s
ePublicIPs_s
em vez deSrcIP_s
eDestIP_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. Use SrcIP_s 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).
Conteúdos relacionados
- 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.