===== 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" nebo "ARP spoofing". Cisco switche k prevenci tohoto útoku používají **DAI** - Dynamic ARP Inspection. DAI funguje podbně jako DHCP Snooping, dělí porty na trusted a untrusted. Na trusted portech se nic neprověřuje - ideální pro trunk do jiného switche, kde na access portech probíhá také DAI. Na untrusted portech probíhá kontrola IP a MAC adresy v ARP reply na základě staticky zadaných informací nebo pomocí DHCP Snooping databáze. Pokud dojde k nesrovnalosti, je ARP reply zahozen a je vygenerována log zpráva. Zapnutí DAI: * Switch(config)# **ip arp inspection vlan** //vlan-range// Defaultně jsou po zapnutí všechny porty untrusted. Nastavení Trusted portu: * Switch(config)# **interface** //type mod/num// * Switch(config-if)# **ip arp inspection trust** Pro hosty se statickou IP je třeba vytvořit ACL, který definuje povolené MAC-IP kombinace.: * Switch(config)# **arp access-list** //acl-name// * Switch(config-acl)# **permit ip host** //sender-ip// **mac host** //sender-mac// **[log]** * //[Opakujte předchozí příkaz kolikrát je třeba]// * Switch(config-acl)# **exit** Aplikace ACL na DAI: * Switch(config)# **ip arp inspection filter** //arp-acl-name// **vlan** //vlan-range// **[static]** 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)# **ip arp inspection validate {[src-mac] [dst-mac] [ip]}** * **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**