This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
wiki:site:cisco:ccnp:switch:16 [2014/12/26 18:31] 127.0.0.1 upraveno mimo DokuWiki |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Port Security ====== | ||
- | Zapnutí Port Security na portu: | ||
- | * Switch(config-if)# | ||
- | Nastavení max.počtu povolených MAC adres na portu:\\ | ||
- | 1-1024, Defaultně 1 | ||
- | * Switch(config-if)# | ||
- | |||
- | Na switchi je def. zapnuto //MAC address sticky//, tzn. switch se naučí nastavený počet MAC adres, které pozdeji akceptuje. Tyto adresy mohou být z listu vyřazeny po určité době nečinosti (def.si switch adresy pamatuje pořád). | ||
- | |||
- | Statické nastavení povolené MAC adresy: | ||
- | * Switch(config-if)# | ||
- | Pokud je nastaveno méně statických adres než je nastavené maximum, zbylé adresy se nastaví dynamicky. | ||
- | |||
- | Nastavení události při zjištění nepovolené MAC: | ||
- | * Switch(config-if)# | ||
- | |||
- | * **shutdown** - port okamžitě přejde do // | ||
- | * **restrict** - port zůstane up, rámce s nepovolenou MAC jsou zahazovány a počítá je counter, může být odeslána SNMP/Syslog zpráva | ||
- | * **protect** - port zůstane up, nepovolené rámce jsou zahazovány, | ||
- | |||
- | Příklad Syslog zprávy: | ||
- | < | ||
- | Jun 3 17: | ||
- | occurred, caused by MAC address 0000.5e00.0101 on port GigabitEthernet0/ | ||
- | </ | ||
- | Vyčištění listu MAC adres portu: | ||
- | * Switch# **clear port-security dynamic [address** // | ||
- | |||
- | Příklad Syslog zpr. v režimu // | ||
- | < | ||
- | Jun 3 17: | ||
- | Gi0/11, putting Gi0/11 in err-disable state | ||
- | Jun 3 17: | ||
- | occurred, caused by MAC address 0003.a089.efc5 on port GigabitEthernet0/ | ||
- | Jun 3 17: | ||
- | Ethernet0/ | ||
- | Jun 3 17: | ||
- | state to down | ||
- | </ | ||
- | |||
- | Switch# **show port-security interface gigabitethernet 0/11** | ||
- | < | ||
- | Switch# show port-security interface gigabitethernet 0/11 | ||
- | Port Security | ||
- | Port Status | ||
- | Violation Mode : Shutdown | ||
- | Aging Time : 0 mins | ||
- | Aging Type : Absolute | ||
- | SecureStatic Address Aging : Disabled | ||
- | Maximum MAC Addresses | ||
- | Total MAC Addresses | ||
- | Configured MAC Addresses | ||
- | Sticky MAC Addresses | ||
- | Last Source Address | ||
- | Security Violation Count : 1 | ||
- | Switch# | ||
- | </ | ||
- | |||
- | Switch# **show interfaces status err-disabled** | ||
- | < | ||
- | Switch# show interfaces status err-disabled | ||
- | Port | ||
- | Gi0/ | ||
- | Switch# | ||
- | TIP | ||
- | When a port is moved to the errdisable state, you must either manually cycle it | ||
- | or configure the switch to automatically re-enable ports after a prescribed delay. | ||
- | To manually cycle a port and return it to service, use the following commands: | ||
- | Switch(config)# | ||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | </ | ||
- | |||
- | Switch# **show port-security** | ||
- | < | ||
- | Switch# show port-security | ||
- | Secure Port MaxSecureAddr | ||
- | (Count) | ||
- | --------------------------------------------------------------------------- | ||
- | | ||
- | | ||
- | --------------------------------------------------------------------------- | ||
- | Total Addresses in System (excluding one mac per port) : 0 | ||
- | Max Addresses limit in System (excluding one mac per port) : 6176 | ||
- | Switch# | ||
- | </ | ||
- | |||
- | ====== Port-Based Authentication ====== | ||
- | * Kombinace AAA Authentikace a port-security | ||
- | * Založeno na IEEE 802.1x | ||
- | * PC i switch musí podporovat EAPOL | ||
- | * **EAPOL** = Extensible Authentication Protocol Over LANs, Layer 2 protokol | ||
- | * Pro 802.1x je podporován pouze RADIUS (Remote Acces Dial-In User Service) | ||
- | |||
- | * Je-li 802.1x zapnuto na PC a na switchi ne, PC komunikuje normálně | ||
- | * Je-li 802.1x zapnuto na switchi a na PC ne, port switche zůstane v unauthorized stavu a na PC neforwarduje žádný provoz, jediný možný provoz je 802.1x EAPOL | ||
- | |||
- | * Po přihlášení uživatele je vše ok | ||
- | * Port přejde do unauthorized stavu po odhlášení uživatele nebo po vypršení session (pak se musí uživatel znovu přihlásit) | ||
- | |||
- | ===== Konfigurace 802.1x ===== | ||
- | Ordered List ItemZapnutí AAA na switchi: | ||
- | * Switch(config)# | ||
- | Definování externích RADIUS serverů: | ||
- | * Switch(config)# | ||
- | Nastavení auth. metody pro 802.1x: | ||
- | * Switch(config)# | ||
- | Zapnutí 802.1x na switchi: | ||
- | * Switch(config)# | ||
- | Zapnutí 802.1x na portu: | ||
- | * Switch(config)# | ||
- | * Switch(config-if)# | ||
- | * **force-authorized** - port nevyžaduje žádnou authentikaci, | ||
- | * **force-unauthorized** - port nikdy nikoho neautorizuje => nikdo se nemůže připojit | ||
- | * **auto** - Pokud klient podporuje 802.1x a authentikuje se, může komunikovat | ||
- | Povolení více uživatelů na portu: | ||
- | * Switch(config-if)# | ||
- | |||
- | * Switch# **show dot1x all** | ||
- | |||
- | ====== Prevence Spoofing útoků ====== | ||
- | Útočníkovým cílem bývá stát se //man in the middle// | ||
- | ===== DHCP Snooping ===== | ||
- | Má zabránit připojení falešného DHCP serveru, který by mohl způsobit útok man in the middle, podstrčením IP adresy útočníka jako výchozí brány nebo DNS serveru. Porty switche jsou rozděleny na **trusted** a **untrusted**. Pravý DHCP server je připojen k trusted portu, uživatelé k untrusted portům. Switch zachtává všechny DHCP requesty z untrusted portů. Jakmile je na untrusted portu zachcena zpr. "DHCP reply", | ||
- | Je-li na untrusted portu zachycen DHCP request, switch k němu přiřadí svou MAC+id portu v option 82, pak je req. forwardován k DHCP serveru. Option 82 poskytuje více informací o původci DHCP požadavku. | ||
- | |||
- | Zapnutí DHCP Snoopingu na switchi + určení dotčených VLAN: | ||
- | * Switch(config)# | ||
- | * Switch(config)# | ||
- | |||
- | Po zapnutí Snoopingu jsou všechny porty def. untrusted.\\ | ||
- | Nastavení trusted portu: | ||
- | * Switch(config)# | ||
- | * Switch(config-if)# | ||
- | Nastavení limitu DHCP zpráv / sec na untrusted portu: | ||
- | * Switch(config)# | ||
- | * Switch(config-if)# | ||
- | Zap./Vyp. DHCP option-82 (def.zapnuto): | ||
- | * Switch(config)# | ||
- | |||
- | * Switch# **show ip dhcp snooping [binding]** | ||
- | < | ||
- | Switch# show ip dhcp snooping | ||
- | Switch DHCP snooping is enabled | ||
- | DHCP snooping is configured on following VLANs: | ||
- | 104 | ||
- | Insertion of option 82 is enabled | ||
- | Interface | ||
- | ------------------------ | ||
- | FastEthernet0/ | ||
- | FastEthernet0/ | ||
- | GigabitEthernet0/ | ||
- | Switch# | ||
- | |||
- | </ | ||
- | |||
- | |||
- | ===== IP Source Guard ===== | ||
- | Slouží k ochraně před IP spoofing útoky, tzn. útočník uvádí falešnou zdrojovou IP adresu. Může použít IP nějakého uživatele nebo nepoužitou IP daného subnetu. Většinou se tohoto využívá v případě DoS útoků, k zamaskování zdroje tohoto útoku. | ||
- | |||
- | Switch musí mít možnost zjistit která MAC adr. náleží ke které IP adr. | ||
- | Využívá DHCP snooping databáze a statických IP source binding záznamů. | ||
- | |||
- | Pakety přicházejcí na port mohou být testovány jednou z možností: | ||
- | - Zdrojová IP se musí rovnat IP adr. v DHCP snooping databázi nebo statickému záznamu, k fitrování provozu je automaticky vytvořen dynamický ACL a aplikován na interface. | ||
- | - Zdrojová MAC se musí rovnat MAC zjištěné DHCP snoopingem, na portu je použito port-security | ||
- | Pokud adresa nesouhlasí je paket zahozen. Pro Source Guard je třeba nejdřív zapnout DHCP Snooping, popř. Port-Security, | ||
- | |||
- | Pro hosty se statickou IP je možno vložit záznam IP Source Binding ručně: | ||
- | * Switch(config)# | ||
- | Zapnutí Source Guardu na int.: | ||
- | * Switch(config)# | ||
- | * Switch(config-if)# | ||
- | * //ip verify source => prověřuje se jen zdrojová IP adresa// | ||
- | * //ip verify source port-security => prověřuje se zdrojová IP i MAC adresa// | ||
- | Source Guard status: | ||
- | * Switch# **show ip verify source [interface** //type mod/ | ||
- | Výpis stat./dyn. záznamů z DHCP Snooping databáze: | ||
- | * Switch# **show ip source bindng** // | ||
- | |||
- | ===== Dynamic ARP Inspection ===== | ||
- | Útočník může pomocí zprávy "ARP reply" ve které uvede např. IP adresu brány a **svou** MAC adresu, přesměrovat provoz na sebe a stát se //man in the middle//. Tomuto útoku se říká "ARP poisoning" | ||
- | |||
- | Zapnutí DAI: | ||
- | * Switch(config)# | ||
- | Defaultně jsou po zapnutí všechny porty untrusted. Nastavení Trusted portu: | ||
- | * Switch(config)# | ||
- | * Switch(config-if)# | ||
- | Pro hosty se statickou IP je třeba vytvořit ACL, který definuje povolené MAC-IP kombinace.: | ||
- | * Switch(config)# | ||
- | * Switch(config-acl)# | ||
- | * //[Opakujte předchozí příkaz kolikrát je třeba]// | ||
- | * Switch(config-acl)# | ||
- | Aplikace ACL na DAI: | ||
- | * Switch(config)# | ||
- | |||
- | ARP replies jsou zachytávány a vyhodnocovány dle ACL, pokud v ACL není nalezena shoda, přejde se k vyhodnocení dle DHCP Snooping databáze. Avšak, je-li ACL aplikován an DAI s parametrem **static**, vyhodnocení proběhne jen na zákl. ACL. | ||
- | |||
- | Def. jsou vyhodnocována jen pole s adresami v ARP reply, skutečné adresy v ethernetovém rámci vyhodnocovány nejsou. Zapnutí vyhodnocování i skutečných adres v rámci: | ||
- | * Switch(config)# | ||
- | * **src-mac** - porovnává src.MAC v ethernetovém rámci se src.MAC v ARP reply | ||
- | * **dst-mac** - porovnává dst.MAC v ethernetovém rámci s dst.MAC v ARP reply | ||
- | * **ip** - porovnává src.IP v ARP requestech s dst.IP v ARP replies | ||
- | * //musí být zvolena alespoň jedna metoda// | ||
- | |||
- | * Switch# **show ip arp inspection** | ||
- | |||
- | ====== Best Practices zabezpečení switchů ====== | ||
- | ===== Konfigurace bezpečných(šifrovaných) hesel ===== | ||
- | * Kde to je možné používat **enable secret**, používá silnější šifrování než obyč. enable password. | ||
- | * Pro centrální správu použít AAA server | ||
- | * Nakonec použít **service password-encryption** - i když je šifra slabá, je to lepší než nic | ||
- | ===== Použití systémových bannerů ===== | ||
- | * Varování nežádoucích osob, že zde nemají co dělat | ||
- | * Nikdy v baneru zbytečně neprozrazovat informace o síti (prvku) | ||
- | |||
- | ===== Zabezpečení WEBového rozhraní ===== | ||
- | * Ideální je ho vypnout, příkaz **no ip http server** v globálním konf.módu | ||
- | * Když už ho nechat zaplý, tak alespoň jako HTTPS, příkaz **ip http secure server** namísto obyč. **ip http server** v glob.konf.módu | ||
- | * Posílit bezpečnost lze pomocí ACL povolujícím jen určité zdrojové adresy | ||
- | < | ||
- | Switch(config)# | ||
- | Switch(config)# | ||
- | Switch(config)# | ||
- | </ | ||
- | |||
- | ===== Zabezpečení konzole ===== | ||
- | * I přes to, že je zabezpečena fyzická bezpečnost prvků, je dobré konzolové porty zabezpečit stejně jako VTY linky. | ||
- | |||
- | ===== Zabezpečení VTY ===== | ||
- | * Vždy nastavit authentikaci všem VTY. Výpis všech VTY: **show user all** | ||
- | * Popř. použít ACL povolující jen určité zdrojové adresy | ||
- | < | ||
- | Switch(config)# | ||
- | Switch(config)# | ||
- | Switch(config)# | ||
- | Switch(config-line)# | ||
- | </ | ||
- | |||
- | ===== Použití SSH kde to jde ===== | ||
- | * Používat SSH kde je to jen možné | ||
- | * Používat nejvyšší podporovanou verzi, pokud možno SSH v2 (v1 a v1.5 mají jisté nedostatky) | ||
- | |||
- | ===== Zabezpečení SNMP přístupu ===== | ||
- | * Zakázat jakýkoliv Read-Write přístup, tzn. vše kde je příkaz: **snmp-server community** //string// **RW** | ||
- | * Používat jen RO Read-only přístup | ||
- | * Omezit přístup pomocí ACL na konkrétní zdroj. adresy | ||
- | |||
- | ===== Zabezpečení volných portů ===== | ||
- | * Ideálně **shutdown** | ||
- | * Nastavit port **switchport mode access** a popř. jej přiřadit do nějaké " | ||
- | Použití makra **switchport host**: | ||
- | < | ||
- | Switch(config)# | ||
- | Switch(config-if)# | ||
- | switchport mode will be set to access | ||
- | spanning-tree portfast will be enabled | ||
- | channel group will be disabled | ||
- | Switch(config-if)# | ||
- | </ | ||
- | |||
- | ===== Zabezpečení STP ===== | ||
- | * Útočník může posílat falešná BPDU | ||
- | * Zapnout na access portech **bpdu-guard** | ||
- | |||
- | ===== Zabezpečení CDP ===== | ||
- | * Defaultně se šíří CDP všemi porty switche každých 60s | ||
- | * CDP zbytečně prozrazuje moc informací | ||
- | * Na access portech je dobré jej vypnout **no cdp enable** | ||
- | * POZOR na portech, kde je IP telefon, musí zůstat CDP zapnuté. Z telefonu do PC se už nešíří. |