Настройка безопасности
𝔯𝔱_𝔣𝔞𝔫>> LoopBack Detection
Обнаружение петель на порту коммутатора.

Ситуация, показанная на рисунке, вынуждает управляемый коммутатор постоянно перестраивать «дерево» STP при получении своего же собственного BPDU. Новая функция LoopBack Detection отслеживает такие ситуации и блокирует порт, на котором обнаружена петля, тем самым предотвращая проблемы в сети независимо от работы STP протокола. Т.е. неважно, включен STP протокол на порту или выключен – петля будет обнаружена, и порт будет заблокирован. Петля на порту обнаруживается путём отсылки коммутатором пакета с адресом назначения CF-00-00-00-00-00 (9000 Ethernet Configuration Test protocol (Loopback)). Это нужно учитывать при составлении правил ACL.
Пример настройки функции LoopBack Detection (LBD):
Задача: Обеспечить на оконечных портах DES-3526 отсутствие петель в неуправляемых сегментах.
Команды для настройки коммутатора:
enable loopdetect config loopdetect ports 1-24 state enabled config loopdetect recover_timer 60 interval 10 mode port-based
(recover_timer – время, в течение которого порты будут отключены. Interval – интервалы между отправкой пакетов обнаружения петли. Время для этих параметров задаётся глобально на коммутаторе.)
Mode port-based – Режим обнаружения петли на порту коммутатора. При обнаружении петли блокируется порт.
Mode vlan-based – Режим обнаружения петли в VLAN. Используется в случаях, когда на одном порту присутствует несколько VLAN. При обнаружении петли блокируется трафик из конкретного VLAN.
>> Traffic Segmentation
Traffic Segmentation запрещает портам общаться между собой на прямую, на коммутаторах других производителей подобная функция называется как Protected Ports, Port Isolation и т.д.
Перед настройкой Traffic Segmentation нужно точно знать какой из портов Uplink, допустим на коммутаторе DES-1210-28, 25 порт является входящим (uplink), то выполним следующие две команды:
config traffic_segmentation 1-24,26-28 forward_list 25 config traffic_segmentation 25 forward_list 1-24,26-28
После выполнения этих команд на коммутаторе DES-1210-28, трафик портов 1-24, 26-28 сможет идти только на 25 порт, а с 25 порта на 1-24,26-28 порты.
>> BPDU Protection
В сети уровня 2 коммутаторы, использующие протоколы STP, RSTP или MSTP, обмениваются блоками BPDU для вычисления связующего дерева и преобразования кольцевой топологии сети в топологию дерева без петель. Во время развертывания протокола STP, в большинстве случаев порты, которые подключают коммутаторы к конечным устройствам, таким как ПК или файловые серверы, настраиваются как граничные (edge) порты. Эти порты не участвуют в вычислении дерева STP и могут немедленно перейти из состояния «Отключено» в состояние пересылки (forwarding), как если бы протокол STP был отключен на этих портах. Когда конечные устройства часто переходят из состояния «онлайн» в «офлайн» и обратно, настройка граничных портов не позволит коммутаторам пересчитывать топологию связующего дерева, повышая надежность сети.
После включения защиты BPDU (BPDU protection) на коммутаторе, если граничный порт на коммутаторе получает BPDU, коммутатор отключит граничный порт, сохраняя при этом атрибут порта неизменным. Это гарантирует, что топология связующего дерева не будет пересчитана и работа сети не будет прервана. Кроме того, коммутатор может генерировать сообщение (trap) и уведомить сервер сетевого управления об этом событии.
На коммутаторах D-Link серии DGS-3000 для настройки BPDU protection используются такие команды:

Порт с включенной защитой BPDU перейдет в состояние «под атакой», когда получит один пакет STP BPDU.
Состояние «под атакой» имеет три режима:
- drop — отбрасываются все пакеты BPDU;
- block — отбрасываются все пакеты;
- shutdown — порт отключается.
Команда config bpdu_protection ports [<portlist> | all ] {state [enable | disable] | mode [ drop | block | shutdown]} используется для настройки BPDU Protection на портах коммутатора.
BPDU Protection имеет более высокий приоритет, чем параметр «Forward BPDU» (FBPDU), настроенный командой configure STP при определении обработки BPDU. То есть, когда FBPDU настроен на пересылку STP BPDU, но включена защита BPDU, порт не будет пересылать STP BPDU.
Команда config bpdu_protection recovery_timer [<sec 60-1000000> | infinite] используется для настройки таймера восстановления BPDU Ptotection. Когда порт переходит в состояние «под атакой», он может быть отключен или заблокирован в зависимости от конфигурации. Состояние порта можно восстановить вручную или с помощью механизма автоматического восстановления. Параметр команды infinite означает, что порт не восстанавливается автоматически. Чтобы вручную восстановить порт, пользователю необходимо отключить и снова включить порт.
Команда config bpdu_protection [trap | log] [none | attack_detected | attack_cleared | both] используется для указания, когда информация об атаке логируется (log) или отправляется trap (trap):
- none — указывает, что ни attack_detected, ни attack_cleared не регистрируются;
- attack_detected — указывает, что события будут регистрироваться при обнаружении атак BPDU;
- attack_cleared — указывает, что события будут регистрироваться , когда удалены атаки BPDU.
- Включается BPDU Protection глобально на коммутаторе командой enable bpdu_protection.
Пример настройки BPDU Protection на коммутаторе D-Link DGS-3000-28X:
enable bpdu_protection config bpdu_protection recovery_timer 60 config bpdu_protection trap none config bpdu_protection log both config bpdu_protection ports 1-22 state enable config bpdu_protection ports 1-22 mode block
>> Port Security
Благодаря функции Port Security, на портах коммутаторов D-Link можно ограничить количество устройств, которым разрешено подключаться к сети.
Допустим необходимо разрешить на портах с 1 по 5 подключаться только до двух устройств, для этого выполним команду:
config port_security ports 1-5 admin_state enabled max_learning_addr 2 lock_address_mode DeleteOnTimeout
Проверим:
show port_security
Если пользователь поменял устройство, то при режиме «Delete on Timeout» МАС-адрес старого устройства устареет после истечения таймера FDB Aging Time (обычно 5 минут) и будет удален, после этого может быть изучен новый MAC-адрес.
При режиме «Permanent» МАС-адреса никогда не устареют даже после перезагрузки коммутатора.
При режиме «Delete on Reset» МАС-адреса будут удалены после перезагрузки коммутатора.
Чтобы коммутатор делал записи в логах и отправлял SNMP Trap при подключении неавторизованного устройства, выполним команду:
enable port_security trap_log
Чтобы отключить Port Security или вернуть значения по умолчанию, выполним:
config port_security system max_learning_addr no_limit disable port_security trap_log config port_security ports 1-5 admin_state disable max_learning_addr 32 lock_address_mode deleteonreset
Если необходимо запретить изучение МАС-адресов и вручную их указать, то запретим изучение например на портах с 1 по 2:
config port_security ports 1-2 admin_state enabled max_learning_addr 0
И создадим статические записи (default — имя VLAN):
create fdb default 00-00-00-00-11-11 port 1 create fdb default 00-00-00-00-11-b2 port 1 create fdb default 00-00-00-00-11-1a port 2
>> Traffic Control (Storm Control)
Функция storm control ограничивает количество multicast, широковещательных и неизвестных unicast фреймов, которые принимает и перенаправляет устройство.
- Drop — отбрасывать пакеты, которые превышают пороговое значение.
- Shutdown — отключить порт, который получает пакеты, распознанные как шторм.
Должно быть отключено для аплинков, каскадных портов и всех портов узловых коммутаторов.
- Port — номер порта.
- Thres hold — кол-во пакетов. счетчик пакетов ( при котором будет срабатывать данное правило).
- Broadcast Storm
- Multicast Storm
- Unicast Storm
- Action
- Count Down — Счетчик вол-во пакетов.
- Числовое значение — кол-во пакетов при превышение, которого срабатывает шторм контроль.
- Time Interval — временной интервал в течении которого измеряется скорость трафика, указанного типа шторма.
Параметры настроек имеют вид Enabled(Disabled)/10/S(D).
S(D) — действие выполняемое с пакетами.
S — блокируется весь трафик на порту.
D — пакеты отбрасываются.
В колонке Time Interval указывается продолжительность действия над трафиком.
>> CONFIG
# enable loopdetect config loopdetect mode portbase config loopdetect ports 1-24 state enable config loopdetect interval_time 2 lbd_recover_time 3600 # config stp ports 1-24 state disable enable bpdu_protection config bpdu_protection recovery_timer 3600 config bpdu_protection log attack_detected config bpdu_protection ports 1-24 state enable mode drop # config traffic_segmentation 1-24 forward_list 25-28 config traffic_segmentation 25-28 forward_list 1-28 # config traffic control 1-24 broadcast enable multicast enable unicast disable action shutdown threshold 256 countdown 0 # create access_profile ip udp src_port_mask 0xFFFF profile_id 1 config access_profile profile_id 1 add access_id 1 ip udp src_port 67 port 1-24 deny # config port_security 1-24 admin_state enable max_learning_addr 3 lock_address_mode DeleteOnTimeout # config filter dhcp_server ports 1-24 state enable # delete snmp community public delete snmp community private create snmp community subnet911 ReadOnly # enable lldp config lldp ports 24-28 notification enable config lldp ports 24-28 admin_status tx_and_rx config lldp ports 24-28 basic_tlvs port_description system_name system_description system_capabilities enable # config sntp primary 81.163.39.114 secondary 0.0.0.0 poll-interval 3600 config time_zone operator + hour 3 minute 0 config dst disable enable sntp #