Logs de fluxo de rede virtual

Os logs de fluxo de rede virtual são um recurso do Azure Network Watcher. Você pode usá-los para registrar informações sobre o tráfego IP que flui através de uma rede virtual.

Os dados de fluxo dos logs de fluxo de rede virtual são enviados para o Armazenamento do Azure. A partir daí, você pode acessar os dados e exportá-los para qualquer ferramenta de visualização, solução de gerenciamento de eventos e informações de segurança (SIEM) ou sistema de deteção de intrusão (IDS). 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?

É vital monitorar, gerenciar e conhecer sua rede para que você possa protegê-la e otimizá-la. Talvez seja necessário saber o estado atual da rede, quem está se conectando e de onde os usuários estão se conectando. Você também pode precisar saber quais portas estão abertas para a internet, qual comportamento de rede é esperado, qual comportamento de rede é irregular e quando aumentos repentinos no tráfego acontecem.

Os registos de fluxos são a fonte fidedigna para a toda a atividade da rede no ambiente da cloud. Quer esteja numa startup que está a tentar otimizar recursos ou numa grande empresa que está a tentar detetar intrusões, os registos de fluxo podem ajudar. Você pode usá-los para otimizar fluxos de rede, monitorar a taxa de transferência, verificar a conformidade, detetar invasões e muito mais.

Casos comuns de utilização

Monitorização de rede

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

Monitorização e otimização da utilização

  • Identifique os principais locutores na sua rede.
  • Combine com dados GeoIP para identificar tráfego entre regiões.
  • Entenda o crescimento do tráfego para previsão de capacidade.
  • Use dados para remover regras de trânsito excessivamente restritivas.

Conformidade

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

Perícia forense de rede e análise de segurança

  • Analise fluxos de rede a partir de IPs comprometidos e interfaces de rede.
  • Exporte logs de fluxo para qualquer ferramenta SIEM ou IDS de sua escolha.

Logs de fluxo de rede virtual em comparação com logs de fluxo de grupo de segurança de rede

Os logs de fluxo de rede virtual e os logs de fluxo do 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 registro em redes virtuais. O tráfego através de todas as cargas de trabalho suportadas dentro de 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 as regras do grupo de segurança de rede permitem ou negam, os logs de fluxo de rede virtual dão suporte à identificação do tráfego que as regras de administração de segurança do Gerenciador de Rede Virtual do Azure permitem ou negam. Os logs de fluxo de rede virtual também oferecem suporte à avaliação do status de criptografia do tráfego de rede em cenários em que você está usando a criptografia de rede virtual.

Importante

Recomendamos desativar os logs de fluxo do grupo de segurança de rede antes de habilitar os 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 os logs de fluxo do grupo de segurança de rede no grupo de segurança de rede de uma sub-rede, habilitará os logs de fluxo de rede virtual na mesma sub-rede ou rede virtual pai, poderá obter logs de fluxo duplicados (logs de fluxo do grupo de segurança de rede e logs de fluxo de rede virtual gerados para todas as cargas de trabalho suportadas nessa sub-rede específica).

Como funciona o registo

As principais propriedades dos logs 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 IP que passam por uma rede virtual.
  • Os logs são coletados em intervalos de um minuto por meio da plataforma Azure. Eles não afetam seus recursos do Azure ou tráfego de rede.
  • Os logs são gravados no formato JSON (JavaScript Object Notation).
  • Cada registro de log contém a interface de rede à qual o fluxo se aplica, informações de 5 tuplas, direção do tráfego, estado do fluxo, estado de criptografia e informações de taxa de transferência.
  • Todos os fluxos de tráfego na sua rede são avaliados através das regras de grupo de segurança de rede aplicáveis ou das regras de administração de segurança do Azure Virtual Network Manager.

Formato de registo

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

  • time: Hora em UTC em que o evento foi registado.
  • flowLogVersion: Versão do esquema do log de fluxo.
  • flowLogGUID: GUID do FlowLog recurso.
  • macAddress: Endereço MAC da interface de rede onde o evento foi capturado.
  • category: Categoria do evento. A categoria é sempre FlowLogFlowEvent.
  • flowLogResourceID: ID do FlowLog recurso do recurso.
  • targetResourceID: ID do recurso de destino associado ao FlowLog recurso.
  • operationName: Sempre FlowLogFlowEvent.
  • flowRecords: Recolha de registos de fluxo.
    • flows: Recolha de fluxos. Esta propriedade tem várias entradas para listas de controle de acesso (ACLs):
      • aclID: Identificador do recurso que está avaliando o tráfego, seja um grupo de segurança de rede ou o Virtual Network Manager. Para o tráfego negado devido à criptografia, esse valor é unspecified.
      • flowGroups: Coleta 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 devido à criptografia, esse valor é unspecified.
        • flowTuples: String que contém várias propriedades para a tupla de fluxo em um formato separado por vírgula:
          • Time Stamp: Carimbo de data/hora de quando o fluxo ocorreu, em formato de época UNIX.
          • Source IP: Endereço IP de origem.
          • Destination IP: Endereço IP de destino.
          • Source port: Porta de origem.
          • Destination port: Porto 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 saída.
          • Flow state: Estado do fluxo. Os estados possíveis são:
            • B: Comece, quando um fluxo é criado. Não são fornecidas estatísticas.
            • C: Continuar para um fluxo contínuo. As estatísticas são fornecidas em intervalos de cinco minutos.
            • E: Fim, quando um fluxo é encerrado. São fornecidas estatísticas.
            • D: Negar, quando um fluxo é negado.
          • Flow encryption: Estado de criptografia do fluxo. A tabela após esta 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. Os bytes de pacote incluem o cabeçalho do pacote e a carga útil.
          • 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. Os bytes de pacote incluem o cabeçalho do pacote e a carga útil.

Flow encryption tem os seguintes estados de encriptação possíveis:

Estado da encriptação Description
X A conexão é criptografada. A criptografia é configurada e a plataforma criptografa a conexão.
NX A conexão não é criptografada. Esse evento é registrado em dois cenários:
- Quando a encriptação não está configurada.
- Quando uma máquina virtual criptografada se comunica com um ponto de extremidade que não possui criptografia (como um ponto de extremidade da Internet).
NX_HW_NOT_SUPPORTED O hardware não é suportado. A criptografia está configurada, mas a máquina virtual está sendo executada em um host que não oferece suporte à criptografia. Esse problema geralmente acontece porque o FPGA (field-programmable gate array) não está conectado ao host ou está com defeito. Comunique este 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á reiniciando ou é reimplantada. Isso também pode acontecer quando há uma atualização para os componentes de rede no host onde a máquina virtual está sendo executada. 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 instalada e em execução ou a atualização de software no host estiver concluída. Se o problema tiver uma duração maior, reporte-o à Microsoft para investigação.
NX_NOT_ACCEPTED Queda devido a nenhuma criptografia. A criptografia é configurada nos pontos de extremidade de origem e de destino, com uma queda nas políticas não criptografadas. Se a criptografia de tráfego falhar, o pacote será descartado.
NX_NOT_SUPPORTED Não há suporte para a descoberta. A criptografia está configurada, mas a sessão de criptografia não foi estabelecida porque a pilha de rede do host não oferece suporte à descoberta. Nesse caso, o pacote é descartado. Se encontrar este problema, informe-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 destino estão sendo executadas no mesmo host do Azure. Nesse caso, a conexão não é criptografada por design.
NX_FALLBACK Volte a não encriptar. A criptografia é configurada com a política Permitir não criptografados para pontos de extremidade de origem e destino. O sistema tentou encriptar, mas teve um problema. Nesse caso, a conexão é permitida, mas não é criptografada. Por exemplo, uma máquina virtual inicialmente aterrissou em um nó que suporta 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 a seguir de logs de fluxo de rede virtual, vários registros 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 tupla de log e largura de banda

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

Aqui está 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 momento do registro de 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 sobre a conta de armazenamento para logs de fluxo de rede virtual

  • Local: A conta de armazenamento deve estar na mesma região da 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 deve ser padrão. As contas de armazenamento Premium não são suportadas
  • Rotação de chaves autogerenciada: se você alterar ou girar as chaves de acesso à sua conta de armazenamento, os logs de fluxo de rede virtual param de funcionar. Para corrigir esse problema, você deve desabilitar e reativar 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 coletados e vêm com um nível gratuito de 5 GB/mês por assinatura.

    Nota

    Os logs de fluxo de rede virtual serão cobrados a partir de 1º de junho de 2024.

  • Se a análise de tráfego estiver habilitada com logs de fluxo de rede virtual, o preço da análise de tráfego será aplicado a taxas de processamento por gigabyte. A análise de tráfego não é oferecida com um nível gratuito de preços. Para obter mais informações, consulte Preços do Inspetor de Rede.

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

Disponibilidade

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