Сегодня мы рассмотрим две важные темы: DHCP Snooping и «недефолтные» Native VLAN. Перед тем, как перейти к уроку, приглашаю вас посетить другой наш канал YouTube, где вы сможете просмотреть видео о том, как улучшить свою память. Рекомендую вам подписаться на этот канал, так как там мы размещаем множество полезных советов для самоусовершенствования.
Этот урок посвящен изучению подразделов 1.7b и 1.7с тематики ICND2. Перед тем, как приступить к DHCP Snooping, давайте вспомним некоторые моменты из предыдущих уроков. Если я не ошибаюсь, мы изучали DHCP на уроках «День 6» и «День 24». Там обсуждались важные вопросы, касающиеся назначения IP-адресов DHCP-сервером и обмена соответствующими сообщениями.
Обычно, когда конечный пользователь End User входит в сеть, он посылает в сеть широковещательный запрос, который «слышат» все сетевые устройства. Если он напрямую соединен с DHCP-сервером, то запрос поступает непосредственно на сервер. Если же в сети имеются передаточные устройства – роутеры и свитчи – то запрос серверу проходит через них. Получив запрос, DHCP-сервер отвечает пользователю, тот посылает ему запрос на получение IP-адреса, после чего сервер выдает такой адрес устройству пользователя. Именно так происходит процесс получения IP-адреса в нормальных условиях. Согласно примеру на схеме, End User получит адрес 192.168.10.10 и адрес шлюза 192.168.10.1. После этого пользователь сможет выходить через этот шлюз в интернет или связываться с остальными сетевыми устройствами.
Предположим, что кроме настоящего DHCP-сервера в сети имеется мошеннический DHCP-сервер, то есть злоумышленник просто устанавливает DHCP-сервер на своем компьютере. В этом случае пользователь, войдя в сеть, точно также отсылает широковещательное сообщение, которое роутер и свитч перешлют настоящему серверу.
Однако мошеннический сервер также «слушает» сеть, и, получив broadcast-сообщение, ответит пользователю вместо настоящего DHCP-сервера своим предложением. Получив его, пользователь даст свое согласие, в результате чего получит IP-адрес от злоумышленника 192.168.10.2 и адрес шлюза 192.168.10.95.
Процесс получения IP-адреса сокращенно называется DORA и состоит из 4-х этапов: Discovery, Offer, Request и Acknowledgement. Как видим, злоумышленник выдаст устройству легальный IP-адрес, находящийся в доступном диапазоне сетевых адресов, однако вместо настоящего адреса шлюза 192.168.10.1 «подсунет» ему фальшивый адрес 192.168.10.95, то есть адрес собственного компьютера.
После этого весь трафик конечного пользователя, устремленный в интернет, будет проходить через компьютер злоумышленника. Злоумышленник будет перенаправлять его дальше, и пользователь не ощутит никакой разницы при таком способе связи, поскольку все равно сможет выходить в интернет.
Точно также обратный трафик из интернета будет поступать пользователю через компьютер злоумышленника. Это то, что принято называть атакой Man in the Middle (MiM) — «человек посередине». Весь трафик пользователя будет проходить через компьютер хакера, который сможет читать все, что тот отсылает или получает. Это один тип атаки, которая может иметь место в DHCP-сетях.
Второй тип атаки называется Denial of Service (DoS), или «отказ в облуживании». Что при этом происходит? Компьютер хакера уже не выступает в роли DHCP-сервера, теперь он просто атакующее устройство. Он посылает настоящему DHCP-серверу Discovery-запрос и получает в ответ сообщение Offer, затем отсылает серверу Request и получает от него IP-адрес. Компьютер атакующего проделывает это каждые несколько миллисекунд, всякий раз получая новый IP-адрес.
В зависимости от настроек, настоящий DHCP-сервер имеет пул из сотни или нескольких сотен вакантных IP-адресов. Компьютер хакера получат IP-адреса .1, .2, .3 и так до тех пор, пока пул адресов не будет полностью исчерпан. После этого DHCP-сервер не сможет снабжать IP-адресами новых клиентов сети. Если новый пользователь войдет в сеть, то он не сможет получить свободный IP-адрес. Вот в чем заключается смысл DoS-атаки на DHCP-сервер: лишить его возможности выдавать IP-адреса новым пользователям.
Для противостояния таким атакам используется концепция DHCP Snooping. Это функция второго уровня OSI, действующая наподобие ACL и работающая только на свитчах. Для понимания DHCP Snooping нужно рассмотреть два понятия: доверенные порты свитча Trusted и ненадежные порты Untrusted для других сетевых устройств.
Доверенные порты пропускают любой тип DHCP-сообщений. Ненадежные порты – это порты, к которым подключены клиенты, и DHCP Snooping делает так, что любые DHCP-сообщения, поступающие с этих портов, будут отбрасываться.
Если вспомнить DORA-процесс, то сообщение D поступает от клиента к серверу, а сообщение О – от сервера к клиенту. Далее от клиента к серверу направляется сообщение R, а сервер отсылает клиенту сообщение А.
Сообщения D и R от небезопасных портов принимаются, а сообщения типа O и А отбрасываются. При включении функции DHCP Snooping все порты свитча по умолчанию считаются небезопасными. Эту функцию можно использовать как в целом для свитча, так и для отдельных VLAN. Например, если к порту подключена VLAN10, можно включить эту функцию только для VLAN10, и тогда ее порт станет ненадежным.
Вам, как системному администратору, при включении DHCP Snooping придется зайти в настройки свитча и настроить порты таким образом, чтобы ненадежными считались только порты, к которым подключены устройства, подобные серверу. Имеется в виду любой тип сервера, а не только DHCP.
Например, если к порту подсоединен другой свитч, роутер или настоящий DHCP-сервер, то этот порт настраивается как доверенный. Остальные порты свитча, к которым подсоединены устройства конечных пользователей или беспроводные точки доступа, должны быть настроены как небезопасные. Поэтому любое устройство типа точки доступа, к которому подсоединяются пользователи, подключается к свитчу через untrusted-порт.
Если компьютер атакующего пошлет свитчу сообщения типа O и А, они будут заблокированы, то есть такой трафик не сможет пройти через ненадежный порт. Вот так DHCP Snooping предотвращает рассмотренные выше типы атак.
Кроме того, DHCP Snooping создает таблицы привязки DHCP. После того, как клиент получит от сервера IP-адрес, этот адрес вместе с MAC-адресом получившего его устройства будут занесены в таблицу DHCP Snooping. К этим двум характеристикам будет привязан небезопасный порт, к которому подсоединен клиент.
Это помогает, например, предотвратить DoS-атаку. Если клиент с данным MAC-адресом уже получил IP-адрес, то зачем ему требовать новый IP-адрес? В таком случае любая попытка подобной активности будет предотвращена сразу же после проверки записи в таблице.
Следующее, что мы должны обсудить – это Nondefault, или «недефолтные» Native VLAN. Мы неоднократно затрагивали тему VLAN, посвятив этим сетям 4 видеоурока. Если вы позабыли, что это такое, советую пересмотреть эти уроки.
Мы знаем, что в свитчах Cisco по умолчанию Native VLAN – это VLAN1. Существуют атаки, которые называются VLAN Hopping. Предположим, что компьютер на схеме соединен с первым свитчем дефолтной native-сетью VLAN1, а последний свитч соединен с компьютером сетью VLAN10. Между свитчами организован транк.
Обычно, когда трафик с первого компьютера поступает к свитчу, тот знает, что порт, к которому подсоединен этот компьютер, является частью VLAN1. Далее этот трафик поступает к транку между двумя свитчами, при этом первый свитч думает так: «этот трафик поступил из Native VLAN, поэтому мне не нужно снабжать его тегом», и пересылает по транку нетегированный трафик, который поступает на второй свитч.
Свитч 2, получив нетегированный трафик, думает так: «раз этот трафик без тега, значит, он принадлежит сети VLAN1, поэтому я не могу послать его по сети VLAN10». В результате посланный первым компьютером трафик не может достичь второго компьютера.
В действительности так и должно происходить – трафик VLAN1 не должен попасть в сеть VLAN10. Теперь давайте представим, что за первым компьютером находится атакующий, который создает фрейм с тегом VLAN10 и отсылает его свитчу. Если вы помните, как работает VLAN, то знаете – если тегированный трафик достигает свитча, тот ничего не делает с фреймом, а просто передает его дальше по транку. В результате второй свитч получит трафик с тегом, который был создан атакующим, а не первым свитчем.
Это значит, что вы заменяете Native VLAN на что-то, отличное от VLAN1.
Так как второй свитч не знает, кем был создан тег VLAN10, то он просто отсылает трафик второму компьютеру. Вот таким образом происходит атака типа VLAN Hopping, когда злоумышленник проникает в сеть, которая изначально была для него недоступна.
Для предотвращения подобных атак нужно создавать Random VLAN, или случайные VLAN, например VLAN999, VLAN666, VLAN777 и т.д., которые вообще не смогут использоваться злоумышленником. При этом мы переходим к транк-портам свитчей и настраиваем их на работу, например, с Native VLAN666. В данном случае мы меняем Native VLAN для транк-портов с VLAN1 на VLAN66, то есть используем в качестве Native VLAN любую сеть, отличную от VLAN1.
Порты на обеих сторонах транка нужно настроить на одну и ту же VLAN, иначе мы получим ошибку несовпадения номеров VLAN.
После такой настройки если хакер решит осуществить атаку VLAN Hopping, у него ничего не получится, потому что native VLAN1 не приписана ни к одному из транк-портов свитчей. Вот в чем заключается метод защиты от атак путем создания недефолтных native VLAN.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Автор: ua-hosting.company