CDP támadások és biztonság

CDP (Cisco Discovery Protocol) hasznos protokollnak bizonyul hálózat feltérképezése során. Megmutatja melyik eszköz melyik portja, melyik másik eszköz melyik portjába van csatlakoztatva. Elárulja a szomszéd eszköz típusát, képességeit, IOS verzióját, IP címét, veszélye ez utóbbiakban keresendő. Mindemellett Voice és power management funkciókat is ellát. Authentikációt és titkosítást nem tartalmaz, így bárki hozzáférhet, és küldhet CDP üzenetet bárkinek.

Ha a támadó rendelkezik egy listával az esetleges IOS verzió bug-okról, ismeri az IP címét az eszköznek, akár sikerrel járó támadást tud indítani az eszköz ellen. Nem beszélve arról, hogy hamis CDP csomagokkal (yersinia programmal) megcélozhatja azt is hogy az eszköz CPU kihasználtsága drasztikusan megnőjön, vagy memóriáját megpróbálja telíteni nem létező szomszédok információkkal, vagy az IP címére DOS támadást indítson.

Mivel a Cisco telefonok a Voice VLAN számát szintén megkaphatják CDP-n keresztül, egy támadó hamis CDP csomagokkal hozzáférhet a Voice VLAN-hoz, ha egy Cisco telefonnak hazudja magát. CDP-n keresztül jelezhetik az egyes PoE eszközök (IP teleofn, access-point) is, hogy mennyi áramra van szükségük a működéshez.

CDP a duplexitás eltérést (duplex-mismatch) illetve a native VLAN eltérést is jelezni fogja számunkra, de a native VLAN ismeretében akár VLAN hopping támadás is indítható lesz.

Érdemes szem előtt tartani, hogy támadások nem feltétlen kívülről érkeznek, hanem belülről is várhatóak a saját felhasználóink felől, legyen az szándékos vagy nem (pl vírusos gép).

 

Best practice:

  1. csak akkor kapcsoljuk be, ha szükségünk van rá, ha megnéztük ami kell, kapcsoljuk ki
  2. ha telefonokon a manuális Voice VLAN beállítás, vagy certificate alapú, dot1x-es megoldások nem megoldhatóak, bekapcsolva hagyhatjuk azokon a portokon
  3. külvilág felé menő interfészen mindenképp tiltsuk le

Tartsuk szem előtt, hogy ha egy interfészen kikapcsoljuk a CDP-t attól a támadó, SNMP-n keresztül megszerezheti a CDP információkat (főként IOS verzió).

 

CDP ki- és bekapcsolása:

Globális konfigurációs módban, az alábbi paranccsal lehet bekapcsolni:

 

Router(config)# cdp run

vagy kikapcsolni:

 

Router(config)# no cdp run

Ha ki van kapcsolva globálisan, az interfész alatt teljesen mindegy milyen beállítás van, maga a CDP folyamat nem fut az eszközön.

Ha CDP-re szükség van, és csak néhány interfészen kell hogy ne küldjön, vagy fogadjon CDP információkat, azt az alábbi paranccsal lehet letiltani:

 

Router(config-if)# no cdp enable

vagy újra engedélyezni az interfészen:

 

Router(config-if)# cdp enable

Tartsuk szem előtt, hogy CDP alapértelmezetten engedélyezve van globálisan és az összes interfészen is, illetve a CDP-t tiltó/kikapcsoló parancsok (no-s változat) lesz látható a konfigurációban.