Linux Netflow zdanie, niedoko czone zdanie ń
Transkrypt
Linux Netflow zdanie, niedoko czone zdanie ń
Linux Netflow zdanie, niedokończone zdanie Piotr Chytła <[email protected]> Netflow - definicja Firmowy protokół firmy Cisco Systems – patent 6,243,667. ● Opracowany przez Darena Kerra i Berry Bruinsa z Cisco Systems w 1996 roku. ● Wersje protokołu netflow 1,5,7 (Specyficzna dla Catalyst 6500,7600), 8 (uwzględnia agregacje), 9 (najnowsza, najbardziej rozszerzalna). ● Netflow – definicja cd. Podstawową jednostką jaką operuje netflow jest 'flow' – przepływ lub strumień. ● Flow – ma charakter jednokierunkowy, zdefinowowany jest przez 7 unikalnych wartości. ● Źródłowy adres IP. ● Docelowy adres IP. ● Port źródłowy. ● Port docelowy. ● Protokół warstwy transportu – TCP/UDP/ICMP/inne. ● TOS/DSCP. ● Ifindex interfejsu wejściowego. ● Odpowiada na podstawowe pytania dotyczące ruchu przechodzącego przez sieć - kto, co, kiedy, gdzie i jak. ● Jakie informacje udostępnia nam netflow w wersji 5? 200.0.10.20/26 ( ASN 88 ) 4.5.6.7.8/24 ( ASN 66 ) Dst IP Dst IP Dst prefix length R1 Dst prefix length Dst ASN 65.98.200.32/30 (ASN 99) R2 R3 Nexthop Address Output Interface R4 Input Interface Pozatym Start/Stop sysUptime Packet/Byte Count Source/Destination Port (TCP,UDP) TOS TCP Flags Protocol 100.0.14.56/27(ASN 100) Src IP Src prefix length Src ASN Po co potrzebujemy netflow ? Analiza ruchu sieciowego (np. Ile wysyłamy/odbieramy ruchu do okreśonlych numerów ASN). ● Planowanie rozbudowy sieci. ● Wykrywanie i monitorowanie ataków sieciowych, propagacja wirusów, robaków. ● Wykrywanie ataków DDoS. ● Monitorowanie zużycia zasobów sieciowych przez określone protokoły, porty, adresy IP, podsieci. ● Monitoring użytkowników – np. przed translacją NAT. ● Inne zastosowania. ● Netflow na systemach OpenSource, krótki przegląd sond Netflow. pmacct http://www.pmacct.net Metoda zbierania danych o ruchu sieciowym : libpcap ● Zalety ● ● ● ● ● ● ● ● Export w formatach - v1/v5/v7/v8/v9. Obsługiwane wersje IP – v4,v6. Export danych do MySQL,PostgreSQL, SQLite, IMT (memory tables) . Rozdzielony odbiornik - nfacctd od sondy – pmacctd. Pluginy rozpoznające - SIP/RTSP/FTP/IRC (dla wersji v9). Agregacje – src_mac/host/net/port/as , dst_mac/host/net/port/as/, vlan, proto, tos – wiele innych. Możliwość rozszerzania funkcjonalności poprzez Pluginy. Wady ● ● Brak exportu danych do pliku rozpoznawalnego przez flow-toolsy. Statyczny plik zawierający mapowanie podsieci na numery ASN jest używany jedynie przy exporcie do IMT w miejscu gdzie uruchomiona jest sonda. fprobe/fprobe-ulog http://fprobe.sourceforge.net Metoda zbierania danych o ruchu sieciowym : fprobe : libpcap fprobe-ulog : ULOG ● Zalety ● ● ● ● ● ● ● ● Wady ● Export w formatach - v1/v5/v7. Obsługiwane wersje IP - v4. Możliwość filtrowania ruchu przekazywanego na sondę: ● Fprobe – filtry bpf. ● Fprobe-ulog – reguły firewalla. Fprobe jest tylko sondą, dane można eksportować np. do flow-capture z flow-toolsów. (fprobe-ulog) – informacje o ruchu sieciowym pobierane z natywnego mechanizmu kernela. fprobe-ulog) – porównywalne zużycie procesora przy pracy w kernel space, dużo mniejsze w user land. (fprobe-ulog ) - natywny support dla interfejsów IN/OUT. Brak pól zawierających numery ASN, długości podsieci, adresu kolejnego routera. fprobe/fprobe-ulog cd. fprobe-ulog (uruchomienie) Iptables -A FORWARD -j ULOG – Cały ruch w łańcuchu FORWARD kierujemy do ULOGa. fprobe/fprobe-ulog ( wyniki ) srcIP dstIP prot srcPort dstPort octets packets 85.186.1.84 87.99.51.11 17 21228 10518 129 1 Brak numerów ASN, 194.9.24.55 87.99.32.164 6 80 3748 363 3 długości podsieci 87.99.60.9 195.117.151.40 6 3846 36945 96 2 src/dst 87.99.63.100 210.42.244.156 17 2002 4677 63 1 87.99.32.167 4.79.66.194 1 0 0 112 4 87.99.63.195 85.221.182.192 17 4672 4672 34 1 87.99.62.52 24.99.36.14 17 30221 3362 55 1 87.99.63.97 79.113.16.238 17 47053 15323 244 2 [..] srcIP dstIP prot srcAS dstAS octets packets 85.186.1.84/0 87.99.51.11/0 17 0 0 129 1 194.9.24.55/0 87.99.32.164/0 6 0 0 363 3 87.99.60.9/0 195.117.151.40/0 6 0 0 96 2 87.99.63.100/0 210.42.244.156/0 17 0 0 63 1 87.99.32.167/0 4.79.66.194/0 1 0 0 112 4 87.99.63.195/0 85.221.182.192/0 17 0 0 34 1 87.99.62.52/0 24.99.36.14/0 17 0 0 55 1 87.99.63.97/0 79.113.16.238/0 17 0 0 244 2 fprobe/fprobe-ulog cd. fprobe Przepustowość fprobe-ulog CPU PPS ● 6kpps utrzymujące się w godz. 12-23. PPS ● 8kpps w szczycie. Softflowd http://mindrot.org/projects/softflowd/ Metoda zbierania danych o ruchu sieciowym : libpcap ● Zalety ● ● ● ● ● ● ● ● ● Wady ● ● Export w formatach - v1/v5/v9. Obsługiwane wersje IP – v4, v6. Możliwość filtrowania ruchu przekazywanego na sondę poprzez filtry bpf. Softflowd jest tylko sondą. Udostępnia interfejs poprzez, który można sterować pracą sondy (softflowctl). Statystyki libpcap – pakiety przetworzone, odrzucone przez libpcap. Statystyki wygasania 'flowów'. Statystyki per protokół. Brak pól zawierających numery ASN, długości podsieci, adresu kolejnego routera. Duże zużycie zasobów systemowych. Softflowd cd. Statystyki softflowd[6021]: Accumulated statistics: Number of active flows: 8192 Packets processed: 6579834 Fragments: 740 Ignored packets: 2965 (2965 non-IP, 0 too short) Flows expired: 1008318 (1008318 forced) Flows exported: 1148034 in 1008318 packets (0 failures) Packets received by libpcap: 1469822 Packets dropped by libpcap: 1334822 Packets dropped by interface: Expired flow statistics: minimum average maximum Flow bytes: 28 3339 38564069 Flow packets: 1 5 38714 Duration: 0.00s 8.81s 4435.78s Expired flow reasons: tcp = 0 tcp.rst = 0 tcp.fin = 0 udp = 0 icmp = 0 general = 0 maxlife = 0 over 2Gb = 0 maxflows = 1008318 flushed = 0 Per-protocol statistics: Octets Packets Avg Life Max Life Unknown (1): 2781208 29339 0.03s 47.89s Unknown (6): 3250101881 4258945 23.20s 4435.78s Unknown (17): 113237855 617479 0.01s 49.28s Unknown (47): 38241 60 14.73s 17.76s Unknown (89): 159684 1470 62.23s 851.93s libpcap Wygasanie flowów per protokół Softflowd cd. Przepustowość PPS CPU Statystyka libpcap nProbe http://www.ntop.org/nProbe.html Metoda zbierania danych o ruchu sieciowym : libpcap ● Zalety ● ● ● ● ● ● ● ● ● ● ● Wady ● ● ● Export w formatach - v5/v9/v10(IPFIX). Obsługiwane wersje IP – v4, v6. Możliwość filtrowania ruchu przekazywanego na sondę poprzez filtry bpf. nProbe jest tylko sondą. Pluginy dla v9. ● Pluginy rozpoznające HTTP/SMTP/RTP/SIP (dla v9). ● Plugin Layer7 – daje możliwość używania paternów rozpoznających protokoły warstwy aplikacji używane w projekcie L7-filter. Współpraca z kartami IXP. 4 poziomy agregacji. Statyczne mapowanie podsieci na numery ASN. Bezpośrednie zapisywanie strumieni do pliku bez exportu. Współpraca z nCap/PF_RING. Brak pól zawierających długości podsieci, adresu kolejnego routera. Do pobrania kodu źródłowego/binarnego potrzebna jest przymusowa dotacja 121 EU na rzecz projektu. Ogólnie dostępna jest tylko wersja 'demo' ograniczona do 2000 strumieni. nProbe cd. wyniki srcIP dstIP prot srcAS dstAS octets 87.99.60.185/0 24.127.197.161/0 17 38944 20214 219 24.127.197.161/0 87.99.60.185/0 17 20214 38944 358 124.121.4.153/0 87.99.50.56/0 17 7470 38944 306 87.99.50.56/0 124.121.4.153/0 17 38944 7470 429 82.166.143.74/0 87.99.48.14/0 6 8584 38944 449 87.99.48.14/0 82.166.143.74/0 6 38944 8584 417 151.77.96.8/0 87.99.60.10/0 17 1267 38944 63 87.99.60.10/0 151.77.96.8/0 17 38944 1267 42 70.65.139.130/0 87.99.51.68/0 17 6327 38944 129 87.99.51.68/0 70.65.139.130/0 17 38944 6327 339 87.99.49.81/0 86.213.225.85/0 17 38944 3215 235 86.213.225.85/0 87.99.49.81/0 17 3215 38944 194 87.99.48.108/0 71.68.118.98/0 6 38944 11426 144 83.34.57.8/0 87.99.48.223/0 6 3352 38944 806 87.99.48.223/0 83.34.57.8/0 6 38944 3352 760 87.99.51.213/0 83.27.203.186/0 6 38944 5617 394 83.27.203.186/0 87.99.51.213/0 6 5617 38944 639 87.99.51.213/0 80.48.68.29/0 6 38944 5617 144 80.48.68.29/0 87.99.51.213/0 6 5617 38944 46 87.99.60.140/0 82.2.113.227/0 17 38944 5089 56 87.99.60.198/0 87.13.94.190/0 17 38944 3269 119 87.13.94.190/0 87.99.60.198/0 17 3269 38944 97 packets 2 2 2 2 6 4 1 1 1 1 2 2 3 11 10 6 5 3 1 1 2 1 Brak długości podsieci nProbe cd. Przepustowość CPU PPS LA Routing w systemach ogólnego przeznaczenia Na systemach ogólnego przeznaczenia aby uruchomić routing dynamiczny, potrzebne jest zewnętrzne oprogramowanie, które będzie obsługiwało określony protokół routingu oraz zarządzało tablicą routingu systemu operacyjnego. Podstawowe pojęcia FIB (Forwarding Information Base) – zarządzany przez kernel systemu operacyjnego, na podstawie informacji z FIB kernel podejmuje decyzje o trasowaniu. Przechowywane informacje: adres podsieci, interfejs, gateway, metryka, protokół. ● RIB (Routing Information Base) - zarządzany przez daemona routingu dynamicznego np Quagga, Xorp czy OpenBGPD. Przechowuje informacje identyczne jak FIB bez protokołu, plus dystans i czas od ostatniej zmiany ścieżki. W RIBie mogą występować ścieżki alternatywne dla podsieci od różnych protokołów routingu. ● BGP-RIB – zarządzany przez bgpd - w przypadku demona routingu Quagga. Przechowuje informacje o ścieżkach z punktu widzenia protokołu bgp – ASPATH, waga, lokalna preferencja, communities, czas od ostatniej zmiany, rodzaj ścieżki, inne. ● Dlaczego sonda netflow nie widzi numerów ASN? bgpd 12968 3356 7018 15317 62.1.1.1 from 6.1.1.1 Origin IGP, localpref 100, valid, external, best Community: 3356:3 3356:86 3356:575 Last update: Wed Sep 26 21:06:53 2007 zebra Routing entry for 12.0.17.0/24 Known via "bgp", distance 20, metric 0, best Last update 4d00h09m ago * 62.1.1.1, via eth0 kernel 12.0.17.0 via 62.1.1.1 dev eth0 src 62.1.1.2 cache mtu 1500 advmss 1460 hoplimit 64 Sonda netflow Sonda netflow jest osobnym procesem w przestrzeni użytkownika, ma jedynie dostęp do informacji zawartych w tablicy routingu. Statyczne mapowanie podsieci na numery ASN. Najprostrzym rozwiązaniem jest statyczne mapowanie numerów ASN na podsieci, które obsługują. ASN 80:3.0.0.0/8 3356:4.0.0.0/8 3356:4.0.0.0/9 21889:4.23.112.0/24 21889:4.23.113.0/24 21889:4.23.114.0/24 21889:4.36.116.0/23 21889:4.36.116.0/24 21889:4.36.117.0/24 [..] Podsieć. Wady ● Duże zużycie pamięci - 200k prefixów musi być załadowane do pamięci. ● Nie uwzględnia zmian w tablicy routingu (np. nowo rozgłoszona podsieć, nowy ASN). ● Brak dokładnych długości podsieci z IGP. ● Zalety ● Rozwiązanie niezależne od używanego daemona routingu, konfiguracji. ● Używane przez sondy netflow: pmacct, nProbe. ● Czy możemy to zrobić bardziej dynamicznie? Możemy. ● Więc czego potrzebujemy? ● Potrzebujemy znacznika za pomocą, którego przekażemy informacje o numerze systemu Autonomicznego od BGP-RIB do RIB ostatecznie do FIBa. ● Potrzebujemy sondy netflow, która będzie potrafiła odczytać znacznik z tablicy routingu i poprawnie go zinterpretować. ● Potrzebujemy szybkiej metody odczytu znacznika tak aby odczyt nie miał znaczącego wpływu na prace sondy netflow. ● ● Problemy dalej bez odpowiedzi ● Dalej brak długości podsieci. ● Co z adresami IP kolejnego routera. ● Problem z trasami IGP. ● Obciążenie procesora przez sondę dalej jest problemem. Quagga tags Quagga-tags – zestaw łatek dla daemona routingu Quagga rozszerzających funkcjonalność o tagi. Dodane funkcjonalności ● ● ● ● ● zebra Tag w trasach statycznych – ip route 1.2.3.0/24 10.0.0.254 tag 666 show ip route tag XYZ ospfd route-map – match/set Redystrybucja do OSPF z tagiem – redistribute static tag 1234 bgpd route-map – match/set Łatki na quagge 0.99.8-9, CVS: http://packetconsulting.pl/securecon2007/quagga-tags-0.txt http://packetconsulting.pl/securecon2007/quagga-tags-[1-5].diff Quagga tags cd. ip as-path access-list test permit _(1234|5678)_ [..] route-map TEST permit 10 match as-path test set tag 1234 ! Access-lista dopasowuje wyrażenie regularne do as-patha ścieżki 1.2.0.0/16 Tag zostaje przekazany do zebry. bgpd zebra BGP routing table entry for 1.2.0.0/16 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer` 11961 1234 6970 11.22.32.2 (metric 1) from 11.22.32.2 (62.1.1.1) Origin IGP, localpref 100, tag 1234, valid, internal, best Community: 1234:1234 Last update: Sat Sep 15 18:27:00 2007 Routing entry for 1.2.0.0/16 Known via "bgp", distance 200, metric 0 tag 1234, best Last update 02w2d05h ago * 11.22.32.2, via eth0 Dopasowanie powoduje ustawienie taga kernel Wszystko fajnie tylko kernel nic nie wie o tagu!! Linux realms Realm – 32 bitowy znacznik w tablicy routingu, pozwalający na grupowanie ścieżek. Mogą być także użyte do zliczania liczby bajtów/pakietów przechodzących przez daną ścieżkę lub grupę ścieżek. 207.91.246.0/24 via 11.22.32.1 dev eth0 realms 1234/4471 16bitowy realm źródłowy 32bitowy realm 16bitowy realm docelowy Wynik polecenia – rtacct Realm unknown 1 2 [..] 248 BytesTo PktsTo BytesFrom PktsFrom BPSTo 1707M 3185M 4054M 12468K 0 678369K 561527K 3449M 657894K 0 3129M 416876K 2421M 627960K 0 3114M 494344K 1104M 488402K 0 PPSTo 0 0 0 BPSFrom 0 0 0 PPSFrom 0 0 0 0 0 0 Quagga tags + realms Realmsy pozwalają nam przekazać wartość 'taga' do tablicy routingu, a co za tym idzie pozwalają dodać informacje o numerze ASN dla każdej ścieżki. Dodane funkcjonalności ● ● zebra ip realm tag – Włącza przekazywanie tagów do tablicy routingu jako realmów. bgpd route-map – set automatic-tag (origin-AS| peer-AS) - Ustawia taga na podstawie numeru ASN. Łatki na quagge 0.99.8-9, CVS http://packetconsulting.pl/securecon2007/quagga-tags-realms-1.diff http://packetconsulting.pl/securecon2007/quagga-tags-realms-2.diff Quagga tags + realms cd. route-map TEST permit 10 set automatic-tag origin-AS ! ip realm tag 1.2.0.0/16 Tag zostaje przekazany do zebry. bgpd zebra kernel Route-mapa ustawia tag na podstawie numeru ASN originatora ścieżki. Src-realm jest ustawiany na podstawie długości podsieci. BGP routing table entry for 1.2.0.0/16 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer` 11961 1234 6970 11.22.32.2 (metric 1) from 11.22.32.2 (62.1.1.1) Origin IGP, localpref 100, tag 6970, valid, internal, best Community: 1234:1234 Last update: Sat Sep 15 18:27:00 2007 Routing entry for 1.2.0.0/16 Known via "bgp", distance 200, metric 0 tag 6970, best Last update 02w2d05h ago * 11.22.32.2, via eth0 1.2.0.0/16 via 11.22.32.2 dev eth0 proto zebra realms 16/6970 Zebra ustawia wartość dst-realma na podstawie wartości taga Sondy netflow ze wsparciem dla realmsów fprobe v1.2 / softflow v0.98 Dla każdego zaobserwowanego flowa sonda odpytuje cache routingu o ścieżki do adresu IP źródłowego/docelowego : Pobierane są wartości : ● Docelowy ASN. ● Docelowa długość podsieci. ● Adres IP następnego routera. ● Źródłowy ASN. ● Źródłowa długość podsieci. 85.89.175.123 > 87.99.50.74 rtr-666:~# ip r g 85.89.175.123 85.89.175.123 via 87.99.32.2 dev eth0 src 87.99.32.19 realms 20/16342 cache mtu 1500 advmss 1460 hoplimit 64 rtr-666:~# ip r g 87.99.50.74 87.99.50.74 via 172.16.236.28 dev eth1 src 172.16.236.1 cache mtu 1500 advmss 1460 hoplimit 64 Ścieżka od IGP (brak realma) Adres IP następnego routera Źródłowy ASN Źródłowa długość podsieci http://packetconsulting.pl/securecon2007/fprobe-realms.diff http://packetconsulting.pl/securecon2007/softflowd-realms.diff Problem z trasami IGP. 85.89.175.123/20 ( ASN 16342 ) rtr-666:~# ip r g 85.89.175.123 85.89.175.123 via 87.99.32.2 dev eth0 src 87.99.32.19 realms 20/16342 cache mtu 1500 advmss 1460 hoplimit 64 ścieżka pochodząca od EGP(bgp) rtr-666:~# ip r g 87.99.50.74 87.99.50.74 via 172.16.236.28 dev eth1 src 172.16.236.1 cache mtu 1500 advmss 1460 hoplimit 64 Ścieżki pochodzące od IGP (ospf) 87.99.50.74/27 ( ASN 38944) Rozwiązaniem problemu jest default-tag w 'router ospf' (Prace trwają) Sondy netflow ze wsparciem dla realmsów cd. srcIP dstIP prot srcAS dstAS octets 74.93.103.221/20 87.99.49.19/0 17 33650 0 302 80.228.183.115/16 87.99.48.179/0 17 9145 0 131 87.99.33.160/0 87.99.51.136/0 17 0 0 130 87.99.33.160/0 87.99.51.136/0 17 0 0 121 87.99.33.160/0 87.99.51.136/0 17 0 0 125 87.99.33.160/0 87.99.51.136/0 17 0 0 119 87.99.32.165/0 217.74.64.40/22 6 0 16138 856 124.243.207.142/18 87.99.63.97/0 17 4812 0 129 87.99.50.56/0 66.69.95.71/17 6 0 11427 128 87.99.49.121/0 84.209.34.214/15 6 0 41164 276 87.245.47.34/18 87.99.51.14/0 17 35776 0 85 41.221.19.161/20 87.99.51.202/0 17 36947 0 131 200.121.153.239/18 87.99.50.141/0 17 6147 0 123 83.250.153.48/13 87.99.60.16/0 17 39651 0 93 87.99.60.89/0 84.153.239.238/10 6 0 3320 93 87.99.62.89/0 220.132.156.137/18 17 0 3462 309 87.99.49.19/0 71.168.66.3/18 17 0 19262 91 87.99.49.115/0 68.228.33.108/19 17 0 22773 91 87.99.49.115/0 86.148.200.80/10 17 0 2856 91 87.99.50.141/0 200.83.172.124/19 17 0 22047 173 packets 1 1 1 1 1 1 5 1 3 5 2 1 2 1 2 1 1 1 1 2 Netflow na systemach *BSD FreeBSD - ng_netflow ● ● Zalety ● Export w formatach : v5. ● Obsługiwane wersje protokołu IP : v4, v6. ● Moduł Netgrapha. ● ng_netflow jest sondą pracującą całkowicie na poziomie kernela. ● Exportuje oprócz adresów IP także długości podsieci na podstawie tablicy routingu. ● Exportuje adresy IP nexthopa. ● Niewielki wzrost zużycia zasobów systemowych. Wady ● Brak numerów ASN. uruchomienie(ngctl) mkpeer fxp0: netflow lower iface0 name fxp0:lower netflow connect fxp0: netflow: upper out0 mkpeer netflow: ksocket export inet/dgram/udp msg netflow:export connect inet/10.0.0.1:2100 FreeBSD – ng_netflow cd. FreeBSD 6.2 FreeBSD 6.2 + ng_netflow Przepustowość CPU FreeBSD – ng_netflow cd. srcIP dstIP prot srcAS dstAS octets packets 83.197.226.207/16 87.99.48.115/26 6 0 0 646 11 87.20.55.251/16 87.99.63.100/32 6 0 0 716 10 87.204.210.65/15 87.99.60.159/25 6 0 0 25825 22 210.17.197.44/22 87.99.51.171/26 6 0 0 479 6 85.232.233.11/19 87.99.48.45/27 6 0 0 220 4 71.125.81.88/19 87.99.48.194/25 6 0 0 128 3 217.20.129.3/20 87.99.60.36/26 6 0 0 404 6 222.79.104.166/15 87.99.49.245/26 6 0 0 533 6 81.168.163.115/17 87.99.51.13/27 6 0 0 128 3 88.162.209.133/11 87.99.60.66/26 6 0 0 80 2 189.166.12.156/17 87.99.63.100/32 6 0 0 710 10 87.221.38.163/17 87.99.60.246/25 6 0 0 128 3 217.17.45.144/20 87.99.48.45/27 6 0 0 176 4 87.204.210.65/15 87.99.60.159/25 6 0 0 16909 15 85.68.242.175/15 87.99.60.23/26 6 0 0 88 2 86.61.125.98/17 87.99.48.115/26 6 0 0 628 10 210.17.197.44/22 87.99.51.171/26 6 0 0 80 2 82.160.27.101/16 87.99.51.11/27 6 0 0 80 2 81.15.226.6/17 87.99.51.11/27 6 0 0 80 2 64.92.226.203/20 87.99.51.200/26 6 0 0 622 5 209.85.135.99/23 87.99.51.171/26 6 0 0 40 1 222.218.36.13/19 87.99.51.39/27 6 0 0 92 2 OpenBSD – pfflowd http://mindrot.org/projects/pfflowd/ pfflowd – Flowy są tworzone na podstawie mechanizmu synchronizacji stanów firewalla PF. Synchronizacja stanów firewalla PF1 do PF2 Tablica stanów Klaster HA 5.6.7.8:1234 -> 1.2.3.4:80 1.2.3.5:4567 -> 10.200.10.10:6667 90.123.11.200:4444 -> 1.2.3.10:21 Wykorzystując wiadomości sygnalizacyjne pfsynca możemy budować przepływy bez dodatkowego oprogramowania. W przypadku awarii firewalla PF1 firewalla PF2 przejmie ruch sieciowy z zachowaniem stanów połączeń. Podobne rozwiązanie jest możliwe do realizacji na Linuxowym firewallu netfilter przy użyciu NF_CONNTRACK_NETLINK (libnetfilter_conntrack). http://people.netfilter.org/~pablo/conntrackd/ - zapewnia podobną funkcjonalność jak pfsync (synchronizacje stanów firewalla) Ciekawe Strony Quagga-tags: ● http://packetconsulting.pl/securecon2007/quagga-tags-0.txt ● http://packetconsulting.pl/securecon2007/quagga-tags-[1-5].diff Quagga-tags-realms: ● http://packetconsulting.pl/securecon2007/quagga-tags-realms-1.diff ● http://packetconsulting.pl/securecon2007/quagga-tags-realms-2.diff Netflow : ● http://www.cisco.com/go/netflow ● http://www.pmacct.net ● http://fprobe.sourceforge.net ● http://mindrot.org/projects/softflowd/ ● http://www.ntop.org/nProbe.html ● http://mindrot.org/projects/pfflowd/ ● http://people.netfilter.org/~pablo/conntrackd/ Realmsy : ● http://www.policyrouting.org/iproute2.doc.html#ss9.9 ● http://vcalinus.gemenii.ro/quaggarealms.html ● http://linux.mantech.ro/quagga+realm_en.html Dziękuję za uwagę.