DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP. Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.
DHCP snooping регулирует только сообщения DHCP и не может повлиять напрямую на трафик пользователей или другие протоколы. Некоторые функции коммутаторов, не имеющие непосредственного отношения к DHCP, могут выполнять проверки на основании таблицы привязок DHCP snooping (DHCP snooping binding database). В их числе:
- Dynamic ARP Protection (Inspection) — проверка ARP-пакетов, направленная на борьбу с ARP-spoofing,
- IP Source Guard — выполняет проверку IP-адреса отправителя в IP-пакетах, предназначенная для борьбы с IP-spoofingом.
- 1 Введение
- 2 Принципы работы DHCP snooping
- 3 Пример топологии
- 4 Порядок настройки
- 5 Использование опции 82
- 6 Настройка DHCP snooping на коммутаторах ProCurve
- 6.1 Настройка доверенных и ненадёжных портов
- 6.2 Настройка авторизованного DHCP-сервера
- 6.3 Проверка соответствия MAC-адресов
- 6.4 Настройка опции 82
- 6.5 Просмотр настроек и проверка работы DHCP snooping
- 6.6 DHCP snooping и DHCP-ретранслятор
- 6.7 Поиск неисправностей
- 7.1 Настройка доверенных и ненадёжных портов
- 7.2 Добавление статических записей в базу данных привязки DHCP
- 7.3 Настройка опции 82
- 7.4 Просмотр настроек и проверка работы DHCP snooping
- 8.1 DHCP-сервер
- 8.2 Коммутаторы ProCurve
Введение
DHCP snooping позволяет:
Все, что вам нужно знать про DHCP
- защитить клиентов в сети от получения адреса от неавторизованного 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 на оборудовании Huawei
Настройки DHCP snooping на коммутаторах разных производителей выполняются для этой топологии (конфигурационные файлы коммутаторов в конце страницы).
Пояснения к рисунку:
- На коммутаторах sw1 и sw2 включен DHCP snooping;
- Порт 24 коммутатора sw1 и порт a1 коммутатора sw2 указаны доверенными, так как на ненадежных портах сообщения DHCP-сервера будут отбрасываться;
- Порт 24 коммутатора sw1 и порт a1 коммутатора sw2 указаны доверенными, так как коммутатор, на котором включен DHCP snooping будет перенаправлять DHCP-запросы только на доверенные порты.
Порядок настройки
- Настройка и проверка работы DHCP-сервера и DHCP-ретранслятора без включенного DHCP snooping.
- Включение DHCP snooping. После включения DHCP snooping на коммутаторе и в соответствующих VLAN, все порты коммутатора по умолчанию считаются ненадёжными.
- Указание доверенных портов. Те порты к которым подключены коммутаторы и которые ведут к DHCP-серверу (или порты к которым сервер подключен) должны быть настроены как доверенные.
- Настройка политики обработки опции 82.
- (Опционально) Включение или выключение дополнительных проверок DHCP-сообщений.
После того, как DHCP snooping включен на коммутаторе, по мере выдачи адресов клиентам, начинает заполняться база данных привязки DHCP.
В базе данных привязки DHCP хранятся (информация хранится только о ненадёжных портах):
- MAC-адрес клиента
- Арендованный IP-адрес клиента
- Время аренды в секундах
- Идентификатор VLAN
- Идентификатор порта к которому присоединен клиент
Использование опции 82
По умолчанию коммутатор на котором включен DHCP snooping, вставляет опцию 82 в DHCP-запросы. Коммутатор может изменять или вставлять опцию 82, даже если клиент и сервер находятся в одной подсети.
При вставке опции 82, коммутатор фактически вставляет два значения:
- Remote ID (MAC-адрес или IP-адрес коммутатора). Это значение можно настраивать;
- Circuit ID (порт с которого пришел запрос). Это значение не настраивается.
По умолчанию коммутатор, использующий DHCP snooping, обнаруживает и отбрасывает любой DHCP-запрос содержащий опцию 82, который он получил через ненадёжный порт.
Этот режим стоит оставить, если коммутатор соединен с конечными клиентами. Получение запроса с опцией 82 от клиента будет говорит об атаке, которую коммутатор должен предотвратить.
Но если функция DHCP snooping включена на нескольких коммутаторах, которые соединены последовательно, то такое поведение по умолчанию, приведет к тому, что клиенты не смогут получить адрес по DHCP (если сервер находится через несколько коммутаторов).
В приведенной схеме такая проблема возникнет:
- Когда sw1 получает запрос от хоста, он проверяет его и, если все в порядке, отправляет дальше. Но при этом, в этот запрос вставляется опция 82
- sw2, при получении запроса на ненадёжном интерфейсе, опять выполняет проверки и, увидев опцию 82 в запросе, отбрасывает его
Есть три способа решения этой проблемы:
- Сделать порт a5 на коммутаторе sw2 доверенным
- Хотя тогда запросы от хостов и не будут проверяться, чаще всего, это не страшно, так как, все запросы клиентов уже были проверены на sw1
- Сохранить опцию 82 в пришедшем пакете
- Заменить опцию 82 в пришедшем пакете
Настройка DHCP snooping на коммутаторах ProCurve
Включить DHCP snooping:
Источник: darksf.ru
02. DHCP snooping
С помощью DHCP snooping коммутатор контролирует процесс получения DHCP-клиентом IP-адреса для предотвращения атак DHCP и появления не легитимных DHCP-серверов в сети, устанавливая доверенные и недоверенные порты. Сообщения из доверенных портов передаются коммутатором без проверки.
Обычно, доверенные порты используются для подключения DHCP-сервера или DHCP relay, а недоверенные — для подключения DHCP-клиентов. Коммутатор передает сообщения DHCP-запросов из недоверенных портов, но не передает DHCP-ответы. Кроме того, при получении DHCP-ответа из недоверенного порта, коммутатор может выполнить предварительно настроенное действие: shutdown или blackhole. Если включена функция DHCP Snooping Binding, то после каждого успешного получения IP адреса через DHCP коммутатор создаст запись в таблице, которая свяжет полученный IP-адрес с MAC-адресом DHCP-клиента, номером его VLAN и порта. C помощью этой информации можно реализовать контроль доступа пользователей.
2.2. Настройка DHCP snooping
- Включить DHCP Snooping;
- Включить DHCP Snooping Binding;
- Задать адрес DHCP сервера;
- Настроить доверенные порты;
- Включить функцию привязки DHCP Snooping binding к пользователю;
- Добавить запись DHCP Snooping binding вручную;
- Задать действие при получении DHCP-ответа из недоверенного порта;
- Задать лимит скорости передачи сообщений DHCP;
- Отладочная информация;
- Включить DHCP Snooping
Команда
Описание
ip dhcp snooping enable
no ip dhcp snooping enable
! В режиме глобальной конфигурации
Включить функцию DHCP snooping
Выключить функцию DHCP snooping
ip dhcp snooping vlan
no ip dhcp snooping vlan
! В режиме глобальной конфигурации
Включить функцию функцию DHCP snooping для VLAN
Выключить функцию функцию DHCP snooping для VLAN
2. Включить DHCP Snooping Binding
Команда
Описание
ip dhcp snooping binding enable
no ip dhcp snooping binding enable
! В режиме глобальной конфигурации
Включить функцию DHCP snooping binding
Выключить функцию DHCP snooping binding
3. Задать адрес DHCP сервера
Команда
Описание
ip user helper-address A.B.C.D [port ] source (secondary|)
no ip user helper-address (secondary|)
! В режиме глобальной конфигурации
Задать адрес DHCP сервера для пользователя
Удалить адрес DHCP сервера для пользователя
4. Настроить доверенные порты
Команда
Описание
ip dhcp snooping trust
no ip dhcp snooping trust
! В режиме конфигурирования интерфейса
Назначить порт в качестве доверенного
Назначить порт в качестве недоверенного (по-умолчанию)
5. Включить функцию привязки DHCP Snooping binding к пользователю
Команда
Описание
ip dhcp snooping binding user-control [vlan] [max-user]
no ip dhcp snooping binding user-control [vlan] [max-user]
! В режиме конфигурирования интерфейса
Включить функцию привязки пользователя к IP-адресу, VLAN текущему порту и VLAN, vlan — включить функцию во VLAN, max-user — задать максимальное количество пользователей. Для работы функционала обязательно указание параметров vlan и max-user.
Выключить функцию привязки пользователя к IP-адресу, VLAN текущему порту и VLAN
6. Добавить запись DHCP Snooping binding вручную
Команда
Описание
ip dhcp snooping binding user address interface (ethernet|)
no ip dhcp snooping binding user interface (ethernet|)
! В режиме глобальной конфигурации
Добавить статическую запись в таблицу DHCP Snooping binding
Удалить статическую запись в таблицу DHCP Snooping binding
7. Задать действие при получении DHCP-ответа из недоверенного порта
Команда
Описание
no ip dhcp snooping action
! В режиме конфигурирования интерфейса
Задать действие при получении DHCP-ответа из недоверенного порта: shutdown — выключить порт, blackhole — отбросить кадры с MAC источника, с которым были получены DHCP-ответы. recovery — время восстановления в секундах .
Удалить действие при получении DHCP-ответа из недоверенного порта (по умолчанию)
8. Задать лимит скорости передачи сообщений DHCP
Команда
Описание
ip dhcp snooping limit-rate
no ip dhcp snooping limit-rate
! В режиме глобальной конфигурации
Задать лимит скорости передачи сообщений DHCP от 0 до 100 pps.
Удалить лимит скорости передачи сообщений DHCP (по-умолчанию)
9. Просмотр записей в таблице DHCP snooping binding
Команда
Описание
show ip dhcp snooping binding all
! В привилегированном режиме
Отобразить все записи в таблице DHCP snooping binding
10. Отладочная информация
Команда
Описание
debug ip dhcp snooping packet
debug ip dhcp snooping event
debug ip dhcp snooping update
debug ip dhcp snooping binding
! В привилегированном режиме
Отобразить отладочную информацию
2.3. Пример настройки DHCP snooping
Рисунок 40.1 — Настройка DHCP snooping
Как показано на рисунке 40.1, ПК1 подключен к недоверенному порту 1/0/1 коммутатора Switch1 и получает конфигурацию через DHCP, IP-адрес клиента 10.10.10.5. DHCP-сервер и шлюз подключены к портам коммутатора 1/0/11 и 1/0/12 соответственно, настроенным как доверенные. Злоумышленник ПК2, подключенный к недоверенному порту 1/0/2 пытается подделать DHCP-сервер, посылая ложные DHCPACK. Функция DHCP snooping эффективно обнаружит и заблокирует такой тип атаки.
Конфигурация коммутатора Switch1:
Switch1(config)#ip dhcp snooping enable Switch1(config)#interface ethernet 1/0/11 Switch1(Config-Ethernet1/0/11)#ip dhcp snooping trust Switch1(Config-Ethernet1/0/11)#exit Switch1(config)#interface ethernet 1/0/12 Switch1(Config-Ethernet1/0/12)#ip dhcp snooping trust Switch1(Config-Ethernet1/0/12)#exit Switch1(config)#interface ethernet 1/0/1-2 Switch1(Config-Port-Range)#ip dhcp snooping action shutdown
2.4. Решение проблем с конфигурацией DHCP snooping
- Проверьте, включен ли DHCP-snooping;
- Если порт не реагирует на ложные DHCP сообщения, проверьте, настроен ли этот порт как недоверенный.
- Нет меток
Источник: nag.wiki
Что такое 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 серии гигабитные стекируемые управляемые коммутаторы могут полностью использовать эту функцию для защиты вашей сети.
Источник: community.fs.com