Защита протокола STP

В этой статье покажем практический пример защиты протокола STP на основе ранее описанного примера атаки.

Советуем сначала прочитать материал «Атака на протокол STP»: в нём чуть побольше теории. Теперь к защите. Протокол STP включает функции, которые не допускают добавление новых устройств в сеть в роли корневого моста, а также блокирует порты, получающие BPDU или активирует полное блокирование BPDU. На всякий напомним. BPDU — тип сетевых сообщений, который используется в протоколе STP. Коммутаторы обмениваются BPDU для определения приоритета каждого устройства и выбора корневого коммутатора. Проще говоря: c этими сообщениями STP понимает самый эффективный путь для данных.

Root guard

Если устройство в сети получит сообщение о том, что где-то есть более предпочтительный путь для передачи данных (т.е. более лучший BPDU), чем тот, который оно использует сейчас (т.е. нынешний BPDU), этот порт устройства перейдёт в специальный защитный режим — root-inconsistent. В этом режиме порт не будет отправлять и принимать данные, чтобы предотвратить возможные проблемы в сети. Здесь мы используем пример топологии сети из прошлого материала. Вот ссылка. А это та самая схема топологии.

Вот что будет с нашими портами: SW2(config)#interface ethernet 0/2 SW2(config-if)#spanning-tree guard root

А вот состояние порта при получении BPDU: *Aug 1 13:58:03.304: %SPANTREE-2-ROOTGUARD_CONFIG_CHANGE: Root guard enabled on port Ethernet0/2. SW2#show spanning-tree interface ethernet 0/2 Vlan Role Sts Cost Prio.Nbr Type


VLAN0001 Desg BKN*100 128.3 Shr *ROOT_Inc

Проще говоря, при исполь­зовании Root guard ата­ка с помощью фрей­мвор­ка, который мы разбирали будет недос­тупна.

BPDU guard

Функция, которая позволяет огра­ничи­вать домен L2. При получе­нии любого BPDU порт перево­дит­ся в сос­тояние err disable BPDU guard error.

SW2(config)#interface ethernet 0/2 SW2(config-if)#spanning-tree bpduguard enable

Вот что будет пос­ле получе­ния BDPU на пор­те с фун­кци­ей BPDU guard: *Aug 1 15:12:50.120: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Et0/2 with BPDU Guard enabled. Disabling port.SW2# *Aug 1 15:12:50.120: %PM-4-ERR_DISABLE: bpduguard error detected on Et0/2, putting Et0/2 in err-disable state *Aug 1 15:12:51.120: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down *Aug 1 15:12:52.120: %LINK-3-UPDOWN: Interface Ethernet0/2, changed state to downSW2#show interfaces ethernet 0/2 Ethernet0/2 is down, line protocol is down (err-disabled)

BPDU filter

Это функция позволяет не отправлять и не получать BPDU на пор­те, то есть вырубать на интерфейсе STP. Вот код: SW2(config-if)#spanning-tree bpdufilter enable

Last updated