Logs de fluxo de rede virtual

Os registos de fluxo de rede virtual são uma funcionalidade do Azure Observador de Rede. É possível usá-los para registrar informações sobre o tráfego IP que flui por meio de uma rede virtual.

Os dados de fluxo dos registos de fluxo da rede virtual são enviados para o Armazenamento do Azure. De lá, você pode acessar os dados e exportá-los para qualquer ferramenta de visualização, solução SIEM (gerenciamento de eventos e informações de segurança) ou IDS (sistema de detecção de intrusões). Os logs de fluxo de rede virtual superam algumas das limitações dos Logs de fluxo do grupo de segurança de rede.

Por que usar logs de fluxo?

É fundamental monitorar, gerenciar e conhecer sua rede para proteger e otimizá-la. Pode ser necessário saber o estado atual da rede, quem está se conectando e de onde os usuários estão se conectando. Também pode ser necessário saber quais portas estão abertas à Internet, qual comportamento de rede é esperado, qual comportamento de rede é irregular e quando o aumento repentino do tráfego acontece.

Os logs de fluxo são a fonte de verdade para todas as atividades de rede no ambiente de nuvem. Se você está em uma inicialização que está tentando otimizar recursos ou em uma grande empresa que está tentando detectar intrusões, os logs de fluxo podem ajudar. Use-os para otimizar os fluxos de rede, monitorar a taxa de transferência, verificar a conformidade, detectar invasões e muito mais.

Casos de uso comuns

Monitoramento de rede

  • identificar tráfego desconhecido ou indesejado.
  • Monitore os níveis de tráfego e o consumo da largura de banda.
  • Filtre os logs de fluxo por IP e porta para entender o comportamento do aplicativo.
  • Exporte os logs de fluxo para ferramentas de análise e visualização que quiser para configurar os painéis de monitoramento.

Monitoramento e otimização de uso

  • identifique os principais agentes de conversa em sua rede.
  • Combine com os dados do GeoIP para identificar o tráfego entre regiões.
  • Entenda o crescimento do tráfego para a previsão de capacidade.
  • Use dados para remover regras de tráfego excessivamente restritivas.

Conformidade

  • use os dados de fluxo para verificar o isolamento de rede e a conformidade com as regras de acesso corporativo.

Análise forense e de segurança de rede

  • analise fluxos de rede de IPS e adaptadores de rede comprometidos.
  • Exporte os logs de fluxo para qualquer ferramenta SIEM ou IDS de sua escolha.

Logs de fluxo de rede virtual comparados aos logs de fluxo do grupo de segurança de rede

Tanto os logs de fluxo de rede virtual quanto os logs de fluxo de grupo de segurança de rede registram o tráfego IP, mas diferem em seu comportamento e recursos.

Os logs de fluxo de rede virtual simplificam o escopo do monitoramento de tráfego porque você pode habilitar o log em redes virtuais. O tráfego por todas as cargas de trabalho com suporte em uma rede virtual é registrado.

Os logs de fluxo de rede virtual também evitam a necessidade de habilitar o log de fluxo de vários níveis, como em logs de fluxo de grupo de segurança de rede. Nos logs de fluxo do grupo de segurança de rede, os grupos de segurança de rede são configurados na sub-rede e na interface de rede (NIC).

Além do suporte existente para identificar o tráfego que regras de grupo de segurança de rede permitem ou negam, os registos de fluxo de rede virtual suportam a identificação de tráfego que regras de administração de segurança do Gerenciador de Rede Virtual do Azure permitem ou negam. Os registos de fluxo de rede virtual também suportam a avaliação do estado de encriptação do seu tráfego de rede em cenários em que está a utilizar encriptação de rede virtual.

Importante

Recomendamos desabilitar os logs de fluxo do grupo de segurança de rede antes de habilitar logs de fluxo de rede virtual nas mesmas cargas de trabalho subjacentes para evitar gravação de tráfego duplicado e custos adicionais. Se você habilitar logs de fluxo de grupo de segurança de rede no grupo de segurança de rede de uma sub-rede e, em seguida, habilitar logs de fluxo de rede virtual na mesma sub-rede ou rede virtual pai, poderá obter logs duplicados (logs de fluxo de grupo de segurança de rede e logs de fluxo de rede virtual gerado para todas as cargas de trabalho suportadas nessa sub-rede específica).

Como o registro em log funciona

As principais propriedades dos registos de fluxo de rede virtual incluem:

  • Os logs de fluxo operam na Camada 4 do modelo OSI (Open Systems Interconnection) e registram todos os fluxos de IP que passam por uma rede virtual.
  • Os logs são coletados em intervalos de um minuto por meio da plataforma do Azure. Eles não afetam seus recursos do Azure nem o tráfego de rede.
  • Os logs são gravados no formato JSON (JavaScript Object Notation).
  • Cada registro de log contém o adaptador de rede ao qual o fluxo se aplica, informações de 5 tuplas, direção do tráfego, estado do fluxo, estado da criptografia e informações da taxa de transferência.
  • Todos os fluxos de tráfego em sua rede são avaliados por meio de regras de grupo de segurança de rede ou regras de administração de segurança do Gerenciador de Rede Virtual do Azure aplicáveis.

Formato de log

Os registos de fluxo de rede virtual têm as seguintes propriedades:

  • time: hora em UTC em que o evento foi registrado.
  • flowLogVersion: versão do esquema do log de fluxo.
  • flowLogGUID: GUID de recurso do recurso FlowLog.
  • macAddress: endereço MAC do adaptador de rede em que o evento foi capturado.
  • category: categoria do evento. A categoria é sempre FlowLogFlowEvent.
  • flowLogResourceID: ID de recurso do recurso FlowLog.
  • targetResourceID: ID de recurso do destino associado ao recurso FlowLog.
  • operationName: sempre FlowLogFlowEvent.
  • flowRecords: coleção de registros de fluxo.
    • flows: coleção de fluxos. Essa propriedade tem várias entradas para ACLs (listas de controle de acesso):
      • aclID: identificador do recurso que está avaliando o tráfego, seja um grupo de segurança de rede ou o Gerenciador de Rede Virtual. Para o tráfego negado por causa da criptografia, esse valor é unspecified.
      • flowGroups: coleção de registros de fluxo em um nível de regra:
        • rule: nome da regra que permitiu ou negou o tráfego. Para o tráfego negado por causa da criptografia, esse valor é unspecified.
        • flowTuples: cadeia de caracteres que contém várias propriedades da tupla de fluxo em um formato separado por vírgula:
          • Time Stamp: carimbo de data/hora de quando ocorreu o fluxo, no formato UNIX epoch.
          • Source IP: endereço IP de origem.
          • Destination IP: endereço IP de destino.
          • Source port: porta de origem.
          • Destination port: porta de destino.
          • Protocol: protocolo de Camada 4 do fluxo expresso em valores atribuídos à IANA.
          • Flow direction: direção do fluxo de tráfego. Os valores válidos são I para entrada e O para saída.
          • Flow state: estado do fluxo. Os possíveis estados são:
            • B: iniciar, quando um fluxo for criado. Nenhuma estatística é fornecida.
            • C: continuando um fluxo contínuo. As estatísticas são fornecidas em intervalos de cinco minutos.
            • E: encerrar, quando um fluxo terminar. Estatísticas são fornecidas.
            • D: negar, quando um fluxo é negado.
          • Flow encryption: estado de criptografia do fluxo. A tabela após essa lista descreve os valores possíveis.
          • Packets sent: número total de pacotes enviados da origem para o destino desde a última atualização.
          • Bytes sent: número total de bytes de pacote enviados da origem para o destino desde a última atualização. O número total de bytes de pacote TCP e UDP enviados da origem para o destino desde os últimos bytes updatePacket inclui o cabeçalho e a carga útil do pacote.
          • Packets received: número total de pacotes enviados do destino para a origem desde a última atualização.
          • Bytes received: número total de bytes de pacote enviados do destino para a origem desde a última atualização. O número total de bytes de pacote TCP e UDP enviados da origem para o destino desde os últimos bytes updatePacket inclui o cabeçalho e a carga útil do pacote.

Flow encryption tem os seguintes status de criptografia possíveis:

Status de criptografia Descrição
X A conexão é criptografada. A criptografia está configurada e a plataforma criptografou a conexão.
NX A conexão não é criptografada. Esse evento é registrado em dois cenários:
- Quando a criptografia não está configurada.
- Quando uma máquina virtual criptografada se comunica com um ponto de extremidade que não tem criptografia (como um ponto de extremidade da Internet).
NX_HW_NOT_SUPPORTED O hardware não tem suporte. A criptografia está configurada, mas a máquina virtual está em execução em um host que não dá suporte à criptografia. Esse problema geralmente acontece porque a FPGA (matriz de porta programável no campo) não está anexada ao host ou está com falha. Relate esse problema à Microsoft para investigação.
NX_SW_NOT_READY O software não está pronto. A criptografia está configurada, mas o componente de software (GFT) na pilha de rede do host não está pronto para processar conexões criptografadas. Esse problema pode acontecer quando a máquina virtual está iniciando pela primeira vez, está sendo reiniciada ou reimplantada. Isso também pode ocorrer quando há uma atualização dos componentes de rede no host no qual a máquina virtual está em execução. Em todos esses cenários, o pacote é descartado. O problema deve ser temporário. A criptografia deve começar a funcionar depois que a máquina virtual estiver totalmente em execução ou a atualização de software no host estiver concluída. Se o problema tiver uma duração maior, relate-o à Microsoft para investigação.
NX_NOT_ACCEPTED Descartar por não ter nenhuma criptografia. A criptografia é configurada em pontos de extremidade de origem e de destino, com uma rejeição de políticas não criptografadas. Se a criptografia de tráfego falhar, o pacote será descartado.
NX_NOT_SUPPORTED A descoberta não tem suporte. A criptografia está configurada, mas a sessão de criptografia não foi estabelecida porque a pilha de rede do host não dá suporte à descoberta. Nesse caso, o pacote é descartado. Se você encontrar esse problema, relate-o à Microsoft para investigação.
NX_LOCAL_DST O destino está no mesmo host. A criptografia está configurada, mas as máquinas virtuais de origem e de destino estão em execução no mesmo host do Azure. Nesse caso, a conexão não é criptografada pelo design.
NX_FALLBACK Fallback para nenhuma criptografia. A criptografia está configurada com a política Permitir não criptografado para pontos de extremidade de origem e de destino. O sistema tentou a criptografia, mas teve um problema. Nesse caso, a conexão é permitida, mas não é criptografada. Por exemplo, uma máquina virtual inicialmente foi alocada para um nó que dá suporte à criptografia, mas esse suporte foi removido posteriormente.

O tráfego em suas redes virtuais não é criptografado (NX) por padrão. Para tráfego criptografado, consulte Criptografia de rede virtual.

Registro de log de exemplo

No exemplo seguinte de registos de fluxo de rede virtual, vários registos seguem a lista de propriedades descrita 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 largura de banda e de tupla de log

Tabela que mostra o formato de um log de fluxo de rede virtual.

Veja um exemplo de cálculo de largura de banda para tuplas de fluxo de uma conversa TCP entre 185.170.185.105:35370 e 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 os estados de fluxo de continuação (C) e final (E), as contagens de bytes e pacotes são contagens agregadas do tempo do registro da tupla do fluxo anterior. Na conversa de exemplo, o número total de pacotes transferidos é 1.021 + 52 + 8.005 + 47 = 9.125. O número total de bytes transferidos é 588.096 + 29.952 + 4.610.880 + 27.072 = 5.256.000.

Considerações de conta de armazenamento para registos de fluxo de rede virtual

  • Local: a conta de armazenamento usada precisa estar na mesma região que a rede virtual.
  • Assinatura: a conta de armazenamento deve estar na mesma assinatura da rede virtual ou em uma assinatura associada ao mesmo locatário do Microsoft Entra da assinatura da rede virtual.
  • Nível de desempenho: a conta de armazenamento precisa ser padrão. Não há suporte para as contas de armazenamento Premium.
  • Rotação de chaves autogerenciadas: se você alterar ou girar as chaves de acesso à sua conta de armazenamento, os logs de fluxo de rede virtual deixarão de funcionar. Para corrigir esse problema, você deve desabilitar e reabilitar os logs de fluxo de rede virtual.

Preços

  • Os logs de fluxo de rede virtual são cobrados por gigabyte de logs de fluxo de rede coletado e vêm com um nível gratuito de 5 GB/mês por assinatura.

    Observação

    Os registos de fluxo de rede virtual serão faturados a partir de 1 de junho de 2024.

  • Se a análise de tráfego estiver habilitada com logs de fluxo de rede virtual, os preços da análise de tráfego serão aplicados a taxas de processamento por gigabyte. A análise de tráfego não é oferecida com um tipo gratuito de preço. Para saber mais, confira Preço do Observador de Rede.

  • O armazenamento de logs é cobrado separadamente. Para obter mais informações, confira Preços do Armazenamento de Blobs do Azure.

Disponibilidade

Os registos de fluxo de rede virtual estão geralmente disponíveis em todas as regiões públicas do Azure.