Что такое DHCP Snooping и как это работает?
"Почему я не могу подключиться к сети, даже если мой ноутбук получил IP-адрес динамически?" Сталкивались ли вы с этой проблемой в повседневной жизни? Вы сомневались в подлинности IP-адресов? Получены ли они с авторизованного DHCP-сервера? Если нет, как предотвратить это? В этой статье будет введен термин DHCP Snooping, чтобы помочь пользователям избежать использование незаконных IP-адресов.
Что такое DHCP Snooping?
DHCP Snooping - это технология безопасности уровня 2, предназначенная для защиты от атак с использованием протокола DHCP. Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику. DHCP Snooping предотвращает несанкционированные (мошеннические) DHCP-серверы, предлагающие IP-адреса DHCP-клиентам. Функция DHCP Snooping выполняет следующие действия:
-
защитить клиентов в сети от получения адреса от неавторизованного DHCP-сервера.
-
регулировать какие сообщения протокола DHCP отбрасывать, какие перенаправлять и на какие порты.
Для правильной работы DHCP snooping, необходимо указать какие порты коммутатора будут доверенными (trusted), а какие — нет (untrusted, в дальнейшем — ненадёжными):
-
Ненадёжные (Untrusted) — порты, к которым подключены клиенты. DHCP-ответы, приходящие с этих портов отбрасываются коммутатором. Для ненадёжных портов выполняется ряд проверок сообщений DHCP и создаётся база данных привязки DHCP (DHCP snooping binding database).
-
Доверенные (Trusted) — порты коммутатора, к которым подключен другой коммутатор или DHCP-сервер. DHCP-пакеты полученные с доверенных портов не отбрасываются.
Как работает DHCP Snooping ?
По умолчанию коммутатор отбрасывает DHCP-пакет, который пришел на ненадёжный порт, если:
-
Приходит одно из сообщений, которые отправляет DHCP-сервер (DHCPOFFER, DHCPACK, DHCPNAK или DHCPLEASEQUERY);
-
Приходит сообщение DHCPRELEASE или DHCPDECLINE, в котором содержится MAC-адрес из базы данных привязки DHCP, но информация об интерфейсе в таблице не совпадает с интерфейсом, на котором был получен пакет;
-
В пришедшем DHCP-пакете не совпадают MAC-адрес указанный в DHCP-запросе и MAC-адрес отправителя;
-
Приходит DHCP-пакет, в котором есть опция 82.
Чтобы выяснить, как работает DHCP Snooping, мы должны поймать рабочий механизм DHCP, который обозначает протокол динамической конфигурации хоста. При включенном DHCP сетевое устройство без IP-адреса будет "взаимодействовать" с DHCP-сервером через 4 этапа следующим образом.
DHCP Snooping обычно классифицирует интерфейсы на коммутаторе по двум категориям: надежные ненадежные порты, как показано на рисунке 2. Надежный порт - это порт или источник, сообщения DHCP-сервера которого являются доверенными. Ненадежный порт - это порт, с которого сообщения DHCP-сервера не являются доверенными. Если инициируется отслеживание DHCP, сообщение предложения DHCP может быть отправлено только через доверенный порт. В противном случае оно будет отброшено.
На этапе подтверждения, будет создана таблица привязки DHCP в соответствии с сообщением DHCP ACK. Он записывает MAC-адрес хоста, арендованный IP-адрес, время аренды, тип привязки, а также номер VLAN и информацию об интерфейсе, связанную с хостом, как показано на рисунке 3. Если последующий пакет DHCP, полученный от ненадежного хоста, не совпадает с информацией, он будет удален.
MAC Адрес | IP Адрес | Аренда(сек) | Тип | VLAN | Интерфейс | |
Entry 1 | e4-54-e8-9d-ab-42 | 10.32.96.19 | 2673 | dhcp-snooping | 10 | Eth 1/23 |
Entry 2 | ||||||
Entry 3 | ||||||
... |
Основные типы Атак, предотвращаемые DHCP Snooping
Спуфинговая атака DHCP
DHCP спуфинг происходит, когда злоумышленник пытается ответить на запросы DHCP и пытается указать себя (spoof) как шлюз по умолчанию или DNS-сервер, следовательно, инициируя атаку через посредника. При этом возможно, что они могут перехватывать трафик от пользователей перед пересылкой на реальный шлюз или выполнять DoS, заполняя реальный DHCP-сервер запросами на засорение ресурсов IP-адресов.
DHCP Starvation (истощение ресурсов DHCP)
Истощение ресурсов DHCP обычно нацелено на сетевые DHCP-серверы с целью наполнить авторизованный DHCP-сервер сообщениями DHCP REQUEST с использованием поддельных MAC-адресов источника. Сервер DHCP будет отвечать на все запросы, не зная, что это атака с истощением DHCP, назначая доступные IP-адреса, что приводит к истощению пула DHCP.
Как включить отслеживание DHCP?
DHCP Snooping применим только к проводным пользователям. Как функция безопасности уровня доступа, она в основном включена на любом коммутаторе, содержащем порты доступа VLAN, обслуживаемой DHCP. При развертывании DHCP Snooping необходимо настроить доверенные порты (порты, через которые будут проходить допустимые сообщения DHCP-сервера), прежде чем включать DHCP Snooping в VLAN, которую вы хотите защитить. Это может быть реализовано как в интерфейсе CLI, так и в веб-интерфейсе.
Заключение
Хотя DHCP упрощает IP-адресацию, в то же время он вызывает проблемы с безопасностью. Чтобы устранить проблемы, DHCP Snooping, один из механизмов защиты, может предотвратить использование ненадежных адресов DHCP от мошеннического сервера DHCP и может предотвратить атаку истощения ресурсов, которая пытается использовать все существующие адреса DHCP. FS S3900 серии гигабитные стекируемые управляемые коммутаторы могут полностью использовать эту функцию для защиты вашей сети.