Problém

Routery a switche umí exportovat záznamy o tocích (IPFIX nebo NetFlow): kdo s kým komunikuje, na jakých portech, kolik a kdy. Aby se daly využít, potřebujete kolektor, úložiště, které rychle prohledá miliony záznamů, a dashboardy, ve kterých se v datech vyznáte. Spousta malých a středních sítí nic z toho nemá, a tak se záznamy vůbec nesbírají.

Co jsem postavil

Samostatný Docker Compose stack, který sbírá, obohacuje a analyzuje síťový provoz z exportů IPFIX/NetFlow.

  • Sběr. Kolektor IPFIXcol2 přijímá IPFIX přes UDP 4739 z routeru nebo switche, případně z vestavěného generátoru syntetického provozu.
  • Ukládání a obohacení. Toky se ukládají do ClickHouse. Už při zápisu dostane každý tok název protokolu, směr provozu (interní, příchozí, odchozí), QoS prioritu, ECN a čitelné TCP příznaky.
  • Dashboardy. Grafana má předpřipravený datový zdroj a dashboard Network Security Overview: heuristiky pro skenování, brute-force a záplavové útoky, kontroly spoofingu a filtrovatelnou tabulku toků.
  • Demo režim. Syntetický provoz bez citlivých dat (jen dokumentační rozsahy IP adres), takže si stack může kdokoli vyzkoušet lokálně.
  • Provoz. Běží na jednom serveru. Verze jsou zafixované, hesla jsou jen v .env, ClickHouse a Grafana poslouchají jen na localhostu a data se uchovávají 3–4 měsíce.

Demo verze a ostré nasazení

Repozitář na GitHubu je demo verze pod licencí MIT. Slouží k tomu, abyste si stack vyzkoušeli a viděli, jak funguje, se syntetickým provozem.

Provoz ve skutečné síti potřebuje víc: dimenzování podle vašeho provozu a doby uchování dat, připojení vašich exportérů, nastavení přístupů a zabezpečení, detekce vyladěné na vaši síť a někoho, kdo se o stack stará. To dělám pro klienty. Navíc stack rozšiřuji o obohacení GeoIP/ASN, více exportérů, alerting a předpočítané statistiky.

Architektura

Záznamy o tocích putují z exportéru (nebo z demo generátoru) přes kolektor do ClickHouse, odkud je čte Grafana.
Komponenty

Vyberte komponentu a uvidíte, co dělá, nebo pošlete stackem tok.

Router / switch

Jakékoli síťové zařízení, které umí exportovat IPFIX nebo NetFlow. Posílá záznamy o tocích přes UDP 4739 do kolektoru. Je to vaše zařízení, ne součást stacku.

Generátor provozu

V demo režimu nahrazuje skutečný router. Generuje syntetický provoz z dokumentačních rozsahů IP adres, takže si stack může vyzkoušet kdokoli i bez skutečné sítě.

IPFIXcol2

Kolektor. Přijímá IPFIX přes UDP 4739, dekóduje záznamy a předává je do ClickHouse.

ClickHouse

Ukládá záznamy o tocích a už při zápisu je obohacuje. Poslouchá jen na localhostu. Data se uchovávají 3–4 měsíce.

Obohacení

Každý tok dostane název protokolu, směr provozu (interní, příchozí, odchozí), QoS prioritu, ECN a čitelné TCP příznaky. Vyzkoušejte si to v ukázce níže.

Grafana

Předpřipravený datový zdroj a dashboard Network Security Overview s heuristikami pro skenování, brute-force a záplavové útoky, kontrolami spoofingu a filtrovatelnou tabulkou toků. Poslouchá jen na localhostu.

Vyzkoušejte si

Malé ukázky se syntetickými daty. Ukazují, co stack dělá se záznamy o tocích; ve skutečném stacku tuto práci dělají ClickHouse a Grafana.

Záznam toku před obohacením a po něm

Router exportuje čísla. ClickHouse z nich při zápisu udělá čitelné hodnoty. Vyberte ukázku a zapněte obohacení. Kliknutím na název pole zobrazíte vysvětlení.

Ukázkový tok: HTTPS
Pole IPFIXSurová hodnotaObohaceno
sourceIPv4Address192.0.2.15—
destinationIPv4Address

Směr se určí porovnáním obou adres s interní sítí (v této ukázce 192.0.2.0/24).

203.0.113.80směr: odchozí
sourceTransportPort51544—
destinationTransportPort443—
protocolIdentifier

Číslo protokolu podle IANA: 6 je TCP, 17 je UDP, 1 je ICMP.

6TCP
tcpControlBits

Všechny TCP příznaky, které se v toku objevily, jako jedno číslo. 27 (0x1B) = FIN, SYN, PSH, ACK: celé krátké spojení. Samotný SYN (2) je jen pokus o spojení.

27 (0x1B)FIN · SYN · PSH · ACK
ipClassOfService

Horních 6 bitů je DSCP (QoS priorita), spodní 2 bity ECN. 184 = DSCP 46 (EF), typické pro hlas.

0QoS: CS0 (best effort) · ECN: Not-ECT
packetDeltaCount12—
octetDeltaCount4821—
Ukázkový tok: SSH
Pole IPFIXSurová hodnotaObohaceno
sourceIPv4Address198.51.100.23—
destinationIPv4Address

Směr se určí porovnáním obou adres s interní sítí (v této ukázce 192.0.2.0/24).

192.0.2.10směr: příchozí
sourceTransportPort40112—
destinationTransportPort22—
protocolIdentifier

Číslo protokolu podle IANA: 6 je TCP, 17 je UDP, 1 je ICMP.

6TCP
tcpControlBits

Všechny TCP příznaky, které se v toku objevily, jako jedno číslo. 27 (0x1B) = FIN, SYN, PSH, ACK: celé krátké spojení. Samotný SYN (2) je jen pokus o spojení.

2 (0x02)SYN
ipClassOfService

Horních 6 bitů je DSCP (QoS priorita), spodní 2 bity ECN. 184 = DSCP 46 (EF), typické pro hlas.

0QoS: CS0 (best effort) · ECN: Not-ECT
packetDeltaCount1—
octetDeltaCount60—
Ukázkový tok: VoIP (RTP)
Pole IPFIXSurová hodnotaObohaceno
sourceIPv4Address192.0.2.31—
destinationIPv4Address

Směr se určí porovnáním obou adres s interní sítí (v této ukázce 192.0.2.0/24).

192.0.2.45směr: interní
sourceTransportPort16384—
destinationTransportPort16402—
protocolIdentifier

Číslo protokolu podle IANA: 6 je TCP, 17 je UDP, 1 je ICMP.

17UDP
tcpControlBits

Všechny TCP příznaky, které se v toku objevily, jako jedno číslo. 27 (0x1B) = FIN, SYN, PSH, ACK: celé krátké spojení. Samotný SYN (2) je jen pokus o spojení.

0 (0x00)není TCP
ipClassOfService

Horních 6 bitů je DSCP (QoS priorita), spodní 2 bity ECN. 184 = DSCP 46 (EF), typické pro hlas.

184QoS: EF (expedited) · ECN: Not-ECT
packetDeltaCount900—
octetDeltaCount172800—

Syntetická data. Adresy jsou z dokumentačních rozsahů (RFC 5737).

Simulátor provozu a detekcí

Vyberte scénář. Simulátor vygeneruje minutu syntetických toků a zkontroluje je zjednodušenými verzemi heuristik z dashboardu Network Security Overview.

Toky za sekundu

Detekční pravidla

PravidloHodnotaPráhStav

Poslední toky

sZdrojCílPortProtoTCP příznakyPakety

Zjednodušená ukázka se syntetickými daty (adresy RFC 5737). Skutečné prahy se ladí pro každou síť.

Dashboardy a přehledy

Technologie

IPFIXcol2
Kolektor. Přijímá IPFIX přes UDP 4739 z routerů a switchů.
ClickHouse
Ukládá záznamy o tocích a obohacuje je už při zápisu.
Grafana
Předpřipravený datový zdroj a dashboard Network Security Overview.
Generátor provozu
Vestavěný zdroj syntetického provozu bez citlivých dat pro demo režim.
Docker Compose
Spouští celý stack na jednom serveru se zafixovanými verzemi.
  • Nasazení monitoringu sítě

    Nasadím monitoring nad IPFIX/NetFlow ve vaší infrastruktuře nebo v cloudu a připojím k němu vaše routery a switche.

  • Údržba a podpora

    Starám se, aby monitoring běžel: aktualizace, kontrola úložiště a uchování dat a pomoc, když něco přestane fungovat.

Potřebujete pomoc se sítí nebo monitoringem?

Pošlete mi krátký popis vaší sítě a toho, co potřebujete.