Základní principy a konfigurace switchů
Základní principy a konfigurace switchů
Tato kapitola navazuje na znalosti a schopnosti získané v kurzu Exploration 1 – Network Fundamentals a prohlubuje je. Tato kapitola popisuje: · stručný souhrn funkčnosti 100/1000 Mbps Ethernetu podle IEEE 802.3 standardu · způsob přepínání ethernetových rámců v LAN · základní konfiguraci switchů v konvergovaných sítích · základní zabezpečení switchů v konvergovaných sítích
Úvod k sítím Ethernet/802.3
Hlavní součásti ethernetových sítí
CSMA/CD
Carrier Sense Multiple Access/Collision Detection je metoda přístupu ke sdílenému médiu. Používá se pouze u poloduplexních (half-duplex) linek (viz kurz Exploration 1 – Network Fundamentals).
Carrier sense = dřív, než stanice začne vysílat, zjistí, zda je médium volné. Pokud není volné, vyčká stanovenou dobu. Jakmile může vysílat, začne, ale v průběhu vysílání stále naslouchá, zda nedošlo ke kolizi. Poté se vrátí do původního stavu.
Collision Detection = kolize lze detekovat pomocí zvýšené amplitudy složených (kolidujících) signálů. Vysílající zařízení poté pokračují ve vysílání, aby všechny uzly mohly kolizi detekovat
Jam signál = jakmile je kolize detekována, vysílající zařízení vyšle do sítě tzv. „jam signál“. Ten upozorní všechna zařízení, že mají aktivovat tzv. „backoff algoritmus“
Backoff algoritmus = postup, kdy stanice na náhodně zvolenou dobu přestane vysílat, což umožní signálu z kolize odeznít. Následně se stanice vrátí do standardního stavu – naslouchání před vysíláním. Náhodná volba čekání zamezuje opětovnému vzniku kolize ihned po odeznění kolize.
Komunikace v ethernetu
Zprávy zasílané ethernetovou sítí mohou být unicast, multicast nebo broadcast.
Unicast = zpráva odesílaná stanicí pro pouze jednoho příjemce – nejčastější. Příklad – HTTP, SMTP, FTP, Telnet, …
Broadcast = zpráva odesílaná stanicí pro všechny ostatní stanice v LAN. Příklad – ARP.
Broadcast = zpráva odesílaná stanicí pro všechny ostatní stanice v LAN. Příklad – ARP. Multicast = zpráva odesílaná stanicí pro skupinu stanic (ty musí být členy multicastové skupiny). Příklad – audio-video konference mezi více účastníky.
MAC adresa je 48 bitové číslo zapisované v hexadecimální soustavě (může být reprezentováno různě) – příklad: 00-05-9A-3C-78-00, 00:05:9A:3C:78:00 nebo 0005.9A3C.7800. Levá polovina je přidělována od IEEE jednotlivým výrobcům (OUI), z čehož ale první 2 bity určují, zda je adresa broadcastová (multicastová) a zda je možné tuto adresu lokálně změnit (např. konfigurací v operačním systému). Druhou polovinu určují výrobci tak, aby v rámci jejich rozsahu byla jedinečná.
Duplex
Half duplex (poloviční duplex) – data v jednom okamžiku mohou jít pouze jedním směrem, proto je nutné CSMA/CD k detekování kolizí. Je to pomalejší způsob přenosu dat (musí se čekat na dokončení přijetí dat před posíláním a naopak), proto je zpravidla používán u staršího hardwaru (hubů). Stanice připojené k hubu musí pracovat v half duplex režimu.
Full duplex (plný duplex) – data mohou procházet oběma směry zároveň, takže nemůže dojít ke kolizi – vytváří se „bezkolizní prostředí“
Konfigurace portů na switchi
Každý port switche může být nastaven buď na full duplex, half duplex nebo autodetekci (přizpůsobí se připojenému zařízení). Příkazy pro nastavení jsou:
Autodetekce může někdy způsobit problémy. Pokud připojené zařízení nepodporuje autodetekci (např. je nastaveno ručně), selhání procesu autodetekce může způsobit špatné nastavení způsobu přenosu. Pokud není nastaveno obojí stejně, může docházet k chybám v přenosu dat. Další konfigurace – porty na switchi také mohou být nakonfigurovány na autodetekci zapojení přímého nebo kříženého kabelu – příkaz:
Přepínací tabulka na switchi
Switche používají k předávání zpráv MAC adresy. Při příjmu zprávy si přiřadí MAC adresu odesílatele v přepínací tabulce k portu, na kterém byla zpráva přijata. Pokud MAC adresa příjemce je ve switchovací tabulce, předá switch zprávu na daný port. Pokud ne, pošle ji na všechny ostatní porty. Pokud adresát odpoví, je jeho MAC adresa přidělena příslušnému portu. Tímto způsobem se MAC tabulky plní. K jednomu portu může být asociováno i více MAC adres - typicky pokud je na některém portu switche připojen jiný switch.
Kriteria pro návrh ethernetových sít
Šířka pásma, propustnost
Nejvíce omezujícím faktorem ethernetových sítí jsou kolize. Každá kolize snižuje reálnou propustnost dané sítě, a čím více zařízení je do sítě zapojeno, tím větší je pravděpodobnost kolizí. Huby přitom nemají možnost těmto kolizím zabránit.
Kolizní domény
Část sítě, ve které může dojít ke kolizi, se nazývá „kolizní doména“. Rozdíl mezi hubem a switchem je v tom, že switch každým portem ohraničuje vlastní kolizní doménu. Takže např. 12- ti portový switch vytváří 12 kolizních domén. Také používají techniku mikrosegmentace. Celkově tedy switche redukují kolize a zvyšují průchodnost sítí.
Broadcastové domén
Ačkoliv switche většinu rámců posílají pouze přímo adresátovi, broadcastové rámce musí poslat všem – a další switche je musí přeposlat také. Proto vzájemně propojené switche vytvářej
Zpoždění sítě (Network Latency)
Zpoždění je čas, jak dlouho trvá cesta rámce od odesilatele k příjemci. Zdroje zpoždění jsou většinou tři. První – přímo na síťové kartě (NIC) – čas potřebný k interpretaci signálu na 0 a 1 a naopak. Druhý – „propagation delay“ – čas, který potřebuje signál na průchod médiem. Třetí – propojovací zařízení – každé zařízení po cestě musí zprávu zpracovat a poslat dál, což opět zabere určitý čas. Na čím vyšší vrstvě dané zařízení pracuje (L3 = router, L2 = switch, …), tím je tato doba delší. A protože switche používají speciální hardwarové prvky (ASIC, …) a softwarové metody (QoS, buffering, …), je zpravidla větš
Zahlcení sítě
Pokud není síť segmentována (pomocí switchů), může dojít i při komunikaci několika uzlů k zahlcení sítě. Riziko zahlcení sítě v dnešní době také zvyšují zrychlující počítače, které jsou schopny vysílat data do sítě stále rychleji, zvyšující se objem síťového provozu, broadcastové zprávy (např. ARP), čím dál tím náročnější síťové aplikace.
Segmentace LAN
Při návrhu sítě je vhodné naplánovat segmentaci kolizních domén (pomocí bridžů, switchů) i broadcastových domén (routery, VLAN). Srovnání:
Kriteria návrhu LAN
Zpoždění sítě – zařízení L2 (switche) by měly mít dostatečnou vnitřní propustnost. Počet L3 zařízení by měl být přiměřený – dostatečný z hlediska broadcastových domén, ale ne příliš moc, kvůli zpoždění (oproti L2). Úzká místa v síti – lze řešit buď spojem vyšší kapacity, nebo agregací linek. Aktivita 2.1.3.2 – na jednotlivých obrázcích zakreslete hranice kolizních nebo broadcastových domén (online curriculum).
Switche – přepínání rámců
Metody přepínání rámců
Existují různé metody přepínání rámců – „store-and-forward“ a „cut-through“. Každá má své klady a zápory, nicméně v Cisco Catalyst switchích je použita pouze metoda „store-andforward“.
Store-and-forward
Switch uloží celý obsah přijímaného rámce do mezipaměti, v průběhu toho rozhodne o případném cíli a ověří správnost přenosu pomocí CRC součtu. Pokud CRC nesouhlasí, je rámec poškozen, takže se zahodí. V opačném případě se předá směrem k cíli. Pokud chceme používat QoS, je nutno použít tuto metodu – aby bylo možné rozhodnout, o jaký typ komunikace se jedná (VoIP, www, …).
Cut-through
Switch přijme pouze začátek rámce – po MAC adresu příjemce. Poté určí kam rámec předat a okamžitě jej začne předávat. Důsledkem je, že nemůže kontrolovat CRC, takže předává i poškozené pakety, čímž mírně zvyšuje provoz v síti (nicméně síťová karta příjemce tento rámec stejně zahodí). Výhodou této metody je rychlost – je rychlejší než „store-and-forward“. Variantou metody „cut-through“ je také metoda „fragment-free“. V tomto případě se přijme prvních 64 bytů rámce (zde se vyskytují chyby přenosu nejčastěji) a pokud je vše v pořádku, začne se rámec předávat k cíli.
Symetrické, asymetrické přepínání
Asymetrické přepínání – switch má porty s různými přenosovými rychlostmi – typicky s větší kapacitou dostupnost pro servery. Tím se zabraňuje vzniku „úzkého hrdla“ při současné komunikaci více stanic se serverem. Typicky – 24 portů 10/100 Mbps, 2 porty 10/100/1000 Mbps. Symetrické přepínání – všechny porty switche mají stejnou rychlost. Zpravidla pokud převažuje peer-to-peer komunikace mezi stanicemi.
Vyrovnávací paměti
Pokud je nutné rámec před odesláním zkontrolovat, je nutné jej také někam ukládat. K tomu slouží vyrovnávací paměti (buffer memory, buffery). Někdy je také nutno rámec před odesláním uložit, než se odchozí port uvolní.
Vyrovnávací paměť portu (Port-based Memory Buffering) Každý port má svou vlastní paměť = frontu rámců čekajících na odeslání. Rámec čeká na odeslání, dokud všechny rámce ve frontě před ním nejsou odeslány.
Sdílená paměť (Shared Memory Buffering) Rámce, které je potřeba uložit, se ukládají do paměti společné pro celý switch. Kapacita fronty pro jednotlivé porty je přidělována dynamicky (podle potřeby). Počet uložených rámců závisí pouze na kapacitě paměti a není limitován vazbou na konkrétní port. To umožňuje přenos velkých rámců s méně chybami, což je důležité pro asymetrické přepínání, kde jsou rámce přepínány mezi porty s rozdílnými rychlostmi.
Přepínání na L2, L3
Přepínání rámců zpravidla probíhá na úrovni L2 (linkové vrstvy) OSI modelu – tj. na základě MAC adres. Takový switch se z pohledu uživatelů, aplikací či protokolů v síti nijak neprojevuje. Přepínání na L3 vrstvě (např. Catalyst 3560) je podobné jako u L2, ale místo MAC adres se k přepínání použijí také IP adresy. U každého portu se kromě seznamu MAC adres připojených zařízení ukládají také IP adresy těchto zařízení. To umožňuje provádět L3 směrování bez specializovaného zařízení (bez routeru) a možná rychleji – stejnou rychlostí, jakou má připojené médium. Nicméně routery nelze nahradit pomocí L3 switchů – srovnání vlastností L3 switchů a routerů nabízí tabulka:
Konfigurace switchů
Režimy příkazového řádku (CLI)
Přístupové úrovně Cisco IOS:
· User EXEC – uživatelský režim – pouze monitorování provozu; ve výzvě je znak >
· Privileged EXEC – privilegovaný režim – všechny příkazy; ve výzvě je znak #
Přechod mezi režimy – příkazy enable a disable.
V privilegovaném režimu lze přejít do globálního konfiguračního režimu (global config mode) – ve výzvě se objeví (config)#. V tomto režimu můžeme konfigurovat obecná nastavení – např. jméno switche (hostname), atd.
Další – specifické, konfigurační režimy se aktivují odpovídajícími příkazy. Například konfigurace rozhraní se vyvolá příkazem interface
Grafické nástroje pro konfiguraci
Pro malé a střední sítě je možné použít například aplikaci Cisco Network Assistant. Pomocí ní lze konfigurovat switch nebo skupinu switchů. Aplikaci je možné po registraci stáhnout z www.cisco.com. Aplikace CiscoView zobrazuje fyzický vzhled switche, který lze pomocí toho konfigurovat. Tuto aplikaci lze zakoupit buď jednotlivě nebo jako součást SNMP softwarového balíku. Cisco Web Manager je webová aplikace uložená na cisco switchi a je dostupná odkudkoliv ze sítě pomocí webového prohlížeče. Switch je také možné konfigurovat pomocí libovolné SNMP aplikace.
Použití nápovědy v CLI
2.3.2 Použití nápovědy v CLI Nejužitečnější klávesou pro nápovědu je znak ?. Kdykoliv, kdy ho zmáčkneme, vypíše možnosti, jak můžeme pokračovat v zadávání příkazu. Pro automatické dokončování názvu příkazu (nebo parametrů) je možné využít klávesy tabulátor. Pokud přece jen zadáme špatný příkaz, vypíše CLI chybovou hlášku s vysvětlením. Příklady:
· Ambiguous command – nejednoznačně zadaný příkaz – např. pouze cl může být buď clear nebo clock). · Incomplete command – nedokončený příkaz – zapomněli jsme zadat některý argument. · Invalid input detected at ‘^’marker – nad označeným písmenem je překlep nebo chyba.
Využití historie příkazů
Při opakovaném zadávání delších příkazů lze využít historii příkazů. Ta se ukládá pro každý režim zvlášť. Užitečné příkazy (v privileged exec režimu … switch#):
· terminal history resp. terminal no history – zapne/vypne historii příkazů · terminal history size 50 – nastaví počet zapamatovaných příkazů · terminal no history size – nastaví výchozí počet (10) zapamatovaných příkazů · show history – zobrazí zapamatované příkazy
Listovat posledními příkazy můžeme pomocí šipek nahoru/dolů – můžeme je následně upravit a znova odeslat.
Start switche
Při startu switche se z NVRAM spustí tzv. „boot loader“ (zavaděč), který:
· inicializuje CPU a paměť · provede POST (Power-on self-test) · inicializuje souborový systém flash · zavede výchozí image operačního systému do paměti – při hledání nejprve hledá ve složce, která se jmenuje stejně jako obraz IOSu (bez přípony „.bin“), poté prohledá všechny další podadresáře a nakonec hledá další soubory v původní složce
Operační systém poté inicializuje jednotlivá rozhraní pomocí příkazů z konfiguračního souboru config.text, uloženého ve flash paměti. Zavaděč také umožňuje omezenou práci se switchem, pokud není IOS funkční. Jde zejména o práci s flash pamětí, díky čemuž můžeme v případě nouze tuto paměť zformátovat a nahrát nový obraz IOSu nebo obnovit ztracené heslo.
Připojení ke switchi
Připojení ke switchi se konfiguruje velice podobně jako u routeru. Hardware – PC se pomocí console kabelu (rollover kabel s přechodkou na DB-9) propojí COM port s console portem switche:
PC à COM port à DB-9 à rollover UTP kabel à RJ-45 à console port à switch
Software – emulátor terminálu (např. HyperTerminal, Putty, …) – musí být správně nakonfigurován: 9600 bps, 8 data bits, žádná parita, 1 stop bit, žádné řízení toku dat. Poté můžeme zapnout switch a sledovat jeho start.
Při startu indikují diody stav, v jakém se switch nachází. V průběhu POST může systémová LED blikat. Pokud POST projde bez problémů, zabliká LED rychle zeleně. Pokud POST selže, svítí LED žlutě – v tom případě je nutné switch opravit. V průběhu testů se testy a případné chyby vypíší na obrazovku terminálu.
Základní konfigurace switche
Pokud chceme switch konfigurovat vzdáleně, potřebujeme mu nastavit (stejně jako PC) IP adresu, masku sítě a výchozí bránu. Ta se nastavuje virtuálnímu rozhraní VLAN (Virtual LAN) a ten se přiřadí správnému/ým portu/ům switche. Výchozí konfigurace switche obsahuje VLAN 1. Nicméně z důvodů vysvětlených později je to vhodné změnit na jinou VLAN – zde VLAN 99.
metodu enable přímo HTTP serveru anebo použít databázi uživatelů Cisco switche (konfiguruje se příkazem username). Ukázka nastavení enable autentizace a zapnutí HTTP serveru:
Switch udržuje záznamy statické (platné stále) a dynamické.
Dynamické záznamy mají určenou platnost – pokud adresa v této době nekomunikuje, je z tabulky vyřazena (výchozí hodnota je 300 sekund). Tuto dobu je možné změnit, ale příliš krátká nebo dlouhá doba může způsobit, že v tabulce nebudou aktuální záznamy, což vede k nevhodnému přeposílání zpráv na všechny porty (flooding). Počet adres v tabulce je omezen (např. cca 8192 u Cisco Catalyst 2960).
Statické záznamy je možné zadat ručně příkazem: mac-address-table static
Ověření konfigurace switche
K ověření, zda se konfigurace správně nastavila, můžeme využít zejména příkaz show.
· show running-config – aktuální konfigurace · show startup-config – uloženou konfigurace – použije se při startu switche· show interfaces [rozhraní] – informace o rozhraní (nebo o všech rozhraních), zejména stav (up/down), rychlost, … · show flash: – obsah souborového systému flash · show version – stav hardwaru a softwaru · show history – seznam (historii) zadaných příkazů · show ip {interface | http | arp} – informace o stavu a konfiguraci IP protokolu rozhraní, resp. stavu HTTP managementu switche, resp. ARP tabulku · show mac-address-table – CAM tabulka
Základní správa switche
Záloha a obnovení konfigurace switche
Aktuální konfigurace je uložená v DRAM paměti switche a při vypnutí switche by se ztratila. Je proto možné (vhodné) příkazem copy running-config startup-config ji uložit do startovací konfigurace, která je uložena v NVRAM části flash paměti (úplně správná verze příkazu je copy system:running-config flash:startup-config, ale předcházející stačí). Pokud chceme mít k dispozici více variant konfigurací, můžeme specifikovat jméno souboru, takže konfigurace se uloží, ale nestane se výchozí po zapnutí – např.: copy running-config flash:pokus1. Toto můžeme použít, pokud si nejsme jisti funkčností konfigurace a nechceme ztratit původní.
Obnovení konfigurace se skládá ze dvou částí – obnova startovací konfigurace a restart switche. Tím se zajistí „čistota“ konfigurace – bez zbytků po předchozí variantě. Ukázka:
Poznámka: Příkaz reload restartuje switch. Proto není tento příkaz proveden, pokud jste připojeni na vty (telnet) a switch by následně měl startovat do ROMMON režimu. To je ochrana před ztrátou připojení na switch při vzdálené správě.
Konfigurace můžeme také ukládat na (nebo nahrávat z) TFTP server(u). Je to vhodné zejména pro případ hardwarového selhání switche – zejména jeho pamětí. V tom případě je relativně jednoduché nahradit switch stejným hardwarem a konfiguraci nahrát ze serveru. Na internetu existuje hodně freeware aplikací, poskytujících službu TFTP serveru (např. www.solarwinds.com). Před vlastním zálohováním ověřte, že je TFTP server dostupný (např. pingem) a poté konfiguraci na TFTP server uložte – příklad:
Odstranění konfigurace
Například při změně umístění switche (a tedy i kompletní změně konfigurace) je potřeba konfiguraci začít úplně od začátku. Nejjednodušší je odstranit startovací konfiguraci a poté switch restartovat. Možné příkazy pro odstranění startovací konfigurace – erase nvram: nebo erase startup-config. Pokud jsme si v průběhu práce ukládali různé konfigurace do flash paměti, odstraníme je příkazem delete flash:soubor.
Konfigurace zabezpečení switche
Konfigurace hesel
Pokud někdo získá přístup ke konfiguraci switche, mohl by nám jej celý překonfigurovat, čímž by mohl způsobit značné škody – například z důvodu výpadku sítě. Proto je nutné mít všechna možná připojení zabezpečena.
Zabezpečení console portu
Console port je nutné zabezpečit jak fyzicky (např. switch je zamčený ve skříni), tak i logicky – hesly. Postup je následující (nastavované heslo je „cisco“):
Zabezpečení vty (telnetu)
K zařízení je vhodné mít přístup také vzdáleně – pomocí telnetu. Toto připojení je ale nutné také zabezpečit, jinak by kdokoliv mohl k zařízení získat přístup. Portů pro vzdálené připojení (vty) může být několik, umožňují připojení více administrátorů současně – zabezpečit je proto nutné všechny. Zpravidla je vty portů celkem 5 (označovaných vty 0 až 4). Postup je velice podobný zabezpečení console portu:
Ukládání hesel v šifrované podobě
Všechna hesla lze zašifrovat příkazem
S1(config)#service password-encryption
Hesla se zašifrují ihned po zadání příkazu. Příkazem no service password-encryption se šifrování vypne, nicméně hesla zůstanou zašifrovaná, dokud nejsou nastavena nová. Nicméně šifra standardně použitá tímto příkazem je velmi slabá (označuje se jako typ 7). Pokud chceme použít silnější šifru (typu 5), musíme to u každého hesla nastavit ručně.
Postup obnovy ztraceného hesla
Pokud heslo k danému zařízení ztratíme, je možné přístup k zařízení získat a nastavit heslo nové – nicméně staré heslo (pokud je zašifrované) nezjistíme. Příklad postupu na switchi Cisco 2960:
· připojte se z terminálu ke console portu switche · nastavte rychlost připojení 9600 baudů (bps) · vypněte switch a znova jej zapněte; v průběhu 15 sekund stiskněte tlačítko „Mode“, zatímco LED dioda „System“ zeleně bliká; stále držte tlačítko stisknuté, zatímco tato dioda blikne žlutě a poté zůstane svítit zeleně – poté tlačítko pusťte · v terminálu postupně inicializujte switch příkazy
o flash_init
o load_helper
· vypište si obsah flash paměti příkazem dir flash, měl by se objevit seznam souborů, např.:
· přejmenujte soubor s konfigurací (zde config.txt) na např. config.txt.old – příkazem rename flash:config.text flash:config.text.old · nastartujte IOS pomocí příkazu boot · protože IOS nenajde konfigurační soubor (takže ani hesla), zeptá se vás, zda chcete spustit nastavování switche – odpovězte N (ne) a poté ještě jednou N (ne), jestli chcete pokračovat v konfiguračním dialogu · příkazem enable se přepněte do privilegovaného režimu · přejmenujte konfigurační soubor na původní název – rename flash:config.text.old flash:config.text · aktivujte tuto konfiguraci – copy flash:config.text system:running-config (klávesou Enter potvrďte případné potvrzovací dotazy) – tímto krokem zachováme původní konfiguraci switche = neztratíme ji · přepněte se do konfiguračního režimu – configure terminal · příkazem enable secret nove_heslo nastavte nové heslo · vraťte se zpět do privilegovaného režimu – exit · uložte aktuální konfiguraci – copy running-config startup-config · restartujte switch příkazem reload
Tento postup se může u jiných typů zařízení lišit – zpravidla je u každého typu popsán v dokumentaci
Nicméně u všech postupů je vidět, že potřebujeme fyzický přístup k zařízení – proto je důležité mít tato zařízení zabezpečená také fyzicky!
Přihlašovací zprávy
2.4.2 Přihlašovací zprávy IOS umožňuje nakonfigurovat zprávy, které se zobrazí při připojení ke switchi – ještě před přihlášením – „login banner“ a „message of the day banner“. Před výzvou na přihlášení se zobrazí „login banner“ – příkaz:
S1(config)#banner login "Pouze pro poverene osoby"
Banner se odstraní příkazem no banner login.
Ještě před touto zprávou se může zobrazit „message of the day“, která může sloužit například pro zobrazení informací o výpadku/správě zařízení – příkaz:
S1(config)#banner motd "Planovany vypadek – patek 16 az 18 h"
Banner se odstraní příkazem no banner motd.
Konfigurace telnetu a SSH
2.4.3 Konfigurace telnetu a SSH Pro vzdálený přístup k vty rozhraním switche lze použít dvě metody – telnet a SSH. Telnet byl dříve jedinou podporovanou metodou, ale protože veškerá data přenáší po síti v čitelné podobě, není bezpečný. SSH umožňuje totéž s tím rozdílem, že veškerá komunikace je šifrovaná. SSH prošlo již několika variantami, v současné době podporují Cisco zařízení SSH verze 1 a 2. Pokud je to možné, použijte SSHv2 – používá lepší šifrovací algoritmus.
Konfigurace telnetu
Telnet je výchozím protokolem pro připojení na vty. Proto zpravidla není potřeba toto definovat. Jestliže jsme ale předtím konfigurovali SSH a chceme zpátky nastavit připojovací metodu na telnet, musíme to nastavit příkazem:
S1(config)#line vty 0 15
S1(config-line)#transport input telnet
Můžeme také použít transport input all, čímž povolím přístup jak telnetem, tak SSH.
Konfigurace SSH
Cisco zařízení zpravidla obsahují SSH server verze 1 i 2, klienta pouze verzi 1. Před konfigurací SSH serveru je potřeba vygenerovat veřejný a privátní klíč (používané algoritmy DES a 3DES) – příkaz crypto key generate rsa. Kompletní postup:
Switch(config)#hostname Switch_A
Switch_A(config)#ip domain-name domena.cz
Switch_A(config)#crypto key generate rsa
Switch_A(config)#ip ssh version 2
Switch_A(config)#line vty 0 15
Switch_A(config-line)#transport input SSH
Pokud bychom chtěli odstranit vygenerované klíče, použijeme k tomu příkaz crypto key zeroize rsa – to zároveň automaticky vypne SSH server. Stav SSH serveru na switchi zobrazme příkazem show ip ssh nebo show ssh.
Přesnou verzi SSH serveru můžeme nastavit příkazem ip ssh version 1 nebo 2. Nemusíme to ale dělat, standardně si server vybere poslední (nejnovější) podporovanou verzi klienta.
Můžeme konfigurovat také další parametry – timeout pro připojení a maximální počet pokusů pro připojení – příkazem ip ssh {timeout seconds | authentication-retries number}.
Známé útoky na zabezpečení
Zde se jen seznámíme s nejběžnějšími typy útoků na switche. Základní zabezpečení, jak jsme si je zatím ukázali, nedokážou tyto útoky odvrátit. Nicméně toto je pouze seznámení se s těmito problémy, bližší informace jsou v kurzu CCNA Exploration: Accessing the WAN.
MAC address flooding
Základní funkcí switche je předávání rámců na základě MAC adres a informací v MAC tabulce. Velikost této tabulky je omezená – a to je princip tohoto útoku. Pokud tabulka obsahuje MAC adresy všech uzlů v síti, pak konkrétní komunikaci „slyší“ pouze odesilatel a příjemce. Jestliže ale switch ve své tabulce nemá MAC adresu příjemce, předává=propouští (flood) rámce na všechny své porty, takže tuto komunikaci „slyší“ všechny připojené stanice (stav zvaný „failopen mode“). Základem útoku je zaplnění MAC tabulky switche nesmyslnými MAC adresami, kvůli čemuž už není místo pro relevantní záznamy. Útočník spustí „vhodný“ software, který
Spoofing
Spoofing Princip útoku (z hlediska útočníka) je dostat se mezi stanici a její výchozí bránu (tzv. man-inthe-middle útok). K tomu lze použít např. DHCP server. Stanice požádá o IP adresu z DHCP serveru, ale místo legitimního serveru dostane (rychleji) odpověď od DHCP serveru, který běží na PC útočníka. Ten jí nastaví IP adresaci (výchozí bránu) nebo DNS na svoji stanici a poté bude její komunikaci předávat na skutečnou bránu nebo DNS. Tím ale zároveň může tuto komunikaci číst. Další variantou útoku je také „vyčerpání IP adres“. Útočník vyšle mnoho požadavků na přidělení IP adresy (s podvrženými různými MAC adresami) a tím vyčerpá dostupný rozsah IP adres, takže reálná stanice již nemůže tuto IP adresu dostat přidělenou.
Obrana se nazývá „DHCP snooping“. Základem obrany je nastavení důvěryhodností portů - důvěryhodný (trusted) port může posílat jak DHCP požadavky, tak odpovědi, kdežto nedůvěryhodný může posílat pouze požadavky. Postup konfigurace:
· povolení DHCP snooping: (config)#ip dhcp snooping
· nastavení snooping pro danou VLAN: (config)#ip dhcp snooping vlan number číslo
· nastavení důvěryhodných portů: (config-if)#ip dhcp snooping trust
· nastavení limitu, jak často může stanice žádat o přidělení IP adresy – obrana proti „vyčerpání“ IP adres (rychlost = počet povolených požadavků za sekundu): (config-if)#ip dhcp snooping limit rate rychlost
CDP
CDP pakety obsahují informace o verzi HW a softwaru Cisco zařízení – a nejsou šifrované. Díky tomu může útočník tyto informace zachytit a může hledat zranitelnosti pro konkrétní verzi. Proto se doporučuje CDP vypnout všude, kde není potřeba.
Telnet
Útočník se může pokusit získat přístup k zařízení pomocí získání přístupového hesla na telnet – buď slovníkovou metodou, nebo hrubou silou. V obou případech používá software, který se pokouší připojovat na vty port a zadávat postupně hesla. Slovníková metoda zadává hesla ze slovníku, metoda hrubé síly kombinuje postupně všechny možná slova z písmen, číslic a dalších znaků. Obranou je zejména používání silných hesel, častá změna těchto hesel a případně omezení toho, kdo se může připojovat na vty porty (pomocí ACL).
Další možností útoku je DoS útok – pomocí mnoha připojení útočník znepřístupní další připojení na vty, čímž zablokuje přístup administrátorovi. Oprava těchto nedostatků je většinou obsažena v novějších verzích IOSu.
Bezpečnostní nástroje
V současnosti existují nástroje, které pomohou zjistit případné slabiny v zabezpečení jak sítě, tak i aplikací (např. chybějící záplaty, aktualizace).
Bezpečnostní audit, prolomení sítě
Je možné použít některý z nástrojů pro simulaci útoku a následné sledování, jak byl útok úspěšný. Pokud byl, můžeme sledovat kde je slabé místo a to poté zabezpečit. Stejně tak můžeme použít nástroje pro průnik do sítě/zařízení. Jen pozor na načasování těchto testů – případný úspěšný útok může mít vážné důsledky pro funkčnost sítě!
Audit pomůže zjistit:
· jaké informace může útočník získat sledováním síťového provozu · rozumné množství MAC adres k zapamatování, resp. k odstranění · vhodnou dobu vypršení platnosti MAC adresy v MAC tabulce
Test prolomení sítě pomůže:
· zjistit slabá místa v konfiguraci síťových zařízení · provést mnoho typů útoků proti síti
Konfigurace zabezpečení portu (port security)
Pomocí nastavení zabezpečení portu můžeme zmírnit účinek útoků na síť uvedených v předchozím odstavci. Nastavením port security můžeme definovat MAC adresu, skupinu MAC adres, případně maximální počet MAC adres povolených na daném portu, případně také to, jak má switch reagovat na porušení těchto zabezpečení.
Bezpečné MAC adresy mohou být:
· statické – konfigurované příkazem
(config-if)#switchport port-security mac-address mac_adresa
tyto adresy jsou vloženy do MAC tabulky a také uloženy v „running-config“
· dynamické – MAC adresy se učí dynamicky a jsou vkládány pouze do MAC tabulky; při restartu switche se tyto informace ztrácí
· „sticky“ – MAC adresy se učí dynamicky
o při zadání příkazu (config-if)#switchport port-security macaddress sticky se všechny naučené adresy (před i po zadání příkazu) uloží do „running-config“
o příkazem (config-if)#no switchport port-security mac-address sticky se tento způsob učení vypne, naučené „sticky“ adresy se odstraní z „running-config“, ale v MAC tabulce zůstávají
o příkazem (config-if)#switchport port-security mac-address sticky mac_adresa přidáme „sticky“ adresu jak do MAC tabulky, tak do „running-config“, kde ale zůstane i v případě vypnutí „sticky“ režimu
o pokud uložíme „running-config“ do „startup-config“, switch si tyto adresy bude pamatovat i v případě restartu switche nebo rozhraní – jinak se ztratí
o pokud je „sticky“ učení vypnuté, objeví se při zadání příkazu (configif)#switchport port-security mac-address sticky mac_adresa chybová hláška a MAC adresa není uložena
Režimy porušení zabezpečení
K porušení zabezpečení dojde, jestliže:
· bylo dosaženo maximálního počtu bezpečných adres a přijde zpráva od adresy, která v seznamu není · se bezpečná adresa asociovaná s jedním zabezpečeným portem objeví na jiném zabezpečeném portu na stejné VLAN
Pokud dojde k porušení zabezpečení, vyřeší se to podle režimu, který je na portu konfigurován:
· protect – pokud je překročen počet bezpečných adres, zprávy od neznámé stanice jsou zahazovány, dokud není buď odstraněn potřebný počet adres ze seznamu, nebo dokud není zvýšen limit; v tomto režimu nejsou o porušení zabezpečení evidovány žádné záznamy · restrict – stejné jako „protect“, ale v tomto režimu jsou evidovány informace o porušení zabezpečení – pomocí SNMP trap signálu, zpráva do syslog a čítač porušení je zvýšen · shutdown – výchozí nastavení – v případě porušení přejde port okamžitě do stavu „errordisabled“ a vypne se i LED dioda; současně s tím je veden záznam do syslogu, odeslána SNMP zpráva a zvýšen čítač; port lze opětovně zprovoznit zadáním příkazů shutdown a no shutdown
Výchozí nastavení zabezpečení portu – vypnuto, max. 1 bezpečná adresa, režim „shutdown“, „sticky“ učení vypnuto.
Ukázka konfigurace zabezpečení portu – pomocí „sticky“ režimu: