DHCP: jak zařízení dostane adresu
Adresy se nerozdávají ručně: čtyři zprávy DORA, celý balíček nastavení (adresa, maska, brána, DNS), rozsah a doba zapůjčení, rezervace podle MAC, relay do vzdálených sítí – a nakonec cizí server i vyčerpaný rozsah a obrana na switchi.
Lekce 1: Proč se adresy nerozdávají ručně
Ruční adresy a jejich meze
Každé zařízení v síti potřebuje IP adresu – bez ní si nemá jak říct o data. V kurzu Proč sítě existují a jak putují data a Routing a IP adresy sis adresy nastavoval ručně a u tří strojů to je klidně v pořádku. Jenže ruční adresy mají tvrdý strop. Nikdo nedrží evidenci. Adresy si pamatuje správce v hlavě nebo v tabulce, která přestane sedět v okamžiku, kdy si někdo přinese notebook. Dva stroje dostanou stejné číslo – a to je konflikt: stroje si ho všimnou samy (ptají se po majiteli adresy), ale spravit ho musí člověk – síť najednou neví, komu data patří, a nefunguje to oběma. Návštěva nemá šanci. Kdo přijde na schůzku, musel by si adresu vyžádat u správce. A když se změní brána nebo DNS server, obcházíš každý stroj zvlášť. Proto vznikl DHCP: služba, která adresy půjčuje sama, hlídá, aby se neopakovaly, a k adrese rovnou přibalí i zbytek nastavení.
Krok za krokem
- U jednoho stroje je ruční adresa nejjednodušší věc na světě: napíšeš číslo a hotovo. Problém není v prvním stroji.
- Přibude druhý stroj a někdo se překlepne. Stejná adresa dvakrát = konflikt a spojení se rozpadne oběma. Zákeřné je, že to nevypadá jako chyba adresy, ale jako „občas to nejde“.
- Teď přijde návštěva s notebookem. Ruční systém na ni nemá odpověď – buď obtěžuje správce, nebo si tipne a způsobí konflikt.
- DHCP obrátí směr: adresu si nenastavuješ, vyžádáš si ji. Jedno místo drží evidenci, takže se nemůže stát, že jedno číslo dostanou dva.
Co všechno klient potřebuje
Kdyby DHCP půjčoval jen adresu, byl by k ničemu. Zařízení potřebuje čtyři údaje, aby v síti opravdu fungovalo. 1) IP adresa – vlastní číslo, pod kterým ho ostatní najdou. 2) Maska podsítě – z ní zařízení pozná, koho má za souseda a komu může poslat data přímo (jak to maska dělá, rozebírá kurz ISO/OSI a TCP/IP: mapa sítě). 3) Výchozí brána – adresa routeru, kam posílá všechno, co není soused; bez ní se dostaneš po vlastní síti, ale ne dál (přesně ta výchozí cesta z kurzu Routing a IP adresy, jen z pohledu klienta). 4) DNS server – bez něj funguje adresa, ale ne jméno; uživatel to popíše jako „internet nejde“, i když technicky jde. DHCP proto neposílá číslo, ale celý balíček nastavení. To je jeho druhá, méně viditelná polovina: až změníš DNS server, přepíšeš ho na jednom místě a rozejde se sám.
Krok za krokem
- Adresa sama o sobě znamená jen „takhle se jmenuju číslem“. Zatím nevíš, s kým můžeš mluvit.
- Maska dovolí rozhodnout, koho má klient za souseda. Sousedovi pošle rámec přímo přes switch, bez routeru.
- Brána je adresa routeru. Bez ní se klient pohybuje jen po vlastní síti – ven se nedostane a vypadá to jako výpadek internetu.
- A DNS server: bez něj se dovoláš na adresu, ale ne na jméno. Uživatel to nahlásí jako „nic nefunguje“ – a přitom síť jede (kurz DNS a jména v síti).
Kde DHCP server bydlí
Pod slovem „DHCP server“ si spousta lidí představí zvláštní krabici v serverovně. Ve skutečnosti je to role, ne kus železa – a různě velké sítě ji dávají různým prvkům. V domácnosti ji dělá router od poskytovatele; proto ti doma všechno funguje samo a nikdy jsi o DHCP neslyšel. V menší firmě ji zpravidla drží router nebo firewall na hraně sítě, protože ten už bránu i tak představuje. Ve větší firmě běží DHCP na serveru nebo na L3 switchi – blíž k tomu, kdo adresy potřebuje, a s možností spravovat víc sítí z jednoho místa. V simulátoru je to stejné: roli DHCP zapneš v detailu routeru, firewallu, L3 switche i běžného serveru. Podstatné je, že v jedné síti má tuhle roli jeden prvek. Dva servery, které rozdávají z téhož rozsahu, si začnou lézt do zelí – a přesně o tom je poslední lekce.
Krok za krokem
- Doma je DHCP schované v routeru od poskytovatele. Proto ti připojení funguje samo a nikdy jsi nic nenastavoval.
- V menší firmě roli obvykle drží router nebo firewall na hraně – stejně už je bránou pro všechny.
- Ve větší firmě běží DHCP na serveru nebo L3 switchi – z jednoho místa se dá obsloužit víc sítí najednou.
- Ať roli dáš komukoli, platí jedno: v jedné síti jeden DHCP server. Co dělají dva, uvidíš v poslední lekci.
Lekce 2: DORA: čtyři zprávy
Discover: křik do tmy
Zapneš notebook. Nemá adresu, nemá masku, nemá bránu – neví o síti vůbec nic, ani jestli v ní nějaký DHCP server je a kde by ho hledal. Přesto musí nějak začít. Řeší to jedinou možnou cestou: zakřičí do tmy. Pošle DHCP Discover jako broadcast – rámec adresovaný „všem“, který switch rozešle do celé sítě (přesněji do celé té VLANy, z kurzu Switching a VLANy víš, že dál zeď nepustí). V hlavičce má jako odesílatele 0.0.0.0, protože žádnou adresu ještě nemá, a jako cíl 255.255.255.255, tedy „kdokoli, kdo tohle slyší“ (samé jedničky v adrese znamenají „všichni“, samé nuly „zatím nikdo“ – proto je odesílatelem 0.0.0.0). Zároveň přiloží svou MAC adresu – tu má vždycky, je natvrdo v síťovce – aby ho měl kdo poznat v odpovědi. (Pozor, „natvrdo“ znamená od výroby, ne nezměnitelně: co si stroj napíše do odesílaného rámce, si určuje sám – přesně toho využívá útok z poslední lekce.) Tenhle první krok je i důvod, proč DHCP nefunguje přes router bez pomoci: broadcast se na hranici sítě zastaví. K tomu se dostaneme ve čtvrté lekci.
Krok za krokem
- Klient po zapnutí neví nic: žádná adresa, žádná brána, žádné povědomí o tom, kdo v síti je.
- Pošle Discover: od 0.0.0.0 (nemám adresu) na 255.255.255.255 (komukoli). Přiloží svoji MAC, aby se dalo odpovědět jemu.
- Switch rámec rozešle na všechny porty té VLANy. Slyší ho i stroje, kterých se to netýká – a to je vlastnost, kterou později zneužije útočník.
- Router broadcast nepustí dál – tam DHCP hledání končí. Proto potřebují vzdálené sítě pomoc, o které je čtvrtá lekce.
Offer: nabídka, ne příkaz
Discover doletí k DHCP serveru a ten se poprvé ozve zprávou Offer – nabídkou. Není to ještě přidělení; je to „mám pro tebe tuhle adresu, chceš ji?“. Server si nejdřív ze svého rozsahu vybere adresu, která je volná, a než ji nabídne, dočasně si ji odloží stranou, aby ji mezitím nenabídl někomu jinému. Do nabídky přibalí i zbytek balíčku ze druhého modulu: masku, bránu, DNS a dobu, na jakou se adresa půjčuje. Odpovídá na MAC adresu klienta, protože ten pořád žádnou IP nemá. Když klient do pár desítek sekund neodpoví Requestem, server odloženou adresu zase uvolní – jinak by ji držel donekonečna kvůli stroji, který se mezitím vypnul. Slovo nabídka tu není náhodou. V síti může být serverů víc a klient může dostat nabídek několik – rozhodnutí je na něm. A přesně tuhle vlastnost využije podvržený server, který se snaží být rychlejší než ten pravý.
Krok za krokem
- Server dostal Discover a sáhne do rozsahu pro volnou adresu. Vybranou si odloží, aby ji mezitím nenabídl podruhé.
- Pošle Offer. Odpovídá na MAC klienta – ten pořád žádnou IP adresu nemá, takže jinak by ho nešlo oslovit.
- V nabídce není jen číslo – je v ní celý balíček ze druhého modulu, včetně doby, na jakou se adresa půjčuje.
- Je to nabídka, ne příkaz. Nabídnout může kdokoli – i cizí server, který se snaží stihnout to dřív. Pátá lekce ukáže, co z toho plyne.
Request a Acknowledge
Klient si z nabídek vybere jednu – zpravidla tu, která dorazila první – a odpoví zprávou Request. Zvláštní na ní je, že jde zase broadcastem, i když už klient ví, s kým mluví. Má to dobrý důvod: takhle se o jeho rozhodnutí dozvědí i ostatní DHCP servery a můžou své odložené nabídky pustit zpátky do rozsahu. Kdyby Request šel jen vybranému serveru, ostatní by adresy drželi zbytečně. Server pak potvrdí zprávou Acknowledge a teprve tímhle okamžikem je adresa opravdu zapůjčená: zapíše se do tabulky zápůjček s časem a MAC adresou klienta. Čtyři zprávy dohromady – Discover, Offer, Request, Acknowledge – se podle prvních písmen zkracují na DORA. Když si zapamatuješ jen jednu věc, ať je to tahle: první dvě zprávy jsou ptaní a nabídka, druhé dvě jsou volba a potvrzení.
Krok za krokem
- Klient si vybere nabídku a pošle Request. Znovu broadcastem, i když už ví, koho si vybral.
- Proto broadcast: ostatní servery se dozvědí, že vybraný nejsou, a vrátí svou odloženou adresu do rozsahu.
- Acknowledge je ta chvíle, kdy je adresa doopravdy zapůjčená. Server ji zapíše do tabulky s časem a MAC adresou.
- Čtyři zprávy = DORA. První dvě jsou ptaní a nabídka, druhé dvě volba a potvrzení.
Když odpoví dva
Zastavme se u jedné věty ze třetího modulu, protože je důležitější, než vypadá: klient si obvykle vybere nabídku, která dorazila první. Ne tu nejlepší, ne tu od správného serveru – prostě tu nejrychlejší. DHCP totiž nemá žádné ověřování. Klient nemá jak poznat, jestli odpověď přišla od firemního serveru, nebo od notebooku někoho, kdo si v síti hraje. Nezná heslo, nekontroluje podpis, nemá seznam povolených serverů. Věří tomu, kdo byl rychlejší. Z toho plynou dvě věci. Zaprvé: mít v jedné síti dva DHCP servery omylem (třeba když někdo přinese domácí router a zapojí ho do zásuvky) rozhodí síť způsobem, který se hledá překvapivě těžko – část strojů dostane adresy odjinud než zbytek. Zadruhé: útočník to zvládne schválně, a protože v nabídce je i brána a DNS, může si sám sebe zapsat jako cestu ven. Obojí rozebere pátá lekce.
Krok za krokem
- Klient zakřičí Discover. Zatím nic nového – jenže tenhle broadcast slyší všichni v síti.
- Pravý server je dál – přes router a switch. Jeho nabídka je správná, ale letí déle.
- Cizí server je blíž, takže jeho nabídka dorazí dřív. A první nabídka vyhrává.
- Klient nemá žádný způsob, jak ověřit odesílatele. Věří rychlosti – a v nabídce je i brána a DNS.
Lekce 3: Rozsah, lease a rezervace
Rozsah: odkud kam
Rozsah – anglicky pool nebo scope, potkáš všechna tři slova – je to hlavní, co na DHCP serveru nastavuješ: od které adresy do které smí půjčovat. Zní to jako triviální políčko, ale rozhoduje o dvou věcech naráz. Kolik zařízení síť unese – rozsah od .100 do .150 uživí padesát klientů a padesátý první má smůlu, i kdyby byla podsíť sebevětší. A co zbude na adresy, které se nesmí půjčovat: router, servery, tiskárny. Proto se rozsah skoro nikdy nedělá přes celou podsíť. Typický návrh nechá spodní část ručně (třeba .1 až .99 pro infrastrukturu) a klientům dá vrchní (.100 až .200). Zbytek zůstane jako rezerva. V simulátoru rozsah najdeš v nastavení sítě – u každé sítě zvlášť, protože každá podsíť má vlastní adresy a vlastní hranice. A pozor: rozsah, který je moc malý, se neprojeví hned. Projeví se v den, kdy přijde víc lidí než obvykle.
Krok za krokem
- Rozsah říká, odkud kam smí server půjčovat. Tady sto adres pro klienty.
- Spodní část podsítě zůstává ručně: router, servery, tiskárny. Ty adresy se nesmí půjčit nikomu jinému.
- Klienti dostávají adresy z horní části. Infrastruktura a klienti si tak nelezou do cesty.
- Malý rozsah se neprojeví dnes, ale v den, kdy přijde víc lidí. Pak se stroje neptají špatně – jen není z čeho.
Co do rozsahu nepatří
Do rozsahu nepatří tři druhy adres a každý z jiného důvodu. 1) Adresy, které už někdo má ručně. Router, DNS server, tiskárna, kamery – všechno, co jsi nastavil pevně. Kdyby je server půjčil, vznikne přesně ten konflikt z první lekce, jen tentokrát ho způsobí DHCP samo. 2) Adresa sítě a broadcast. První a poslední adresa každé podsítě má zvláštní význam – první je jméno celé podsítě, poslední znamená „všem tady najednou“ (rozebírá to kurz Dělení sítě: podsítě v praxi) – a klientovi se přidělit nesmí – server je proto přeskakuje sám. 3) Adresy, které si necháváš do zásoby. Až budeš příště přidávat server, oceníš, že máš kam. Praktické pravidlo zní: co má pevnou adresu, ať leží mimo rozsah. Alternativou je rezervace, o které je poslední modul téhle lekce – ta nechá adresu uvnitř rozsahu, ale přiváže ji ke konkrétnímu zařízení. Obojí je správně; horší je třetí možnost, totiž pevná adresa uprostřed rozsahu, o které DHCP server neví.
Krok za krokem
- Co má pevnou adresu, ať leží mimo rozsah. Jinak ji server jednou půjčí někomu dalšímu.
- Adresa sítě a broadcastová adresa mají zvláštní význam. Server je přeskakuje sám, klientovi je nepřidělí.
- Nejhorší varianta: pevná adresa uprostřed rozsahu, o které server neví. Jednou ji půjčí a máš konflikt.
- Když je rozsah čistý, DHCP dělá přesně to, co má – a konflikty adres z první lekce úplně zmizí.
Lease: půjčeno na čas
Adresa se nedává, půjčuje se – a to na čas, kterému se říká lease (zápůjčka). Klient dostane spolu s adresou i informaci, jak dlouho platí; typicky hodiny až dny. Proč vůbec na čas? Kdyby se adresy půjčovaly natrvalo, rozsah by se postupně zaplnil stroji, které už dávno nikdo nezapnul – návštěvník, který tu byl jednou na hodinu, by držel adresu navždy. Lease tenhle problém řeší sám od sebe: co se neobnoví, propadne zpátky do rozsahu. Klient přitom o adresu nepřijde uprostřed práce. Zhruba v polovině doby si tiše řekne o prodloužení a server mu obvykle vyhoví – proto si obnovování nikdy nevšimneš. Délka zápůjčky je návrhové rozhodnutí: v kanceláři, kde sedí pořád stejní lidé, se hodí dlouhá (méně provozu, stabilnější adresy). Na letišti nebo v kavárně naopak krátká, protože se lidé rychle střídají a adresy se musí vracet.
Krok za krokem
- S adresou přijde i doba, na jakou platí. Není to dar, je to zápůjčka.
- Zhruba v polovině si klient tiše řekne o prodloužení. Proto o adresu uprostřed práce nepřijdeš.
- Kdo se neozve, o adresu přijde a ta propadne zpátky do rozsahu. Tím se pool sám čistí.
- Délku volíš podle provozu: dlouhá tam, kde jsou pořád titíž lidé, krátká tam, kde se rychle střídají.
Rezervace podle MAC
Někdy chceš obojí naráz: aby zařízení dostávalo adresu automaticky z DHCP, ale pokaždé tu samou. Typicky tiskárna, kamera, NAS nebo server, na který někdo odkazuje pevnou adresou. Řešením je rezervace: na serveru řekneš „zařízení s touhle MAC adresou dostane vždycky tuhle IP“. Klient nic nepozná – normálně si o adresu řekne přes DORA a normálně ji dostane, jen je pokaždé stejná. Proč MAC? Protože je to jediná věc, kterou klient má ještě než dostane adresu, jak víš z Discoveru. Oproti ručnímu nastavení má rezervace jednu velkou výhodu: nastavení zůstává na jednom místě. Když změníš bránu nebo DNS, tiskárna to dostane taky – zatímco stroj s ručně nastavenou adresou by ti tam zůstal s tím starým a jednou by ses divil, proč zrovna on nefunguje.
Krok za krokem
- Tiskárna se chová jako každý jiný klient – jenže lidé i systémy na ni odkazují pevnou adresou.
- Na serveru vznikne rezervace: tahle MAC adresa dostane vždycky tuhle IP.
- Klient si o adresu řekne úplně normálně přes DORA. Jen mu pokaždé vyjde ta samá.
- Výhoda proti ruční adrese: nastavení zůstává na jednom místě, takže změna brány nebo DNS doletí i sem.
Lekce 4: Když je server jinde: relay
Broadcast přes router neprojde
Vraťme se k tomu, čím končila druhá lekce. Klient hledá server broadcastem – a broadcast se zastaví na hranici sítě, protože router ho dál nepustí. To není chyba ani opomenutí; je to přesně to, proč routery existují. Kdyby broadcasty procházely, celý internet by byl jedna obří síť, kde každý slyší každého. Jenže to znamená, že klient v pobočce nikdy neuslyší DHCP server v centrále. Ať je server sebevýkonnější, ať je linka sebelepší – Discover k němu prostě nedoletí. Nabízejí se tři řešení. DHCP server v každé síti – funguje, ale znamená to spravovat rozsahy na deseti místech místo jednoho. Ruční adresy v pobočce – to je krok zpátky do první lekce. Nebo relay: necháme někoho, kdo v obou sítích je, aby zprávu přenesl. To je téma dalšího modulu.
Krok za krokem
- V pobočce se zapne stroj bez adresy. Chová se úplně stejně jako v centrále: zakřičí Discover.
- Discover doletí k routeru, protože ten je v pobočkové síti taky. A tam to končí.
- Router broadcast nepřepošle – a to je správně. Kdyby to dělal, byl by internet jedna obří síť.
- Server v centrále se o klientovi vůbec nedozví. Nepomůže výkon ani rychlá linka – zpráva k němu nedorazí.
Relay: přebalí a pošle dál
DHCP relay (někdy relay agent) je funkce routeru, která tenhle problém řeší jednoduchým trikem. Router v pobočkové síti je – ten broadcast slyší. Když má zapnutý relay, neodhodí ho, ale přebalí: udělá z něj běžný adresný paket poslaný přímo na adresu DHCP serveru, kterou jsi mu ručně zadal při zapnutí relay. A protože už to není broadcast, projde bez potíží přes celou síť až do centrály. Trik má ještě druhou polovinu, bez které by to nefungovalo: relay do zprávy doplní, ze které sítě klient přišel. Server tak pozná, ze kterého rozsahu má půjčit – jinak by u sebe měl deset rozsahů a netušil by, který použít. Odpověď pak putuje zpátky stejnou cestou k relay, který ji doručí klientovi. V simulátoru relay zapneš u routeru a zadáš adresu serveru; klient v pobočce pak dostane adresu úplně stejně jako ten v centrále.
Krok za krokem
- Klient křičí jako vždycky a router ho slyší – v pobočkové síti přece je.
- Se zapnutým relay ho router neodhodí, ale přebalí na běžný paket mířený přímo na server.
- Do zprávy navíc doplní, ze které sítě klient přišel – jinak by server nevěděl, ze kterého rozsahu půjčit.
- Odpověď se vrací stejnou cestou a relay ji doručí klientovi. Ten o žádném triku neví.
Jeden server pro víc sítí
Relay se vyplatí kvůli tomu, co umožní: jeden DHCP server pro celou firmu. Na jednom místě máš rozsahy pro všechny sítě, jeden přehled zápůjček, jedno místo, kde měníš DNS server nebo bránu. Kdybys místo toho měl DHCP v každé síti zvlášť, čeká tě deset míst na spravování a s nimi deset příležitostí, kde se něco rozejde. Má to i druhou stranu. Když centrální server vypadne, nedostane adresu nikdo – zatímco při serveru v každé síti by výpadek postihl jen jednu. Proto se v návrhu obvykle nesází všechno na jednu kartu: buď se DHCP zdvojí (dva servery, každý půjčuje z jiné poloviny rozsahu), nebo se aspoň hlídá jeho dostupnost. Je to stejná úvaha jako u DNS z kurzu DNS a jména v síti a stejná jako u odolnosti obecně: centralizace ušetří práci, ale soustředí riziko do jednoho bodu. Nic není zadarmo, jen si vybíráš, co je pro tvoji síť horší.
Krok za krokem
- Server drží rozsah pro centrálu a obsluhuje ji přímo, bez pomoci.
- A přes relay drží i rozsah pro pobočku. Jedno místo, jeden přehled, jedna změna DNS pro všechny.
- Jenže když tenhle server vypadne, nedostane adresu nikdo – ani centrála, ani pobočka.
- Proto se DHCP zdvojuje: dva servery, každý půjčuje z jiné poloviny rozsahu. Stejná úvaha jako u DNS.
Lekce 5: Když DHCP zlobí
Cizí DHCP server
Ze druhé lekce plyne nepříjemný závěr: klient věří první nabídce a nemá jak ověřit, kdo ji poslal. Stačí tedy do sítě dostat vlastní DHCP server, být blíž než ten pravý – a klienti si tvoje nastavení vezmou sami. Nejčastěji to není útok. Někdo přinese domácí router, zapojí ho do zásuvky, aby měl víc portů, a nevšimne si, že ta krabička rozdává adresy taky. Výsledek vypadá jako záhada: části strojů síť funguje, části ne, a záleží na tom, který server byl zrovna rychlejší. Zákeřnější je varianta úmyslná. V nabídce je totiž i brána a DNS – útočník tedy nemusí nic lámat, stačí, když se zapíše jako cesta ven. Od té chvíle mu teče veškerý provoz obětí přes jeho stroj a on si ho může číst nebo měnit. Je to jedna z nejlevnějších cest, jak se dostat doprostřed cizí komunikace, a nepotřebuje k ní žádnou zranitelnost – jen zásuvku.
Krok za krokem
- Do sítě přibude cizí DHCP. Většinou ne útokem – stačí domácí router zapojený „kvůli portům“.
- Discover je broadcast, takže ho slyší oba servery. Oba můžou nabídnout.
- Bližší server je rychlejší a klient bere první nabídku. Vyhrává vzdálenost, ne oprávnění.
- V nabídce byla i brána. Od téhle chvíle teče provoz oběti přes útočníka a ten si ho může číst.
Starvation: vysátý rozsah
Druhý útok jde na to opačně: nesnaží se odpovídat, ale vyčerpat. Útočník posílá Discover za Discoverem, pokaždé s jinou vymyšlenou MAC adresou, a server na každý poctivě odpoví nabídkou a adresu si odloží. Po chvíli je celý rozsah rozebraný mezi stroje, které vůbec neexistují. Tomu se říká DHCP starvation – vyhladovění. Pro uživatele to vypadá nevinně: nové zařízení se prostě nepřipojí, ostatní jedou dál, protože ta už adresu mají. Proto se to snadno svede na kabel nebo na Wi-Fi. Rozpoznáš to podle toho, že server hlásí plný rozsah, a přitom tolik zařízení v síti fyzicky není. Zákeřné je i pokračování: až rozsah dojde, může útočník nastoupit s vlastním serverem z předchozího modulu – a protože ten pravý už nemá co nabídnout, není s kým soutěžit. Dva útoky, které samostatně obtěžují, dohromady převezmou síť.
Krok za krokem
- Útočník posílá Discover za Discoverem, pokaždé s jinou vymyšlenou MAC adresou.
- Server nemá důvod nevěřit – na každý Discover odpoví nabídkou a adresu si odloží stranou.
- Za chvíli je rozsah plný – rozebraný mezi stroje, které v síti vůbec nejsou.
- Nové zařízení se nepřipojí, ostatní jedou dál. Proto se to svede na kabel – a proto se to hledá tak dlouho.
Obrana: snooping a port security
Obojí má společnou příčinu: switch nerozlišuje, ze kterého portu co přišlo, a bere všechno stejně. Obrana proto sedí přesně tam – na switchi, a znáš ji z kurzu Switch do hloubky. DHCP snooping rozdělí porty na důvěryhodné a nedůvěryhodné. Důvěryhodný je ten, za kterým opravdu stojí DHCP server nebo cesta k němu; všechny ostatní jsou nedůvěryhodné a switch z nich nabídky prostě zahodí. Cizí server tak může nabízet, co chce – k žádnému klientovi se to nedostane. Proti vyčerpání rozsahu pomáhá port security ze stejného kurzu: omezí, kolik různých MAC adres smí být za jedním portem. Útočník, který jich chce vystřídat stovky, narazí hned u prvních. Zbývá provozní půlka: všímat si. Rozsah, který se plní rychleji než obvykle, nebo zařízení, které dostalo bránu odjinud než zbytek – to jsou přesně ty stopy, kvůli kterým se sbírají logy (kurz Monitoring, logy a detekce).
Krok za krokem
- DHCP snooping označí port, za kterým opravdu stojí server (nebo cesta k němu), jako důvěryhodný.
- Z nedůvěryhodných portů switch nabídky zahodí. Cizí server může nabízet, ke klientům se to nedostane.
- Proti vyčerpání rozsahu pomůže port security: omezí počet MAC adres za portem, takže stovky vymyšlených neprojdou.
- A provozní půlka: všímat si. Rychle plnící rozsah nebo stroj s cizí bránou jsou přesně ty stopy z kurzu Monitoring, logy a detekce.