Dzienniki przepływu sieci wirtualnej

Dzienniki przepływu sieci wirtualnej to funkcja usługi Azure Network Watcher. Można ich używać do rejestrowania informacji o ruchu IP przepływającym przez sieć wirtualną.

Dane przepływu z dzienników przepływu sieci wirtualnej są wysyłane do usługi Azure Storage. Z tego miejsca możesz uzyskać dostęp do danych i wyeksportować je do dowolnego narzędzia do wizualizacji, rozwiązania do zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM) lub systemu wykrywania włamań (IDS). Dzienniki przepływu sieci wirtualnej powodują rozwiązanie niektórych ograniczeń dzienników przepływów sieciowych grup zabezpieczeń.

Dlaczego warto używać dzienników przepływu?

Ważne jest, aby monitorować i znać sieć oraz zarządzać nią, aby można było ją chronić i optymalizować. Może być konieczne poznanie bieżącego stanu sieci, osób łączących się i miejsca, z których użytkownicy nawiązują połączenie. Może być również konieczne wiedzieć, które porty są otwarte dla Internetu, jakie zachowanie sieci jest oczekiwane, jakie zachowanie sieci jest nieregularne, a kiedy nagły wzrost ruchu ma miejsce.

Dzienniki przepływów są źródłem prawdy dla całej aktywności sieciowej w środowisku chmury. Niezależnie od tego, czy jesteś w startupie, który próbuje zoptymalizować zasoby, czy duże przedsiębiorstwo, które próbuje wykryć włamanie, dzienniki przepływów mogą pomóc. Można ich używać do optymalizowania przepływów sieciowych, monitorowania przepływności, weryfikowania zgodności, wykrywania nieautoryzowanego dostępu i nie tylko.

Typowe przypadki użycia

Monitorowanie sieci

  • Zidentyfikuj nieznany lub niepożądany ruch.
  • Monitorowanie poziomów ruchu i zużycia przepustowości.
  • Filtruj dzienniki przepływu według adresu IP i portu, aby zrozumieć zachowanie aplikacji.
  • Wyeksportuj dzienniki przepływu do narzędzi do analizy i wizualizacji, aby skonfigurować pulpity nawigacyjne monitorowania.

Monitorowanie i optymalizacja użycia

  • Zidentyfikuj najważniejszych rozmówców w sieci.
  • Połącz z danymi GeoIP, aby zidentyfikować ruch między regionami.
  • Omówienie wzrostu ruchu na potrzeby prognozowania pojemności.
  • Użyj danych, aby usunąć zbyt restrykcyjne reguły ruchu.

Zgodność

  • Użyj danych przepływu, aby zweryfikować izolację sieci i zgodność z regułami dostępu przedsiębiorstwa.

Analiza śledcza sieci i analiza zabezpieczeń

  • Analizowanie przepływów sieciowych z naruszonych adresów IP i interfejsów sieciowych.
  • Wyeksportuj dzienniki przepływu do dowolnego wybranego narzędzia SIEM lub IDS.

Dzienniki przepływu sieci wirtualnej w porównaniu z dziennikami przepływów sieciowej grupy zabezpieczeń

Dzienniki przepływu sieci wirtualnej i dzienniki przepływu sieciowej grupy zabezpieczeń rejestrują ruch IP, ale różnią się one ich zachowaniem i możliwościami.

Dzienniki przepływu sieci wirtualnej upraszczają zakres monitorowania ruchu, ponieważ można włączyć rejestrowanie w sieciach wirtualnych. Ruch przez wszystkie obsługiwane obciążenia w sieci wirtualnej jest rejestrowany.

Dzienniki przepływu sieci wirtualnej pozwalają również uniknąć konieczności włączania rejestrowania przepływów na wielu poziomach, takich jak w dziennikach przepływu sieciowej grupy zabezpieczeń. W dziennikach przepływu sieciowej grupy zabezpieczeń sieciowe grupy zabezpieczeń są konfigurowane zarówno w podsieci, jak i w interfejsie sieciowym (NIC).

Oprócz istniejącej obsługi identyfikowania ruchu, na który zezwalają lub odmawiają reguły sieciowej grupy zabezpieczeń, dzienniki przepływu sieci wirtualnej obsługują identyfikację ruchu dozwolonego lub odrzucanego przez reguły administratora zabezpieczeń usługi Azure Virtual Network Manager. Dzienniki przepływu sieci wirtualnej obsługują również ocenę stanu szyfrowania ruchu sieciowego w scenariuszach, w których używasz szyfrowania sieci wirtualnej.

Ważne

Zalecamy wyłączenie dzienników przepływu sieciowej grupy zabezpieczeń przed włączeniem dzienników przepływu sieci wirtualnej w tych samych obciążeniach bazowych, aby uniknąć duplikowania rejestrowania ruchu i dodatkowych kosztów. Jeśli włączysz dzienniki przepływu sieciowej grupy zabezpieczeń w sieciowej grupie zabezpieczeń podsieci, włączysz dzienniki przepływu sieci wirtualnej w tej samej podsieci lub nadrzędnej sieci wirtualnej, możesz uzyskać zduplikowane rejestrowanie (dzienniki przepływu sieciowych grup zabezpieczeń i dzienniki przepływu sieci wirtualnej wygenerowane dla wszystkich obsługiwanych obciążeń w tej konkretnej podsieci).

Jak działa rejestrowanie

Kluczowe właściwości dzienników przepływu sieci wirtualnej obejmują:

  • Dzienniki przepływu działają w warstwie 4 modelu Open SystemsConnect (OSI) i rejestrują wszystkie przepływy IP przechodzące przez sieć wirtualną.
  • Dzienniki są zbierane w odstępach jednej minuty za pośrednictwem platformy Azure. Nie wpływają one na zasoby platformy Azure ani ruch sieciowy.
  • Dzienniki są zapisywane w formacie JavaScript Object Notation (JSON).
  • Każdy rekord dziennika zawiera interfejs sieciowy, którego dotyczy przepływ, 5 krotki, kierunek ruchu, stan przepływu, stan szyfrowania i informacje o przepływności.
  • Wszystkie przepływy ruchu w sieci są oceniane za pomocą odpowiednich reguł sieciowej grupy zabezpieczeń lub reguł administratora zabezpieczeń usługi Azure Virtual Network Manager.

Format dziennika

Dzienniki przepływu sieci wirtualnej mają następujące właściwości:

  • time: godzina w formacie UTC, kiedy zdarzenie zostało zarejestrowane.
  • flowLogVersion: wersja schematu dziennika przepływu.
  • flowLogGUID: identyfikator GUID FlowLog zasobu.
  • macAddress: adres MAC interfejsu sieciowego, w którym zostało przechwycone zdarzenie.
  • category: kategoria zdarzenia. Kategoria to zawsze FlowLogFlowEvent.
  • flowLogResourceID: identyfikator FlowLog zasobu zasobu.
  • targetResourceID: identyfikator zasobu docelowego skojarzonego z zasobem FlowLog .
  • operationName: Zawsze FlowLogFlowEvent.
  • flowRecords: Kolekcja rekordów przepływu.
    • flows: Kolekcja przepływów. Ta właściwość zawiera wiele wpisów dla list kontroli dostępu (ACL):
      • aclID: identyfikator zasobu, który ocenia ruch— sieciową grupę zabezpieczeń lub Menedżera sieci wirtualnej. W przypadku ruchu, który jest blokowany z powodu szyfrowania, ta wartość to unspecified.
      • flowGroups: Zbieranie rekordów przepływu na poziomie reguły:
        • rule: nazwa reguły, która zezwala na ruch lub go odrzuca. W przypadku ruchu, który jest blokowany z powodu szyfrowania, ta wartość to unspecified.
        • flowTuples: Ciąg zawierający wiele właściwości krotki przepływu w formacie rozdzielanym przecinkami:
          • Time Stamp: sygnatura czasowa wystąpienia przepływu w formacie system UNIX epoki.
          • Source IP: źródłowy adres IP.
          • Destination IP: docelowy adres IP.
          • Source port: port źródłowy.
          • Destination port: port docelowy.
          • Protocol: Protokół warstwy 4 przepływu wyrażony w wartościach przypisanych przez IANA.
          • Flow direction: Kierunek przepływu ruchu. Prawidłowe wartości są I przeznaczone dla ruchu przychodzącego i O wychodzącego.
          • Flow state: stan przepływu. Możliwe stany to:
            • B: Początek, po utworzeniu przepływu. Nie podano żadnych statystyk.
            • C: kontynuowanie trwającego przepływu. Statystyki są udostępniane w pięciu minutach.
            • E: Koniec, gdy przepływ zostanie zakończony. Statystyki są podawane.
            • D: Odmów, gdy przepływ zostanie odrzucony.
          • Flow encryption: stan szyfrowania przepływu. W tabeli po tej liście opisano możliwe wartości.
          • Packets sent: Łączna liczba pakietów wysłanych ze źródła do miejsca docelowego od ostatniej aktualizacji.
          • Bytes sent: Całkowita liczba bajtów pakietów wysłanych ze źródła do miejsca docelowego od ostatniej aktualizacji. Liczba bajtów pakietu obejmuje nagłówek i ładunek pakietu.
          • Packets received: Łączna liczba pakietów wysłanych z miejsca docelowego do źródła od ostatniej aktualizacji.
          • Bytes received: Całkowita liczba bajtów pakietów wysłanych z miejsca docelowego do źródła od ostatniej aktualizacji. Liczba bajtów pakietu obejmuje nagłówek i ładunek pakietu.

Flow encryption ma następujące możliwe stany szyfrowania:

Stan szyfrowania opis
X Połączenie ion jest szyfrowany. Szyfrowanie jest skonfigurowane, a platforma szyfruje połączenie.
NX Połączenie ion jest niezaszyfrowany. To zdarzenie jest rejestrowane w dwóch scenariuszach:
— Jeśli szyfrowanie nie jest skonfigurowane.
— Gdy zaszyfrowana maszyna wirtualna komunikuje się z punktem końcowym, który nie ma szyfrowania (np. internetowego punktu końcowego).
NX_HW_NOT_SUPPORTED Sprzęt jest nieobsługiwany. Szyfrowanie jest skonfigurowane, ale maszyna wirtualna jest uruchomiona na hoście, który nie obsługuje szyfrowania. Ten problem zwykle występuje, ponieważ układ FPGA (field-programowalny tablica bramy) nie jest dołączony do hosta lub jest uszkodzony. Zgłoś ten problem firmie Microsoft w celu zbadania.
NX_SW_NOT_READY Oprogramowanie nie jest gotowe. Szyfrowanie jest skonfigurowane, ale składnik oprogramowania (GFT) w stosie sieci hosta nie jest gotowy do przetwarzania zaszyfrowanych połączeń. Ten problem może wystąpić, gdy maszyna wirtualna jest uruchamiana po raz pierwszy, jest uruchamiana ponownie lub jest wdrażana ponownie. Może się to zdarzyć również w przypadku aktualizacji składników sieciowych na hoście, na którym jest uruchomiona maszyna wirtualna. We wszystkich tych scenariuszach pakiet zostanie porzucony. Problem powinien być tymczasowy. Szyfrowanie powinno rozpocząć pracę po pełnym uruchomieniu maszyny wirtualnej lub zakończeniu aktualizacji oprogramowania na hoście. Jeśli problem ma dłuższy czas trwania, zgłoś go firmie Microsoft w celu zbadania.
NX_NOT_ACCEPTED Upuść z powodu braku szyfrowania. Szyfrowanie jest konfigurowane zarówno w punktach końcowych źródłowych, jak i docelowych, z usunięciem niezaszyfrowanych zasad. Jeśli szyfrowanie ruchu zakończy się niepowodzeniem, pakiet zostanie porzucony.
NX_NOT_SUPPORTED Odnajdywanie nie jest obsługiwane. Szyfrowanie jest skonfigurowane, ale sesja szyfrowania nie została ustanowiona, ponieważ stos sieci hosta nie obsługuje odnajdywania. W takim przypadku pakiet zostanie porzucony. Jeśli wystąpi ten problem, zgłoś go firmie Microsoft w celu zbadania.
NX_LOCAL_DST Miejsce docelowe znajduje się na tym samym hoście. Szyfrowanie jest skonfigurowane, ale źródłowe i docelowe maszyny wirtualne są uruchomione na tym samym hoście platformy Azure. W takim przypadku połączenie nie jest szyfrowane zgodnie z projektem.
NX_FALLBACK Wróć do braku szyfrowania. Szyfrowanie jest konfigurowane przy użyciu zasad Zezwalaj na niezaszyfrowane zarówno dla punktów końcowych źródłowych, jak i docelowych. System próbował zaszyfrować, ale miał problem. W takim przypadku połączenie jest dozwolone, ale nie jest szyfrowane. Na przykład maszyna wirtualna początkowo wylądowała w węźle obsługującym szyfrowanie, ale ta obsługa została usunięta później.

Ruch w sieciach wirtualnych jest domyślnie niezaszyfrowany (NX). Aby uzyskać zaszyfrowany ruch, zobacz Szyfrowanie sieci wirtualnej.

Przykładowy rekord dziennika

W poniższym przykładzie dzienników przepływu sieci wirtualnej wiele rekordów postępuje zgodnie z listą właściwości opisaną wcześniej.

{
    "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"
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Obliczanie krotki dzienników i przepustowości

Tabela przedstawiająca format dziennika przepływu sieci wirtualnej.

Oto przykładowe obliczenie przepustowości dla krotek przepływu z konwersacji TCP między 185.170.185.105:35370 i 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

W przypadku stanów przepływu kontynuacji (C) i końcowych (E) liczba bajtów i pakietów są agregowane od czasu rekordu krotki poprzedniego przepływu. W przykładowej konwersacji całkowita liczba przetransferowanych pakietów wynosi 1021 + 52 + 8005 + 47 = 9125. Całkowita liczba przetransferowanych bajtów wynosi 588 096 + 29 952 + 4 610 880 + 27 072 = 5 256 000.

Zagadnienia dotyczące konta magazynu dotyczące dzienników przepływu sieci wirtualnej

  • Lokalizacja: konto magazynu musi znajdować się w tym samym regionie co sieć wirtualna.
  • Subskrypcja: konto magazynu musi należeć do tej samej subskrypcji sieci wirtualnej lub w subskrypcji skojarzonej z tą samą dzierżawą firmy Microsoft w ramach subskrypcji sieci wirtualnej.
  • Warstwa wydajności: konto magazynu musi być standardowe. Konta magazynu premium nie są obsługiwane.
  • Rotacja kluczy zarządzanych samodzielnie: w przypadku zmiany lub rotacji kluczy dostępu do konta magazynu dzienniki przepływu sieci wirtualnej przestaną działać. Aby rozwiązać ten problem, należy wyłączyć i ponownie włączyć dzienniki przepływu sieci wirtualnej.

Cennik

  • Dzienniki przepływów sieci wirtualnej są naliczane za gigabajt zebranych dzienników przepływu sieci i są dostarczane z bezpłatną warstwą 5 GB/miesiąc na subskrypcję.

    Uwaga

    Dzienniki przepływów sieci wirtualnej będą rozliczane od 1 czerwca 2024 r.

  • Jeśli analiza ruchu jest włączona z dziennikami przepływu sieci wirtualnej, ceny analizy ruchu mają zastosowanie do stawek przetwarzania za gigabajt. Analiza ruchu nie jest oferowana z warstwą bezpłatną cen. Aby uzyskać więcej informacji, zobacz Cennik usługi Network Watcher.

  • Opłata za magazyn dzienników jest naliczana oddzielnie. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure Blob Storage.

Dostępność

Dzienniki przepływu sieci wirtualnej są ogólnie dostępne we wszystkich regionach publicznych platformy Azure.