Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Switching

Функция Root Guard и STP


Создана 18.03.2025
Отредактирована 12.05.2025
Root Guard - это функция, которая может быть включена на любом некорневом порту коммутатора. Она защищает порт от изменения на корневой в ответ на получение более высокого уровня BPDU. Если порт получает такой BPDU, то порт переходит в состояние, несовместимое с правами root, пересылка данных невозможна. Если BPDU перестанут отправляться в порт, порт вернётся в состояние пересылки, в котором он находился ранее.
На рис. 1 представлены 3 коммутатора, где sw1 корневой, также у всех коммутаторов определены роли интерфейсов, видим и направление кадров BPDU STP, посмотрим более подробно роли интерфейсов до атаки злоумышленником в примере 1.
Рис. 1. Роли интерфейсов до атаки злоумышленником 

claiming [ˈkleɪmɪŋ] претендующий

Пример 1. Роли интерфейсов на коммутаторах до атаки


sw1#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address a40c.c392.1180 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address a40c.c392.1180 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi0/1 Desg FWD 4 128.49 P2p Gi0/2 Desg FWD 4 128.50 P2p

sw2#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address a40c.c392.1180 Cost 4 Port 49 (GigabitEthernet0/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address c025.5cd6.a180 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/12 Desg FWD 19 128.12 P2p Edge Gi0/1 Root FWD 4 128.49 P2p Gi0/2 Altn BLK 4 128.50 P2p

sw3#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address a40c.c392.1180 Cost 4 Port 50 (GigabitEthernet0/2) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address a40c.c392.1900 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/13 Desg FWD 19 128.13 P2p Edge Gi0/1 Desg FWD 4 128.49 P2p Gi0/2 Root FWD 4 128.50 P2p


Введите команду на sw3 до атаки debug spanning-tree events чтобы посмотреть события изменений топологии STP (чтобы отменить эту команду наберите no debug spanning-tree events). В примере 3 представлены роли интерфейсов после атаки злоумышленником. 

sw3#debug spanning-tree events

Пример 2. Cобытия изменения топологии STP во время атаки


sw3# *Apr 16 13:14:42.219: STP: VLAN0010 heard root 32778-a40c.c391.1180 on Fa0/13 *Apr 16 13:14:42.219: supersedes 32778-a40c.c392.1180 *Apr 16 13:14:42.219: STP: VLAN0010 new root is 32778, a40c.c391.1180 on port Fa0/13, cost 23 *Apr 16 13:14:42.225: STP: VLAN0010 Topology Change rcvd on Gi0/1 *Apr 16 13:14:42.226: STP: VLAN0010 sent Topology Change Notice on Fa0/13 *Apr 16 13:15:12.223: STP: VLAN0010 Topology Change rcvd on Gi0/1 *Apr 16 13:15:12.223: STP: VLAN0010 sent Topology Change Notice on Fa0/13

supersede [sjuːpəˈsiːd] заменять


Пример 3. Роли интерфейсов на коммутаторах после атаки


sw3#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address 0c06.19d1.0000 Cost 23 Port 13 (FastEthernet0/13) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address a40c.c392.1900 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/13 Root FWD 19 128.13 P2p Gi0/1 Desg FWD 4 128.49 P2p Gi0/2 Desg FWD 4 128.50 P2p

sw1#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address 0c06.19d1.0000 Cost 27 Port 49 (GigabitEthernet0/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address a40c.c392.1180 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi0/1 Root FWD 4 128.49 P2p Gi0/2 Desg FWD 4 128.50 P2p

sw2#show spanning-tree vlan 10 VLAN0010 Spanning tree enabled protocol ieee Root ID Priority 32778 Address 0c06.19d1.0000 Cost 27 Port 52 (GigabitEthernet0/4) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32778 (priority 32768 sys-id-ext 10) Address c025.5cd6.a180 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/12 Desg FWD 19 128.12 P2p Gi0/1 Altn BLK 4 128.51 P2p Gi0/2 Root FWD 4 128.52 P2p


Рис. 2. Роли интерфейсов после атаки злоумышленником 
Через какое-то время сетевой инженер замечает изменения в сети. И принимает решение настроить на всех портах доступа всех коммутаторов доступа функцию Root Guard. Ниже приведена команда (spannin-tree guard root) настройки для включения Root Guard на коммутаторе Cisco (sw3):

sw3(config)#interface range FastEthernet 0/1-48 sw3(config-if-range)spanning-tree guard ? loop Set guard mode to loop guard on interface none Set guard mode to none root Set guard mode to root guard on interface sw3(config-if-range)spanning-tree guard root sw3(config-if-range) *Apr 16 15:26:00.098: %SPANTREE-2-ROOTGUARD_CONFIG_CHANGE: Root guard enabled on port fastEthernet0/13 sw3(config-if-range)#end sw3# sw3#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK]

После того, как сетевой администратор настроил функцию Root Guard, злоумышленник снова пытается изменить топологию STP. Посмотрим, что происходит с портом Fa0/13, на стороне атакующего запущен сетевой анализатор.

sw3# *Mar 1 00:10:59.160: %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port FastEthernet0/13 on VLAN0010. sw3#

Уведомление в консоли, что порт Fa0/13 заблокирован функцией Root guard в сегменте STP VLAN0010 

sw3#show spanning-tree vlan 10 | include Fa0/13 Fa0/13 Desg BKN*19 128.13 P2p *ROOT_Inc

Хотя сам порт остаётся в статусе connected, но индикатор на лицевой панели коммутатора сигнализирует, что порт заблокирован (горит оранжевым цветом).

sw3#show interfaces fastEthernet 0/13 status Port Name Status Vlan Duplex Speed Type Fa0/13 Attacker connected 10 a-full a-100 10/100BaseTX

Порт был заблокирован логически в сегменте STP VLAN0010, но физически он в статусе connected. Если отправить ICMP запросы командой ping c PC2 на PC1, то PC1 будет недоступен (сетевая связность отсутствует).

Рис. 3. Сетевой анализатор wireshark на стороне злоумышленика фиксирует трафик STP
После того как атака прекращается, порт автоматически разблокируется

sw3# *Mar 1 00:55:44.730: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port FastEthernet0/13 on VLAN0010. sw3#

sw3#show spanning-tree vlan 10 | include Fa0/13 Fa0/13 Desg FWD 19 128.13 P2p

Обратите внимание, что злоумышленник получает STP BPDU, это нежелательно, так как он анализирует этот трафик. Для этого лучше отменить команду spanning-tree guard root и ввести новую spanning-tree bpdufilter enable, после этого STP BPDU будут фильтроваться, не отправляться и не получать STP BPDU на порт Fa0/13

sw3(config)#interface range FastEthernet 0/1-48 sw3(config-if-range)#no spanning-tree guard root sw3(config-if-range)#spanning-tree bpdufilter enable sw3(config-if-range)#end sw3# sw3#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK]

В конечном итоге, для предотвращения атак на STP, настройки на всех портах доступа, должны быть как на порту Fa0/13

sw3#show running-config interface FastEthernet 0/13 Building configuration... Current configuration : 226 bytes ! interface FastEthernet0/13 description Attacker switchport access vlan 10 switchport mode access switchport nonegotiate no lldp receive no cdp enable spanning-tree portfast trunk spanning-tree bpdufilter enable end

В данном примере были использованы коммутаторы Cisco Catalyst серии 2960, прошивка:
c2960-lanlitek9-mz.150-2.SE5.bin

«-«-«- Назад
Вперед -»-»-»
Настройка режима PortFast и функции BPDU Guard
Настройка канала EtherChannel

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.