В современных корпоративных сетях безопасность периметра уже не достаточна. Главная уязвимость часто кроется внутри, на уровне портов доступа коммутаторов. Технология Port Security (Защита портов) является базовым, но критически важным инструментом для контроля доступа устройств к сетевой инфраструктуре на канальном уровне (L2).
Статья актуальна на 18 июля 2026 года.
Что такое Port Security?
Port Security — это функция коммутаторов (в частности, линейки Cisco Catalyst и аналогичных решений от других вендоров, таких как SNR, QSW, AqNOS), которая разрешает доступ к порту только ограниченному набору MAC-адресов.
По сути, это механизм привязки безопасных MAC-адресов к заданному физическому порту. Коммутатор анализирует исходные MAC-адреса входящих Ethernet-кадров и принимает решение: пропустить кадр, отбросить его или отключить порт в зависимости от настроенной политики.
Основные задачи и угрозы, которые решает Port Security
- Предотвращение несанкционированного доступа: Блокирует подключение чужого оборудования (ноутбуков, роутеров) к активным розеткам в офисе или публичных зонах.
- Защита от атаки MAC Flooding (переполнение CAM-таблицы): Злоумышленник может зафлудить коммутатор кадрами с тысячами поддельных Source MAC-адресов. Это забивает таблицу MAC-адресов (CAM), заставляя коммутатор работать в режиме хаба (флудить трафик во все порты), что позволяет перехватывать чужой трафик. Port Security ограничивает количество MAC-адресов на порту, делая такую атаку бесполезной.
- Контроль топологии: Ограничивает подключение «мини-коммутаторов», разветвителей (хабов) и неучтенных точек доступа Wi-Fi за одним портом доступа.
- Предотвращение спуфинга MAC-адреса: Защищает от несанкционированной смены MAC-адреса сетевого подключения (MAC Spoofing).
Классификация безопасных MAC-адресов
Технология оперирует тремя типами MAC-адресов, которые формируют «белый список» для порта:
Статические безопасные MAC-адреса (Static Secure MAC Addresses)
Настраиваются вручную администратором через CLI.
- Команда (Cisco IOS):
switchport port-security mac-address <MAC-адрес> - Хранятся в таблице адресов и добавляются в текущую конфигурацию (running-config) коммутатора.
- Не устаревают (не имеют таймера aging) и сохраняются при перезагрузке, если конфигурация сохранена в startup-config.
- Идеальны для стационарных устройств: серверы, принтеры, IP-телефоны, стационарные ПК.
Динамические безопасные MAC-адреса (Dynamic Secure MAC Addresses)
Получаются автоматически коммутатором в процессе обучения (learning) из исходных адресов входящих кадров.
- Хранятся только в таблице адресов (MAC address table).
- Не сохраняются в конфигурации — при перезагрузке коммутатора или отключении порта они теряются и должны быть выучены заново.
- Имеют таймер устаревания (aging timer).
- Удобны для портов, к которым периодически подключаются разные авторизованные устройства (например, горячие места, док-станции).
Sticky MAC-адреса (Sticky Secure MAC Addresses / «Липкие» адреса)
Гибридный режим, часто используемый на практике.
- Включается командой:
switchport port-security mac-address sticky; - Коммутатор динамически выучивает MAC-адреса, но автоматически записывает их в running-config как статические записи.
- После сохранения конфигурации (
write memory) эти адреса становятся постоянными и выживают после ребута. - Позволяет администратору не вводить адреса вручную, но гарантировать их сохранность.
Режимы реагирования на нарушение (Violation Modes)
Что происходит, когда на порт приходит кадр с MAC-адресом, которого нет в списке безопасных, или когда превышено максимальное количество адресов?
| Режим | Команда (Cisco) | Действие | Счетчик нарушений | SNMP Trap / Syslog |
|---|---|---|---|---|
| Shutdown (По умолчанию) | switchport port-security violation shutdown | Порт немедленно переводится в состояние err-disable (ошибка/отключен). Трафик не проходит. Требуется ручное вмешательство (shutdown / no shutdown) или настройка errdisable recovery для восстановления. | Увеличивается | Отправляется |
| Restrict | switchport port-security violation restrict | Порт остает Up. Кадры с недопустимыми MAC-адресами отбрасываются. Допустимый трафик продолжает проходить. | Увеличивается | Отправляется |
| Protect | switchport port-security violation protect | Порт остает Up. Кадры с недопустимыми MAC-адресами отбрасываются без уведомлений (тихо). | Не увеличивается | Не отправляется |
> Рекомендация: Для критичных портов используйте shutdown (максимальная безопасность). Для пользовательских портов, где важна непрерывность работы легального трафика при случайных ошибках — restrict. Режим protect обычно не рекомендуется из-за отсутствия видимости инцидентов.
Ключевые параметры настройки
- Максимальное количество безопасных MAC-адресов (
switchport port-security maximum <N>): По умолчанию часто равно 1. Увеличьте для IP-телефонов с ПК за ними (обычно 2-3), для точек доступа или небольших неуправляемых свичей (если политика позволяет). - Таймер устаревания (Aging): Настраиваеться командой
switchport port-security aging time <минуты>и типомabsolute(строгое время) илиinactivity(неактивность). Полезно для динамических/стики адресов, чтобы освобождать слоты у ушедших устройств. - Режим Sticky: Включается отдельной командой, как описано выше.
Пример базовой конфигурации (Cisco IOS)
interface FastEthernet0/1
description User_Port
switchport mode access
switchport access vlan 10
! Включение Port Security
switchport port-security
! Максимум 2 адреса (Телефон + ПК)
switchport port-security maximum 2
! Режим Sticky ー запомнить выученные адреса в конфиг
switchport port-security mac-address sticky
! Реакция: отключить порт при нарушении
switchport port-security violation shutdown
! Таймер устаревания неактивных адресов 2 часа (опционально)
switchport port-security aging time 120
switchport port-security aging type inactivity
spanning-tree portfast
spanning-tree bpduguard enable
end
Особенности взаимодействия с другими технологиями
- IP Telephony (Voice VLAN): На порту с IP-телефоном и ПК за ним нужно ставить
maximum 2(или 3 для резерва). Один MAC — телефон (Voice VLAN), второй, ПК (Data VLAN). Port Security корректно обрабатывает тегированный и нетегированный трафик на одном порту. - 802.1X (Dot1x): Port Security и 802.1X могут работать вместе. 802.1X аутентифицирует пользователя, а Port Security ограничивает количество MAC после аутентификации. При этом 802.1X может динамически назначать VLAN.
- DHCP Snooping / DAI / IP Source Guard: Port Security работает на L2 (MAC), эти технологии — на L2/L3 (IP/MAC binding). Они отлично дополняют друг друга в рамках стратегии Defense in Depth.
- Неуправляемые свичи / Хабы за портом: Если политика запрещает их, ставьте
maximum 1. Если разрешает — рассчитывайте максимум исходя из количества устройств + запас.
Мониторинг и диагностика
Основные команды для проверки статуса:
show port-security interface <id>, подробная статистика по порту: максимальное кол-во, текущее кол-во, режим нарушения, количество нарушений, список безопасных адресов (Configured / Learned / Sticky).show port-security address— таблица всех безопасных MAC-адресов на всех портах с указанием типа (Static, Dynamic, Sticky) и VLAN.show interfaces <id> status— если порт в err-disable, причина будет видна здесь или в логах (show logging).show errdisable recovery, настройка автоматического восстановления портов из err-disable через таймер.
Лучшие практики (Best Practices)
- Включайте на всех портах доступа (Access ports): Это база гигиены сети. Не включайте на транках (Trunk) и аплинках (Uplink) — там сотни MAC-адресов.
- Используйте Sticky-режим для пользовательских портов: Сбалансированное решение между удобством (не надо вводить MAC вручную) и безопасностью (адреса зафиксированы в конфиге).
- Настройте
violation restrictдля первых этапов внедрения: Это позволит собрать статистику нарушений (логи, SNMP) и выявить проблемы (например, пользователи таскают ноутбуки) не ломая бизнес-процессы. Позже переведите критичные порты наshutdown. - Автоматизируйте восстановление: Настройте
errdisable recovery cause psecure-violationиerrdisable recovery interval 300(5 минут), чтобы не ездить по офисам за каждым случайным нарушением, но при этом блокировать атаку на время реакции. - Интегрируйте с NAC/Системами учета активов: Идеально, динамическое управление списком разрешенных MAC через RADIUS/CoA или API контроллера доступа, а не статичная конфигурация на железе.
- Документируйте исключения: Порты серверов, принтеров, камер — статические MAC. Порты в серверной, дата-центре — часто лучше защищать на уровне гипервизора/фаервола, а не только Port Security.
- Не панацея от MAC Spoofing: Если злоумышленник знает разрешенный MAC (например, увидел его на наклейке или в дампе трафика) и подменит свой — Port Security его пропустит (если слот свободен или он имитирует отключение легального устройства). Для защиты от спуфинга нужны 802.1X или IP Source Guard.
- Сложность управления в больших сетях: Ручное управление конфигами на сотнях свичей не масштабируется. Используйте инструменты автоматизации (Ansible, NetBox, DNA Center).
- Влияние на производительность: На очень старом железе проверка каждого кадра на порту с Port Security может давать незначительную задержку, на современном ASIC — нулевую.
- VRRP/HSRP/GLBP: На интерфейсах с виртуальными MAC-адресами_first_hop redundancy протоколов Port Security обычно не настраивают (это не порты доступа).
- Контроль количества устройств на порту.
- Защита инфраструктуры от атак переполнения CAM-таблицы (MAC Flooding).
- Базовая привязка идентичности устройства к физическому порту.
Ограничения и нюансы
Port Security — это фундаментальный слой защиты сети на уровне доступа (Access Layer). Он дешево, эффективно и стандартно решает задачи:
Грамотная настройка (Sticky MAC, violation restrict/shutdown, правильные лимиты) в связке с 802.1X, DHCP Snooping и автоматизацией конфигураций делает сеть устойчивой к внутренним угрозам и ошибкам конфигурации на стороне пользователей. Не пренебрегайте этой технологией, она входит в любой чек-лист hardening’а коммутаторов (CIS Benchmarks, vendor guides) по умолчанию.