Настройка режима PortFast и службы BPDU Guard
Создана 18.03.2025
Отредактирована 16.04.2025
Отредактирована 16.04.2025
Режим PortFast и STP
Режим PortFast позволяет коммутатору немедленно переходить из состояния блокировки в состояние перенаправления (см. рис. 1), в обход состояний прослушивания и самообучения. Однако единственные порты, на которых можно безопасно включить режим PortFast - это порты, к которым гарантированно не подключены никакие мосты, коммутаторы или другие устройства STP. В противном случае режим PortFast способен создавать петли, во избежание которых предназначены состояния прослушивания и самообучения.
Рис. 1. Режим PortFast, переход из состояния блокировки в состояние перенаправления
Режим PortFast лучше всего подходит для соединений с устройствами конечного пользователя (рис. 2). Если включить режим PortFast на портах, соединённых с устройствами конечного пользователя, при включении компьютера конечного пользователя порт коммутатора может перейти в состояние перенаправления STP и начать перенаправлять трафик, как только сетевая плата компьютера станет активной. Без режима PortFast каждый порт вынужден ждать, пока коммутатор подтвердить роль выделенного порта (DP), а затем подождёт, пока интерфейс находится в промежуточных состояниях прослушивания и самообучения, прежде чем перейти в состояние перенаправления.
Рис. 2. Рекомендация по настройке PortFast на портах
В коммутаторы уровня 2 Cisco встроены две функии безопасности, которые могут смягчить атаку STP:
- BPDU Guard
- Root Guard
Служба BPDU Guard и STP
Служба Cisco BPDU Guard позволяет предотвратить проблемы с режимом PortFast, реагируя на сообщения BPDU. Режим PortFast должен быть разрешён только на тех портах доступа к сети, которые соединены с пользовательскими устройствами, но не с другими коммутаторами LAN. Использование службы BPDU Guard на тех же портах доступа имеет смысл, поскольку при подключении к такому порту другого коммутатора (например, злоумышлениик использует фреймворк Yersinia для выполнения атаки, его PC выступает в роли коммутатора), локальный коммутатор sw3 может отключить порт прежде, чем образуется петля.
Чтобы настроить интерфейс, используйте подкоманды интерфейса spanning-tree portfast edge и spanning-tree bpduguard enable. В примере 1 представлен процесс разрешения обоих средств на интерфейсе Fa0/13 коммутатора sw3 (рис. 3). Обратите также внимание на длинное предупреждающее сообщение, выдаваемое операционной системой IOS при разрешении режима PortFast, использование режима PortFast на порту, подключённом к другим коммутаторам (магистральные каналы, например на коммутаторе sw3 не стоит настраивать интерфейсы Gi0/0 и Gi0/1), может действительно создать серьёзные проблемы.
Рис. 3. Настройка режима PortFast и службы BPDU Guard на интерфейсе Fa0/13 коммутатора sw3
Пример 1. Разрешение режима PortFast и службы BPDU Guard на интерфейсе Fa0/13
Вторая половина примера подтверждает конфигурации на интерфейсе и состояние режима PortFast. Команда show running-config interface fastEthernet 0/13 просто подтверждает, что коммутатор записал две команды конфигурации, а также отображает всю конфигурацию данного интерфейса. Команда show spanning-tree interface fastEthernet 0/13 portfast выводит состояние интерфейса PortFast (если режим PortFast включён и интерфейс работает, состояние отображается как просто разрешённое).
Когда в режиме PortFast и службе BPDU Guard нуждается большинство портов коммутатор, лучше подходит альтернативная конфигурация. Стандартно оба средства на каждом интерфейсе коммутатора отключены. Альтернативный способ настройки позволяет изменить стандартные значения режима PortFast и службы BPDU Guard, которые будут разрешены на каждом интерфейсе доступа. Впоследствии можно отключить эти средства на соответствующих портах.
Чтобы изменить стандартные значения, используйте эти две глобальные команды:
- spanning-tree portfast default
- spanning-tree portfast bpduguard default
Затем, чтобы переопределить стандартные значения или отключить эти средства, используйте следующие подкоманды интерфейса:
- spanning-tree portfast disable
- spanning-tree portfast bpduguard disable
Функция Root Guard и STP
Root Guard - это функция Root Guard, которая может быть включена на любом некорневом порту коммутатора. Она защищает порт от изменения на корневой в ответ на получение более высокого уровня BPDU. Если порт получает такой BPDU, то порт переходит в состояние, несовместимое с правами root, пересылка данных невозможна. Если BPDU перестанут отправляться в порт, порт вернётся в состояние пересылки, в котором он находился ранее.
На рис. 1 представлены 3 коммутатора, где sw1 корневой, также у всех коммутаторов определены роли интерфейсов, как мы видим трафик между сервером и PC2 идёт через коммутатор sw1, посмотрим роли интерфейсов до атаки слоумышленником в примере 2.
Пример 2. Роли интерфейсов на коммутаторах до атаки
Рис. 4. Роли интерфейсов до атаки злоумышленником
Введите команду на sw3 до атаки debug spanning-tree events чтобы посмотреть события изменений топологии STP (чтобы отменить эту команду наберите no debug spanning-tree events). В примере 3 представлены роли интерфейсов после атаки злоумышленником.
Пример 3. Роли интерфейсов на коммутаторах после атаки
Рис. 5. Роли интерфейсов после атаки злоумышленником
Через какое-то время сетевой инженер замечает изменения в сети. И принимает решение настроить на всех портах доступа всех коммутаторов функцию Root Guard. Ниже приведена команда (spannin-tree guard root) настройки для включения Root Guard на коммутаторе Cisco (sw3):
«-«-«- Назад | Вперед -»-»-» |
*