В современной сетевой инфраструктуре безопасность периметра часто ассоциируется с фаерволами и системами обнаружения вторжений. Однако угрозы уровня L2 (канального уровня) остаются одной из самых уязвимых зон. Злоумышленник, получивший физический доступ к порту коммутатора, может организовать атаку типа «человек посередине» (MITM) или поднять rogue DHCP-сервер за считанные минуты.

Комбинация DHCP Snooping и IP Source Guard (IPSG) создает фундамент доверия внутри VLAN, позволяя коммутатору самостоятельно верифицировать легитимность трафика без нагрузки на шлюзы безопасности.

Почему это критически важно?

Без механизмов валидации на уровне доступа (Access Layer) сеть полагается на честность подключенных устройств. Это открывает векторы для следующих атак:

  1. Rogue DHCP Server: Злоумышленник отвечает на DHCP-запросы быстрее легитимного сервера, назначая клиентам свой шлюз (Gateway). Весь трафик жертвы начинает проходить через атакующую машину.
  2. IP Spoofing: Хост вручную прописывает себе IP-адрес другого важного устройства (например, сервера или принтера), вызывая конфликты или перехватывая сессии.
  3. DHCP Starvation: Лавина DHCP-запросов истощает пул адресов, вызывая отказ в обслуживании (DoS) для легитимных клиентов.

DHCP Snooping решает проблему доверия к серверам, а IP Source Guard запрещает хостам менять свои адреса произвольно.

Механика работы: Binding Table как источник истины

Ключевым элементом связки является Binding Table (таблица привязок). DHCP Snooping не просто фильтрует пакеты, он пассивно слушает транзакции DHCP (Discover, Offer, Request, Ack) и строит базу данных, содержащую:

· MAC-адрес клиента
· Выданный IP-адрес
· VLAN
· Порт коммутатора
· Время аренды (Lease time)

Эта таблица становится «источником правды» (Source of Truth). IP Source Guard использует её для создания динамических ACL (Port ACL) на интерфейсах. Если трафик приходит с IP-адреса, которого нет в binding-таблице для данного порта, коммутатор отбрасывает кадры на аппаратном уровне.

Пошаговая конфигурация (Cisco IOS)

Настройка должна выполняться последовательно. Сначала активируется Snooping, затем на его основе включается IPSG.

  1. Глобальная активация и выбор VLAN

Необходимо указать, в каких VLAN коммутатор должен отслеживать DHCP-транзакции.

conf t
ip dhcp snooping
ip dhcp snooping vlan 10,20,30

Важно: Включайте snooping только на пользовательских VLAN. Не применяйте это к VLAN управления или серверным сегментам без тщательного тестирования.

  1. Настройка доверенных портов (Trusted Ports)

По умолчанию все порты после включения функции считаются untrusted. Это значит, что DHCP-ответы (Offer, Ack) на них будут блокироваться. Вы должны явно указать порты, где находится легитимный DHCP-сервер или uplink к ядру сети.

interface GigabitEthernet1/0/24
 description UPLINK_TO_DHCP_SERVER
 ip dhcp snooping trust

Риск: Если забыть настроить trust-порт, клиенты в VLAN перестанут получать IP-адреса. Симптом: сеть «работает», но DHCP не проходит.

  1. Защита от DHCP Starvation

Ограничение скорости DHCP-пакетов на пользовательских портах предотвращает атаки на истощение пула.

interface range GigabitEthernet1/0/1 - 20
 description ACCESS_PORTS
 ip dhcp snooping limit rate 15

Значение 15 пакетов в секунду обычно достаточно для легитимного клиента. Превышение лимита переводит порт в err-disable состояние.

  1. Включение IP Source Guard

Теперь используем собранную базу для фильтрации трафика. Команда ip verify source включает проверку IP-адреса. Для максимальной защиты рекомендуется добавить проверку MAC-адреса.

interface GigabitEthernet1/0/1
 ip verify source vlan dhcp-snooping

Параметр vlan добавляет проверку соответствия VLAN, что предотвращает VLAN hopping.

Верификация и Troubleshooting

После внедрения необходимо убедиться, что механизмы работают корректно.

Проверка таблицы привязок:

show ip dhcp snooping binding

Ожидаемый результат: Вы должны видеть MAC-адреса клиентов, их IP, VLAN и порт. Если таблица пуста, проверьте trust-порты и работу DHCP-сервера.

Проверка статуса IPSG:

show ip verify source

Ожидаемый результат: Статус active на пользовательских портах.

Типичные проблемы:

  1. Клиенты не получают IP: Проверьте, не блокирует ли snooping пакеты на uplink-порту. Убедитесь, что порт сервера помечен как trust.
  2. Статические IP не работают: IP Source Guard полагается на динамическую binding-таблицу. Если устройство использует статический IP, оно будет заблокировано.
    · Решение: Добавить статическую привязку вручную:
    bash ip dhcp snooping binding 0011.2233.4455 vlan 10 192.168.10.5 interface Gi0/1 expiry infinite
  3. Высокая загрузка CPU/TCAM: Binding table хранится в TCAM. На старых моделях коммутаторов заполнение таблицы может исчерпать ресурсы. Мониторьте утилизацию через show platform tcam utilization.

Best Practices и ограничения

Внедрение DHCP Snooping и IP Source Guard — это стандарт индустрии для защищенных сетей, но требует учета архитектурных особенностей:

· Совместимость с DAI: Dynamic ARP Inspection (DAI) также использует binding-таблицу DHCP Snooping. Рекомендуется включать их в связке для полной защиты от ARP-spoofing.
· Виртуализация: В средах VMware/Hyper-V с множеством VM на одном физическом порте (uplink сервера) лимиты rate могут быть слишком низкими. Настраивайте limit rate с запасом или отключайте на портах гипервизоров (если они доверенные).
· Сохранение базы: При перезагрузке коммутатора динамическая таблица теряется. Для критических сетей настройте сохранение binding database на flash или TFTP-сервер:

  ip dhcp snooping database flash:/dhcp_snooping.db
  write delay 300

Заключение

Связка DHCP Snooping + IP Source Guard позволяет перенести логику безопасности на периметр доступа, предотвращая атаки до того, как они достигнут ядра сети. Это легковесное решение, не требующее лицензий firewall, но обеспечивающее базовую гигиену сетевого трафика.

Помните: безопасность — это процесс. Регулярно аудитируйте binding-таблицы и обновляйте конфигурации при изменении сетевой топологии.