DHCP snooping
DHCP snooping.
Содержание
1 Общая информация
- DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP.
- Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.
- DHCP snooping позволяет:
- защитить клиентов в сети от получения адреса от неавторизованного DHCP-сервера;
- регулировать какие сообщения протокола DHCP отбрасывать, какие перенаправлять и на какие порты.
- Для правильной работы DHCP snooping, необходимо указать какие порты коммутатора будут доверенными (trusted), а какие — ненадёжными (untrusted).
- Ненадёжные (Untrusted) порты: порты, к которым подключены клиенты.
- DHCP-ответы, приходящие с этих портов отбрасываются коммутатором.
- Для ненадёжных портов выполняется ряд проверок сообщений DHCP и создаётся база данных привязки DHCP (DHCP snooping binding database).
- Доверенные (Trusted) порты: порты коммутатора, к которым подключён другой коммутатор или DHCP-сервер.
- DHCP-пакеты полученные с доверенных портов не отбрасываются.
2 Принципы работы DHCP snooping
- По умолчанию коммутатор отбрасывает DHCP-пакет, который пришел на ненадёжный порт, если:
- приходит одно из сообщений, которые отправляет DHCP-сервер (DHCPOFFER, DHCPACK, DHCPNAK или DHCPLEASEQUERY);
- приходит сообщение DHCPRELEASE или DHCPDECLINE, в котором содержится MAC-адрес из базы данных привязки DHCP, но информация об интерфейсе в таблице не совпадает с интерфейсом, на котором был получен пакет;
- в пришедшем DHCP-пакете не совпадают MAC-адрес указанный в DHCP-запросе и MAC-адрес отправителя;
- приходит DHCP-пакет, в котором есть опция 82.
3 Опция 82
- По умолчанию коммутатор на котором включен DHCP snooping, вставляет опцию 82 в DHCP-запросы.
- Коммутатор может изменять или вставлять опцию 82, даже если клиент и сервер находятся в одной подсети.
- При вставке опции 82, коммутатор вставляет два значения:
- Remote ID (MAC-адрес или IP-адрес коммутатора) (это значение можно настраивать);
- Circuit ID (порт с которого пришел запрос) (это значение не настраивается).
- По умолчанию коммутатор, использующий DHCP snooping, обнаруживает и отбрасывает любой DHCP-запрос содержащий опцию 82, который он получил через ненадёжный порт.
- Этот режим стоит оставить, если коммутатор соединен с конечными клиентами. Получение запроса с опцией 82 от клиента будет говорит об атаке, которую коммутатор должен предотвратить.
- Но если функция DHCP snooping включена на нескольких коммутаторах, которые соединены последовательно, то такое поведение по умолчанию, приведет к тому, что клиенты не смогут получить адрес по DHCP (если сервер находится через несколько коммутаторов).
- Решения этой проблемы:
- Сделать порт, к которому подсоединён нижележащий коммутатор, доверенным.
- Настроить варианты обработки опции 82 на вышележащем коммутаторе:
- сохранить опцию 82 в пришедшем пакете;
- заменить опцию 82 в пришедшем пакете.
- Отключить вставку опции 82 на коммутаторе.
4 DHCP-ретранслятор
- Настройки опции 82 с DHCP snooping перекрывают любые глобальные настройки указанные при настройке коммутатора для работы DHCP-ретранслятором.
- Если DHCP snooping не настроен в VLAN, то для него применяются глобальные настройки.
5 Настройка
5.1 Порядок настройки
- Настройка и проверка работы DHCP-сервера и DHCP-ретранслятора без включенного DHCP snooping.
- Включение DHCP snooping. После включения DHCP snooping на коммутаторе и в соответствующих VLAN, все порты коммутатора по умолчанию считаются ненадёжными.
- Указание доверенных портов. Те порты к которым подключены коммутаторы и которые ведут к DHCP-серверу (или порты к которым сервер подключен) должны быть настроены как доверенные.
- Настройка политики обработки опции 82.
- (Опционально) Включение или выключение дополнительных проверок DHCP-сообщений.
- После того, как DHCP snooping включен на коммутаторе, по мере выдачи адресов клиентам, начинает заполняться база данных привязки DHCP.
- В базе данных привязки DHCP хранятся (информация хранится только о ненадёжных портах):
- MAC-адрес клиента
- Арендованный IP-адрес клиента
- Время аренды в секундах
- Идентификатор VLAN
- Идентификатор порта к которому присоединен клиент
5.2 Коммутаторы Cisco
5.2.1 Основные настройки
Включаем глобально DHCP snoopig на коммутаторе:
1switch(config)#ip dhcp snooping
Включаем DHCP snooping в нужном VLAN:
1switch(config)#ip dhcp snooping vlan 100
Указываем доверенные порты:
5.2.2 Дополнительные настройки
- Можно отключить передачу опции 82:
1switch(config)#no ip dhcp snooping information option
- Можно настроить ограничение количества DHCP обращений на не доверенном интерфейсе:
- (Опционально) Указать адрес авторизованного DHCP-сервера, доступного через доверенный порт:
1switch(config)#ip dhcp-server 10.84.168.253
5.2.3 Команды просмотра
- Посмотреть состояние DHCP snooping:
1switch#show ip dhcp snooping
- Просмотр базы данных привязки DHCP:
1switch#show ip dhcp snooping binding