Bráníme se odposlechu: obrana na switchi

V dnešním závěrečném díle se podíváme, jak se bránit útokům DHCP Spoofing, ARP Cache Poisoning, MAC Flooding, Port Stealing a ICMP Redirect přímo na switchi. Také si krátce ukážeme, jak nám může pomoci aktualizace software a využití VLAN.

Obrana na switchích firmy CISCO

Připojení počítače do sítě

Zde se používá autentizace před tím, než je počítači umožněna komunikace v síti. Už jsem se o tom zmiňoval i ve druhém díle tohoto seriálu. Využívá se zde protokolu EAP, který slouží jako transportní mechanismus. Čím (čipová karta, heslo, …) bude počítač ověřován, je na vás.

V praxi to vypadá tak, že vy připojíte počítač ke switchi. Port na switchi, ke kterému jste se připojili, je uzavřený a neprochází přes něj žádný provoz. Switch buď sám na připojení PC zareaguje a pošle žádost, abyste se ověřili, nebo sám počítač pošle switchi požadavek o zahájení ověřování. Následně se ověří totožnost klienta, pokud se jedná o jednocestné ověřování. Totožnost neověřuje přímo switch, ale autentizační server. Switch tyto pakety pouze „přeposílá“. Když je vše v pořádku, switch otevře port, ke kterému jste připojeni, a můžete komunikovat s okolím.

Pokud budete hledat informace o této technologii dále, tak ještě doplním, že klient se nazývá Supplicant, switch je nazýván Authenticator a nakonec autentizační server je Authentication Server. A doporučím vám seriál o této tématice na serveru svetsiti.cz.

DHCP Spoofing

Jako ochrana před útočníkovým DHCP serverem se používá technologie DHCP Snooping. Principiálně spočívá v tom, že porty na switchi rozdělíte na „trusted“ a „untrusted“. Pokud je na portu připojen počítač, pak port označíte jako untrusted. Pokud se ovšem za portem nachází další switch nebo počítač s DHCP serverem, označíte port jako trusted (zde je potřeba dát si pozor, pokud bude na portu připojen switch, který neumí DHCP Snooping, pak je třeba port nastavit jako untrusted).

Zapneme-li DHCP Snooping, útočník bude mít zapnut DHCP server a nějaký klient požádá o IP adresu, útočníkův DHCP server sice odpoví, ale jakmile dorazí odpověď na switch, switch zkontroluje, zda je poslána z trusted portu, a podle toho ji zahodí či propustí. V tomto případě bude zahozena, jelikož útočník je na obyčejném počítači, který je připojen k untrusted portu. Tímto se spolehlivě zabrání DHCP Spoofingu.

Ovšem toto není vše, co DHCP Snooping dělá. On nám totiž ještě připravuje půdu pod nohama pro obranu proti dalším útokům. A to díky tomu, že si z informací získaných při DHCP Snoopingu vytváří tabulku. Tato tabulka obsahuje MAC adresu klienta, přidělenou IP adresu, port, na kterém se klient nalézá, dobu, kdy vyprší zapůjčení IP adresy, VLAN, do které klient spadá, a způsob, jak byla položka přidána.

tabulka snooping

ARP Cache Poisoning

Tomuto útoku je zabráněno velmi elegantně pomocí technologie DAI (Dynamic ARP Inspection). Tato technologie pracuje tak, že využívá tabulku vytvořenou pomocí DHCP Snoopingu. Přijde-li na switch ARP paket z trusted portu, je poslán dále. Pokud ovšem na switch přijde ARP paket z untrusted portu, je nejdříve předán procesoru. Pokud se jedná o ARP Request, procesor v paketu zjistí, zda MAC a IP adresa počítače žádajícího o překlad patří k sobě. V případě, že se jedná o ARP Reply, tak se navíc kontroluje, zda k sobě patří MAC a IP adresa počítače odpovídajícího na ARP Request.

To, zda je kombinace správná, se zjišťuje nahlédnutím do tabulky vzniklé při DHCP Snoopingu. Jestliže je vše správně, je paket propuštěn, v opačném případě je paket zahozen. Pokud je nějaký počítač nakonfigurován staticky, lze použít DAI Access List, kde se definují položky ručně. V případě, že není DHCP Snooping aktivní, DAI využívá DAI Access List.

Port Stealing, MAC Flooding a ICMP Redirect

Všem těmto útokům můžeme zabránit pomocí kombinace DHCP Snoopingu, IP Source Guardu a Port Security.

Vše dohromady pracuje tak, že je zahozen veškerý IP provoz, který na port přichází (jedná se pouze o untrusted porty) a nemá nastavenu zdrojovou MAC a IP adresu počítače podle záznamu v DHCP Snooping tabulce pro daný port.

Prakticky to je tedy tak, že pokud je aktivován DHCP Snooping, IP Source Guard a Port Security, je zpočátku veškerý IP provoz kromě DHCP protokolu na portu blokován. Jakmile je počítači přiřazena IP adresa od DHCP serveru, vytvoří se v DHCP Snooping tabulce záznam. Počítač od té chvíle může normálně komunikovat. Jakmile se ale pokusí podvrhnout zdrojovou MAC nebo IP adresu, switch to pozná podle záznamu v DHCP Snooping tabulce a data zahodí.

ICMP Redirect potřebuje, aby zdrojová IP adresa byla zfalšována. Jenomže to IP Source Guard znemožňuje, takže tento útok není možný.

MAC Flooding a Port Stealing potřebují pro své provedení falšovat zdrojové MAC adresy. Jakmile ale data se zfalšovanými MAC adresami přijdou na switch, jsou zahozena, jelikož switch se podívá do DHCP Snooping tabulky a zjistí, že tyto MAC adresy se na portu vyskytovat nemají.

Shrnutí

Všem útokům se dá tedy snadno zabránit. Pro lepší orientaci zde zopakuji, jakou technologií se kterému útoku bránit.

  • ARP Cache Poisoning: DAI
  • DHCP Spoofing: DHCP Snooping
  • ICMP Redirect: IP Source Guard
  • MAC Flooding: Port Security
  • Port Stealing: Port Security
  • Připojení počítače do sítě: autentizace

Všeobecné rady

VLAN

Virtuální síť nám umožňuje na jednom či více switchích oddělit od sebe počítače, jako by byly na samostatné síti. Například máte síť o více switchích a do těchto switchů jsou připojeny počítače dvou firem. Aby navzájem firmy neviděly svá data, začleníte počítače jedné firmy do VLAN 1 a počítače druhé firmy do VLAN 2. Nyní počítače z VLAN 1 „neuvidí“ počítače z VLAN 2. Vše se bude tvářit, jako by počítače byly fyzicky na jiné síti. Členství ve VLAN se nejčastěji nastavuje na porty switche, nebo MAC adresy. Některé počítače můžeme nastavit i tak, že budou patřit do všech VLAN.

VLAN

VLAN nám většinou umožňují už i levnější switche. Pro zvýšení bezpečnosti se VLAN využívá například při vytvoření virtuální sítě pro počítače, které nemají mít přístup do firemní sítě a jsou třeba určeny pouze k surfování po Internetu.

Ve většině firem probíhá komunikace tak, že uživatelské stanice komunikují pouze se serverem a nikoliv spolu navzájem. Proto je můžeme pomocí VLAN izolovat. Pokud nám například nevyjde počet virtuálních sítí, může v jedné virtuální síti být i více počítačů. Tím zpomalíme útočníkův postup, jelikož nebude moci odposlouchávat celou síť, ale pouze počítače ve virtuální LAN.

EBF16

Aktualizace

Další důležitou věcí je aktualizování software, hlavně operačního systému. Opravíte si tím bezpečnostní díry, které mohou vést k infekci počítače virem, trojským koněm nebo jinou „havětí“. Asi si říkáte, jak to souvisí s obranou proti odposlouchávání. Například špatně napsaný DNS Resolver, který byl součástí Windows 95 až Windows XP, umožňoval snadné provedení DNS Spoofing útoku. Microsoft tuto chybu opravil, a zmenšil tak možnost tohoto útoku na minimum. Dále můžeme poukázat na defaultní zapnutí firewallu na síťových rozhraních v servis packu 2 pro systém Windows XP. Tím bylo spolehlivě zabráněno útoku ICMP Redirect.

Závěr

Tímto dílem nám tento seriál zaměřený na obranu proti odposlechu končí. Doufám, že se vám líbil a dozvěděli jste se něco nového. Pokud jsem v tomto díle udělal nějakou nepřesnost, omlouvám se a budu rád, když mě poopravíte v komentářích.

Anketa

Jak se vám líbil tento seriál (známkování jako ve škole)?

12 názorů Vstoupit do diskuse
poslední názor přidán 29. 8. 2006 14:17

Školení UX: Jak zapojit uživatele do designu

  •  
    Jak dostat ono tajemné UX do designu.
  • Ve kterých fázích zapojit uživatele, abyste dostali nejvíc muziky za nejmíň peněz.
  • Jak vytvářet jednoduché a srozumitelné persony

Detailní informace o školení UX »