Proč nepoužívat bridge

Před 8 měsíci

bridgeJane Butler řekla, že v dnešním Internetu chybí především vzdělanost. Toto musím potvrdit, protože ve svém domácím okolí jsem se nesetkal s lidmi, kteří by rozuměli sítím tak, aby je vytvořili správně. Dnes bude řeč o jedné z největší lameřin u českých poskytovatelů, o bridgi.

Bridge je něco, co vzniklo, aby se na jednom stroji mohlo spojit více síťových karet na linkové vrstvě a mohli jste mít bez switche několik zařízení na jednom IP segmentu. Bylo to řešení navržené pro pár zařízení. Nechce se mi uvádět čísla, ale osobně bych nad 10-20 nešel. Je k tomu jednoduchý důvod. Když použijete bridge, je síť bez kontroly. Nějak se nakonfiguruje sama a nemáte šanci zjistit jak moc to je dobré. Nemáte ani možnost vytvořit více cest se stejným začátkem i koncem. Jste velmi svázaní a co trpí nejvíce je právě ta síť. Následující řádky hovoří o bridgi ve WiFi sítích. Na kabelu jsou přeci jen větší rezervy hlavně se celý ethernet chová malinko jinak než WiFi.

#1 Windows

Windows jsou známy svými DOS útoku na okolní zařízení. Když dáte na jeden linkový segment stovku Windows strojů, budete mít na síti traffic, o kterém se vám ani nesnilo. Zatímco u malého počtu strojů v segmentu je průměrný klidový traffic v kB, když je strojů více a každý mluví s každým, může se jednat o velkou část kapacity linky. Schválně se vyhýbám konkrétním číslům, protože i přes to, že bych věděl přesné číslo mé sítě, bylo by úplně jiné u sítě druhé.

#2 ARP

Víte jak se párují MAC adresy k IP adresám? Když si chce počítač povídat s druhým počítačem, vyšle pozdrav do sítě, kde se ptá "Hej, kdo má tuhle IP adresu". Pokud tam takový počítač je tak odpoví  "to jsem já, tady máš mou MAC". Na základě této komunikace ví počítač kam má poslat případnou komunikaci.  Vše si můžeme vyzkoušet přes tcpdump:

cx@delorean:~$ sudo tcpdump -ennqti br0 \( arp or icmp \)
[...]
00:1d:60:ea:36:58 > 00:1b:11:c1:a5:62, ARP, length 42: arp who-has 90.182.30.17 tell 90.182.30.20
00:1b:11:c1:a5:62 > 00:1d:60:ea:36:58, ARP, length 60: arp reply 90.182.30.17 is-at 00:1b:11:c1:a5:62

Vydíme 2 dotazy a dvě odpovědi. Celkově 42+60 bytů, což je  102B. Když máme velkou síť (slyšel jsem o stovce APček zapojených v jednom bridge), tak takovýchto dotazů mohou být třeba i stovky za pár sekund. Na to není ani potřeba moc lidí. Pak se dostáváme na desítky kB zbytečného provozu, který šel využít jinak. V každém systému existuje arp tabulka, která si pamatuje určitou chvíli na co se systém ptal. Tyto záznamy časem vyprší, ale ne vždy používáme ty sámé. Nejhorší je, že tato komunikace jde napříč sítí. Třeba i 10km vzdálené spoje budou vědět s kým chceme komunikovat. Pokud si uvědomíte, že při každé komunikaci musí mít síťová karta na síti klid a to u WiFi platí dvojnásob zjistíte, že kB dat není to jediné co ztratíte, ale díky jednomu ARP dotazu třeba neodejde několik větších paketů, které se musejí opakovat.

#3 Směrování

Jak si myslíte že u bridge funguje směrování? V MAC adresách nemůže zákonitě existovat nějaká hiearchie, takže všechny krabičky v síti, i ty se kterými nikdy nebudete komunikovat a může to být "blbej" switch o vás budou vědět. Máte-li pak v síti 500 zařízení, bude mít každá z těchto krabiček v paměti 500 záznamů. Switch má na sobě sice napsáno že zvládne 100/1000 mbps, ale jak to tomu jednoúčelovému stroječku půjde, když bude muset každý rámec porovnávat s kvantem adres, aby věděl kam je poslat?

#4 Bezpečnost

Ač sítě, které mají zde popisované řešení na bezpečnost moc nehledí, nedá se tato nevýhoda upřít. Na bridgi není vůbec těžké vydávat se za někoho jiného. Na menší síti je podobná hrozba také, ale v menším měřítku. Útočník nemůže ovlivnit infrastrukturu sítě. Není to nic těžkého. Když jste u cíle blízko a zfalšujete si cizí IP adresu, budou k vám pakety pro tuto adresu cestovat jak diví. Po malé úpravě už ani není problém to udělat tak, aby se na to jednoduše nepřišlo. Chcete zachytávat hesla na nešifrovaných protokolech? S bridgem žádný problém. Druhou variantou je to, že se může stát, že k vám dorazí data, o která váš stroj nestojí. On je sice zahodí, ale proč si je nepřečíst? Lepší otázkou je, proč bych měl platit přenos dat někoho jiného?

#5 Stabilita

Posledním a neméně důležitým je stabilita. Vemte si pár switchů, připojte do nich pár počítačů a pak vemte jeden kabel a strčte oba konce do jednoho ze switchů. Myslíte si, že teď u levných switchů pojede síť? Nikoli. S bodem čtyři také souvisí jedna záležitost. Když se nějaká krabička rozhodne dělat DHCP, bude to mít dopad na určitou část sítě. Nejen že nebudete tušit na kterou, ale také horko těžko zjistíte kde taková zběsilá krabička je. Jediným řešením je pak odpojovat části sítě pozorovat kde se to projevuje. Proč by měl ale uživatel trpět za neschopnost admina?

Závěr

Správné řešení je rozdělit síť na malé podsítě. Co zařízení to jeden rozsah. Jednotlivé routy pak distribuovat mezi ostatní routery pomocí nějakého routovacího protokolu. Může to být OSPF, RIP nebo i BGP. Nebojte se dávat masky /30 na spoje bod-bod. Když to takhle uděláte, tak počítač na jednom konci sítě bude pouze vědět, že skupina určitých počítačů je směrem támhle a další skupina je směrem semhle. Je to jen jeden záznam. Stoupne tak spolehlivost, bezpečnost i celková kvalita. Někdo vám možná bude tvrdit, že brigde jim na velké síti funguje, ale problémy jsou většinou schované, bridge z principu na velkých sítích fungovat nemůže.


Nálepky: sit

Jméno
Email
Web
Komentář

TOPlist