Представьте себе: вы организовали вечеринку, и у вас есть список приглашенных гостей. Кто не в списке — пожалуйста, мимо! В сетевом мире для такого контроля и существует функция Port-Security на коммутаторах Cisco. Сегодня разберёмся, что это за зверь, зачем он нужен, как он работает и как его настроить, чтобы ваша сетевая вечеринка не превратилась в хаос с посторонними.


Что такое Port-Security и зачем он нужен?

Port-Security — это сетевой охранник, который стоит у дверей вашего коммутатора и проверяет, кто может проходить через определённый порт. Он запоминает MAC-адреса устройств, которые можно допускать в сеть, и закрывает доступ всем остальным.

Зачем это нужно? Сетевые злоумышленники любят переполнить таблицу MAC-адресов, чтобы коммутатор перестал отличать, куда отправлять пакеты, и стал разбрасывать их всем подряд — в режиме «хаба». В результате сниффер ловит весь трафик, как рыболовная сеть — только вместо рыб тут данные вашей сети. Port-Security предотвращает это, ограничивая число разрешённых MAC-адресов на порту.


Типы MAC-адресов в Port-Security: статические, динамические и sticky

Как у настоящих шпионов, у Port-Security есть разные методы запоминания "лиц":

  • Статические MAC-адреса — вы вручную вписываете точные адреса, которым разрешён доступ. Они навсегда "привязаны" к порту, как член клуба с пропуском.

  • Динамические MAC-адреса — коммутатор сам учится, какие адреса проходят через порт, и запоминает их в таблице. Но вот загвоздка — после перезагрузки все эти записи стираются, как забытый сон.

  • Sticky MAC-адреса — хитрость для тех, кто хочет удобства и стабильности. Коммутатор динамически изучает адреса, а потом "прилипает" к ним, сохраняя их в конфигурации. Это как записать все имена гостей на вечеринке в блокнот, чтобы не спрашивать каждый раз.

Пример команды для sticky режима:

switchport port-security mac-address sticky

Как работает sticky режим и зачем он нужен?

Представьте, что коммутатор — это секретарь, который записывает всех гостей и потом сохраняет список для будущих вечеринок. Sticky режим — именно это: он превращает временные, динамические записи в постоянные, которые не исчезнут после перезагрузки.

Без sticky все динамические адреса будут забыты, и придется заново "учить" сеть, что неудобно и рискованно.


Что происходит при нарушении безопасности? Режимы реагирования

Если кто-то пытается проникнуть с незарегистрированным MAC-адресом или порт переполнен, Port-Security реагирует так:

Режим Передача трафика Уведомление (syslog/SNMP) Выключение порта Описание
Protect Нет Нет Нет Просто игнорирует лишние адреса. Порт работает, но вы не узнаете о проблеме.
Restrict Нет Да Нет Отказывает лишним, но предупреждает администратора.
Shutdown Нет Да Да Выключает порт полностью. Самый строгий режим.

Пример настройки Port-Security на Cisco

Чтобы не устраивать вечеринку с незнакомцами, настройте порт так:

Switch# configure terminal
Switch(config)# interface fa0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 5
Switch(config-if)# switchport port-security mac-address sticky
Switch(config-if)# switchport port-security violation shutdown

Здесь мы:

  • Сделали порт в режиме доступа
  • Включили Port-Security
  • Ограничили максимум 5 MAC-адресов
  • Включили sticky изучение
  • Настроили отключение порта при нарушении

Как проверить настройки Port-Security и список MAC-адресов?

Словно проверяя список гостей, используйте команды:

  • Показать параметры порта с Port-Security:
show port-security interface fa0/1
  • Показать все защищённые MAC-адреса:
show port-security address

Проблемы с фильтрацией MAC-адресов на разных портах

Иногда MAC-адрес может "светиться" не там, где ожидаешь. Например, устройство подключено к uplink порту (скажем, порт 24), а трафик выходит через порт 22. В таком случае запретить MAC-адрес только на порту 22 может не сработать, так как коммутатор видит этот адрес на порту 24.

Как решить?

Настроить MAC access-list с запретом на входящий трафик на конкретном порту:

mac access-list extended disable_access
 deny any host 90f6.525b.a6bc
 permit any any

interface gigabitEthernet 0/22
 mac access-group disable_access in

Это запретит прохождение трафика от данного MAC-адреса через порт 22, даже если он виден на порту 24.


Почему переполнение таблицы MAC-адресов опасно?

Коммутатор хранит в таблице адреса устройств, которые проходят через порты, чтобы знать, куда отправлять данные. Если злоумышленник "засыплет" коммутатор кучей пакетов с поддельными MAC-адресами, таблица заполнится.

Последствия:

  • Коммутатор перестанет различать порты для адресов
  • Начнёт работать как хаб: рассылает все пакеты на все порты
  • Злоумышленник может прослушивать весь трафик VLAN — страшный сон сетевого администратора!

Port-Security предотвращает это, ограничивая число MAC-адресов.


Как сохранить изученные MAC-адреса после перезагрузки?

Если вы используете динамическое изучение MAC-адресов без sticky режима, после перезагрузки коммутатора все записи исчезнут.

Чтобы избежать этого, включайте sticky режим. Он сохраняет адреса в конфигурации, и после перезагрузки "прилипшие" адреса остаются на месте.


FAQ по Port-Security Cisco

Вопрос: Что будет, если подключить два устройства с разными MAC-адресами к одному порту с ограничением в один адрес?
Ответ: Второе устройство вызовет нарушение безопасности, и порт либо заблокируется, либо отфильтрует пакеты в зависимости от настроенного режима.

Вопрос: Можно ли фильтровать исходящий трафик по MAC-адресу на Cisco?
Ответ: Практически нет, так как фильтры исходящего трафика (outbound) на MAC уровне почти не поддерживаются.

Вопрос: Как включить Port-Security на всех портах сразу?
Ответ: Обычно Port-Security настраивают индивидуально, но можно использовать скрипты или шаблоны конфигурации для автоматизации.


Чек-лист для настройки Port-Security

  • [x] Определить, сколько MAC-адресов разрешить на порту
  • [x] Выбрать режим нарушения (protect, restrict, shutdown)
  • [x] Решить, использовать ли статические, динамические или sticky адреса
  • [x] Включить Port-Security командой switchport port-security
  • [x] При необходимости включить sticky режим
  • [x] Проверить настройки командой show port-security
  • [x] Настроить уведомления (syslog, SNMP) при нарушениях

Port-Security — как умный фильтр на входе в вашу сеть. Настройте его правильно, и ваши данные останутся в безопасности, а сеть — стабильной. Помните: в мире сетей лучше быть как доброжелательный охранник, а не случайный приглашённый на чужой праздник!