NetFlow je otevřený protokol vyvinutý společností Cisco Systems, určený původně jako doplňková služba k Cisco směrovačům. Jeho hlavním účelem je monitorování síťového provozu na základě IP toků, které poskytuje administrátorům i manažerům podrobný pohled do provozu na jejich síti v reálném čase. Proto tvoří důležitou a nepostradatelnou součást zabezpečení každé počítačové sítě a je užitečný pro ISP (Internet Service Providers - poskytovatelé připojení), kteří na základě NetFlow statistik mohou svým zákazníkům účtovat ceny služeb v závislosti na množství přenesených dat. S pomocí NetFlow statistik lze odhalovat vnější i vnitřní incidenty, úzká místa v síti, dominantní zdroje provozu, efektivněji plánovat budoucí rozvoj sítě, sledovat, kdo komunikoval s kým, jak dlouho a s pomocí kterého protokolu.
NetFlow architektura se typicky skládá z několika NetFlow exportérů a jednoho NetFlow kolektoru. NetFlow exportér je připojen k monitorované lince a analyzuje procházející pakety. Na základě zachycených IP toků generuje NetFlow statistiky a ty exportuje na NetFlow kolektor. NetFlow kolektor je zařízení s velkou úložnou kapacitou, které sbírá statistiky z většího počtu NetFlow exportérů a ukládá je do dlouhodobé databáze. Nad těmito daty obvykle běží aplikace, která je umí efektivně vizualizovat a generovat z nich přehledy v podobě grafů a tabulek, které umožňují jednoduše analyzovat monitorovaný provoz i běžnému uživateli.
Tradiční architektura podle Cisco předpokládá na pozici NetFlow exportérů směrovače, které vedle své hlavní činnosti provádějí také výpočet NetFlow statistik. Tato architektura však trpí několika nevýhodami. Především se jedná o vysokou pořizovací cenu podobného zařízení, které brání jeho nasazení v malých a středních sítích. Výpočet NetFlow statistik také omezuje směrovací výkon celého zařízení, proto většina směrovačů s podporou NetFlow (s výjimkou těch nejdražších) využívá na vstupu vzorkování, tzn. že se pro výpočet statistik využívá jen každý n-tý paket. Kromě snížené přesnosti měření omezuje vzorkování také pravděpodobnost odhalení bezpečnostních incidentů.
Proto se v poslední době stávají velmi oblíbenými řešení, využívající pasivní NetFlow sondy (v ČR např. FlowMon od firmy INVEA-TECH), což jsou zařízení specializovaná na monitorování a export NetFlow statistik, která jsou díky své jednoduchosti velmi levná. NetFlow sondy odstraňují všechny nevýhody tradiční architektury a na rozdíl od směrovačů je lze připojit do libovolného bodu v síti a to transparentním způsobem. Sondy procházející data pouze monitorují a nijak do nich nezasahují (proto pasivní sondy). Exportované statistiky jsou na kolektor odesílány dedikovanou linkou a díky tomu jsou na monitorované lince zcela neviditelné (na vrstvách L2 a výše). Tento rys z nich činí velmi obtížný cíl pro případné útočníky.
IP tok je alfou a omegou celé NetFlow technologie - na jeho základě jsou generovány NetFlow statistiky. Tok je v terminologii NetFlow definován jako sekvence paketů se shodnou pěticí údajů: cílová/zdrojová IP adresa, cílový/zdrojový port a číslo protokolu. Pro každý tok je zaznamenávána doba jeho vzniku, délka jeho trvání, počet přenesených paketů a bajtů a další údaje.
Technologie NetFlow statistik také umožňuje vyhodnotit data online na bázi modelu Software as a Service (SaaS). Díky velikosti NetFlow dat (cca 1/500 síťového provozu) se nabízí možnost data přenášet mimo vlastní síť přes Internet a vyhodnocení tak řešit v reálném čase online outsourcingem. Samotné statistiky neobsahují produkční data, takže nehrozí zneužití utajovaných skutečností.
NetFlow protokol vznikl v několika verzích, první masově používanou se však stala až verze 5 (NetFlow v5) a v současnosti se začíná hojně využívat i verze 9. Na základě protokolu NetFlow v9 vznikl v nedávné době nový IETF standard Internet Protocol Flow Information eXport (IPFIX), který je taktéž velmi oblíbený a výrobci síťových technologií jej začínají hojně podporovat ve svých nejvýkonnějších směrovačích a přepínačích. Lze očekávat, že se v blízké budoucnosti pravděpodobně stane průmyslovým standardem. NetFlow nezahrnuje žádný protokol určený pro konfiguraci spojení mezi exportéry a kolektory. Kromě připojení sond nevyžaduje žádné zásahy do prvků na monitorované síti, proto běžný uživatel vůbec nepozná, že nějaké monitorování probíhá.
Verze | Popis |
---|---|
v1 | První verze |
v2-v4 | Nebyly uvedeny |
v5 | Nejpoužívanější |
v6 | Podpora pro tunelovaný provoz |
v7 | Informace ze switchů |
v9 | Struktura daná šablonou, umožňuje mnoho kombinací |
IPFIX | V podstatě v10, IETF standard, rozšíření v9 |
NetFlow záznamy produkované směrovači nebo NetFlow sondami jsou exportovány na kolektor pomoci User Datagram Protokolu (UDP) nebo Stream Control Transmission Protokolu (SCTP). Jakmile je NetFlow záznam exportován, je z důvodů větší efektivity exportérem zahozen. To má za následek ztrátu NetFlow záznamu v případě, že se paket vlivem nepříznivých okolností nepodaří doručit. V případě UDP protokolu už neexistuje možnost, jak tento NetFlow záznam znovu odeslat a je proto ztracen navždy. Export NetFlow paketů probíhá obvykle na portech 2055, 3000-3010, 9555 nebo 9995.
NetFlow záznam obsahuje důležité statistiky o síťovém provozu. V paketu NetFlow v5 jsou obsaženy následující položky:
Některé exportéry také uvádějí hodnotu zdrojového a cílového autonomního systému (AS). Tato hodnota však nemusí být vždy přesná.
NetFlow v9 je definována jako flexibilní formát. Může obsahovat všechny hodnoty verze 5 a další volitelné položky, např. MPLS, IPv6 adresy a porty atd.