Настройка безопасности портов (Port security)
Функция Port security предназначена для ограничения доступа к коммутатору на уровне L2 путем контроля MAC-адресов, изучаемых на физическом порту.
Port security используется, когда необходимо:
-
ограничить количество устройств (MAC-адресов), подключаемых к одному порту;
-
разрешить работу только “известным” MAC-адресам;
-
защитить порт доступа от несанкционированного подключения и подмены устройства.
При нарушении правил (превышение лимита MAC или появление “чужого” MAC) порт выполняет заданное действие защиты (protect / restrict / shutdown).
Необходимые условия и предварительные требования
Перед настройкой Port security необходимо:
-
определить порт доступа, на котором требуется ограничение (например, порт к рабочей станции/терминалу);
-
определить VLAN порта (обычно access VLAN);
-
выбрать политику реакции на нарушение:
-
protect - блокировать трафик от неизвестных MAC без дополнительных действий;
-
restrict - блокировать и фиксировать нарушение (учетными событиями/счетчиками);
-
shutdown - перевести порт в состояние блокировки/ошибки (требует вмешательства администратора).
-
Port security
Port security на порту контролирует:
-
maximum - максимальное количество допустимых MAC-адресов на порту;
-
sticky-mac - автоматическое “закрепление” MAC-адресов, изученных на порту (как разрешенных);
-
protect-action - действие при нарушении правил.
Назначение применяемых команд
Настройка выполняется в режиме интерфейса порта, например config-10ge1/0/10.
Включение Port security
port-security enable - включает режим защиты порта.
Пример:
SW1(config-10ge1/0/10)# port-security enable
Ограничение количества MAC-адресов
port-security maximum <1-1024> - задает максимальное число MAC-адресов, которые разрешено изучить на порту.
Пример:
SW1(config-10ge1/0/10)# port-security maximum 1
Sticky MAC (закрепление MAC-адресов)
port-security mac-address sticky enable - включает режим sticky: MAC-адреса, изученные на порту, закрепляются как разрешенные.
Пример:
SW1(config-10ge1/0/10)# port-security mac-address sticky enable
Дополнительно (ручное закрепление MAC):
port-security mac-address sticky <vlan-id> AA:BB:CC:DD:EE:FF - вручную добавляет разрешенный sticky MAC для указанного VLAN.
Пример:
SW1(config-10ge1/0/10)# port-security mac-address sticky 10 B4:E0:25:00:AA:10
Действие при нарушении
port-security protect-action (protect|restrict|shutdown) - задает реакцию на нарушение.
Пример:
SW1(config-10ge1/0/10)# port-security protect-action shutdown
protect
-
Кадры от “нарушающего” MAC не пропускаются (отбрасываются).
-
Порт не переводится в down/error-down, линк остается поднятым.
-
Без явных уведомлений/логов .
restrict
-
Кадры от “нарушающего” MAC не пропускаются (отбрасываются), как и при
protect. -
Дополнительно коммутатор фиксирует событие нарушения.
-
Порт при этом остается поднятым (не выключается).
shutdown
-
При нарушении коммутатор переводит порт в состояние блокировки .
-
Трафик через порт полностью прекращается до ручного вмешательства.
Пример конфигурирования
Исходное состояние
-
Порт
10gigaethernet 1/0/10используется как порт доступа. -
Клиентский VLAN:
VLAN 10. -
Требуется разрешить только одно устройство на порту (1 MAC).
-
MAC-адрес должен закрепляться автоматически (sticky).
-
При нарушении порт должен блокироваться (shutdown).
Задача
-
Перевести порт в режим access VLAN 10.
-
Включить Port security.
-
Ограничить количество MAC до 1.
-
Включить sticky MAC.
-
Настроить реакцию
shutdown.
Пример конфигурации (CLI)
SW1# configure
SW1(config)# interface 10gigaethernet 1/0/10
SW1(config-10ge1/0/10)# port link-type access
SW1(config-10ge1/0/10)# port default vlan 10
SW1(config-10ge1/0/10)# port-security enable
SW1(config-10ge1/0/10)# port-security maximum 1
SW1(config-10ge1/0/10)# port-security mac-address sticky enable
SW1(config-10ge1/0/10)# port-security protect-action shutdown
SW1(config-10ge1/0/10)# end
SW1# write file
Полный вывод выполненных конфигураций
Пример фрагмента конфигурации, относящийся к настройке порта 10gigaethernet 1/0/10:
SW1#show running-config
!
interface 10gigaethernet 1/0/10
port link-type access
port default vlan 10
port-security enable
port-security maximum 1
port-security mac-address sticky enable
port-security protect-action shutdown
!
Изучение состояния устройства
Изучение состояния Port security рекомендуется выполнять в следующей последовательности: просмотр конфигурации интерфейса, затем проверка таблицы MAC-адресов (включая sticky/security) и сводной статистики по MAC.
Просмотр конфигурации Port security на интерфейсе
Проверка факта включения Port security и параметров режима выполняется через просмотр running-config с фильтрацией по нужному порту.
Пример:
SW1#show running-config
...
interface 10gigaethernet 1/0/10
port-security enable
port-security mac-address sticky enable
port-security maximum 1
port-security protect-action shutdown
...
По выводу определяется:
-
включен ли режим port-security на интерфейсе (
port-security enable); -
используется ли “закрепление” MAC (
port-security mac-address sticky enable); -
максимально допустимое число MAC на порту (
port-security maximum ...); -
действие при нарушении политики (
port-security protect-action ...).
Просмотр состояния интерфейса
Команда show interface позволяет убедиться, что порт поднят и работает в ожидаемом режиме (например access), а также проверить VLAN/PVID.
Пример:
SW1#show interface 10gigaethernet 1/0/10
...
Interface 10gigaethernet1/0/10 admin state : up
Line protocol current state : up
Switch Port, PVID : 10, The Maximum Frame Length is 9600
...
Ключевые поля:
-
admin state / Line protocol current state - административное и физическое состояние порта;
-
PVID - VLAN, к которому относится порт (важно для sticky/security MAC в нужном VLAN).
Просмотр таблицы sticky MAC-адресов
Команда show mac-address sticky показывает MAC-адреса, “закрепленные” за интерфейсом (sticky). Наличие записи sticky подтверждает, что коммутатор запомнил MAC клиента и применяет политику Port security на порту.
Пример:
SW1#show mac-address sticky
sticky :1
MAC Address Vlan/Vsi/BD Interface Oper-Type Type
b4:e0:25:00:76:3c 10/--/-- 10ge1/0/10 forward sticky
Расшифровка полей:
-
MAC Address - закрепленный MAC-адрес абонента/устройства;
-
Vlan/Vsi/BD - VLAN, в котором выучен MAC (в примере VLAN 10);
-
Interface - интерфейс, к которому закреплен MAC (в примере
10ge1/0/10); -
Oper-Type - текущая операция обработки MAC (
forwardозначает, что кадры от данного MAC разрешены); -
Type - тип записи (
sticky).
Просмотр общей таблицы MAC и сводных счетчиков
Команда show mac-address отображает суммарную информацию по записям MAC и текущие выученные адреса. Это удобно, чтобы подтвердить, что MAC действительно присутствует в таблице и понять соотношение типов (sticky/security/dynamic/static).
Пример:
SW1#show mac-address
Total :1
Static :0
Dynamic :0
Blackhole :0
Sticky :1
Security :0
Snooping :0
Valid :1
MAC Address Vlan/Vsi/BD Interface Oper-Type Type
b4:e0:25:00:76:3c 10/--/-- 10ge1/0/10 forward sticky
Пояснение ключевых строк:
-
Total - общее число MAC-записей;
-
Sticky - количество MAC, закрепленных в sticky-режиме (важный индикатор работы Port security);
-
Security - количество MAC, относящихся к security-записям (при ручной привязке/режимах security);
-
Dynamic / Static - динамические и статические MAC (для сравнения и диагностики);
-
Valid - число актуальных (действующих) записей.
По данному примеру видно, что Port security работает в режиме sticky: MAC-адрес выучен в VLAN 10 и закреплен за интерфейсом 10ge1/0/10, при этом кадры от данного MAC разрешены (Oper-Type: forward).
Рекомендации выполнения команд/настроек
Рекомендуется:
-
для пользовательских портов доступа использовать
port-security maximum 1или2(в зависимости от сценария); -
включать
sticky enableна портах, где устройство редко меняется; -
использовать
protect-action shutdownдля критичных портов, аrestrict- для более мягкого режима контроля; -
при замене устройства на порту очищать/обновлять закрепленные MAC-адреса (в зависимости от принятой политики эксплуатации).
История возникновения команды
Команды и конфигурации, приведенные в данной главе, применимы для:
-
аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2;
-
являются актуальными начиная с версии ПО v1.0.2.
Ссылка на внешнюю документацию
-
IEEE 802.1D / 802.1Q - базовые принципы коммутации и VLAN (основа работы L2 и привязки к VLAN).
-
Port security является функцией L2-защиты и реализуется вендор-специфично (RFC для Port security как отдельного протокола не применяется).