Безопасность DHCP-сервера (часть 1)

Опубликовано: 13 Апреля, 2023

Хотя DHCP-серверы имеют решающее значение для работы большинства корпоративных сетей, безопасность DHCP-сервера часто является одной из самых недооцененных областей сетевой безопасности. Одной из причин этого может быть простота работы DHCP: DHCP-клиенты рассылают сообщения обнаружения (DHCPDISCOVER), содержащие их MAC-адреса, а DHCP-серверы отвечают, предлагая (DHCPOFFER) аренду IP-адреса и других параметров TCP/IP, которые может использовать клиент. общаться в сети. Клиент отвечает (DHCPREQUEST) на первое полученное им предложение об аренде, а сервер подтверждает (DHCPACK) запрос и помечает адрес как арендованный в своей базе данных DHCP. Вот и все, кому нужно беспокоиться о безопасности?


Атака на DHCP


К сожалению, сама простота DHCP на самом деле является проблемой с точки зрения безопасности. Во время обмена данными между сервером DHCP и клиентом DCHP не выполняется аутентификация или авторизация, поэтому сервер не может узнать, является ли клиент, запрашивающий адрес, законным клиентом в сети, а клиент не может узнать, является ли сервер которому назначен адрес, является легитимным сервером DHCP. Возможность мошеннических клиентов и серверов в вашей сети может создать всевозможные проблемы.


Например, мошеннический DHCP-сервер может предоставить законным клиентам поддельную информацию TCP/IP, которая не позволяет клиентам обмениваться данными по сети. Затем возникает состояние отказа в обслуживании (DoS), и пользователи не могут подключаться к сетевым ресурсам для выполнения своей работы. Настройка мошеннического DHCP-сервера может быть такой же простой, как проведение атаки социальной инженерии для получения физического доступа к вашей сети и подключение ноутбука, настроенного в качестве DHCP-сервера.


В другом сценарии злоумышленник может скомпрометировать клиентский компьютер в вашей сети и установить программное обеспечение, которое неоднократно запрашивает новые IP-адреса, используя поддельные MAC-адреса, пока не будет арендован весь пул адресов в области вашего DHCP-сервера. Когда это происходит, законные клиенты, которые загружаются в сеть, не могут получить адрес, и снова пользователи не могут получить доступ к сети и не могут выполнять свою работу.


Более зловещий результат возникает, когда злоумышленник нарушает сетевую безопасность и получает контроль над вашими собственными DHCP-серверами. В этот момент злоумышленник может приступить к изменению DHCP-сервера, чтобы назначить клиентам неверные настройки подсети и, таким образом, создать еще одно условие DoS. Или они могут изменить сервер, чтобы назначить клиентам неправильные настройки DNS и перенаправить клиентов на мошеннические или взломанные DNS-серверы, которые затем могут перенаправить клиентов на враждебные веб-сайты, где они неосознанно загружают троян. Или они могут изменить сервер, чтобы назначить адрес собственной машины злоумышленника в качестве шлюза по умолчанию, что приводит к перенаправлению исходящего клиентского трафика на машину злоумышленника, которая захватывает и считывает трафик и перенаправляет его на настоящий шлюз по умолчанию. В результате раскрывается конфиденциальная бизнес-информация, при этом пользователи даже не подозревают о том, что происходит.


Что еще хуже, если вы используете свой DHCP-сервер на контроллере домена, злоумышленник, который скомпрометирует ваш DHCP-сервер, получит доступ к базе данных ваших учетных записей и может вызвать всевозможные дополнительные проблемы. В результате, как правило, ваш худший кошмар. К счастью, есть некоторые меры, которые вы можете предпринять, чтобы защитить свои DHCP-серверы и избежать многих из этих сценариев, при условии, что вы также следуете всем обычным передовым методам защиты сетей на базе Windows. Давайте рассмотрим некоторые конкретные угрозы для DHCP в вашей сети и контрмеры, которые вы можете предпринять, чтобы смягчить эти различные угрозы.


Угрозы и контрмеры


На первый взгляд, требование, чтобы DHCP-серверы Windows 2000 и Windows Server 2003 были авторизованы в Active Directory, прежде чем они смогут начать аренду адресов запрашивающим клиентам, похоже, снижает угрозу мошеннических DHCP-серверов в вашей сети. Авторизация означает, что когда DHCP-сервер Windows 2000 или Windows Server 2003 загружается в сеть Active Directory, он сначала связывается с контроллером домена, чтобы проверить, найден ли его собственный IP-адрес в списке авторизованных DHCP-серверов, поддерживаемом контроллером домена. Если DHCP-сервер определяет, что ему разрешено сдавать адреса клиентам в аренду, он начинает это делать. Если это не авторизовано, Windows отключает службу DHCP-сервера на машине, чтобы она не могла арендовать адреса.


Настоящим преимуществом этого является защита вашей сети от законных DHCP-серверов, которые плохо настроены, хотя у этого есть дополнительный побочный эффект защиты от случайных или мошеннических DHCP-серверов, работающих под управлением Windows 2000 или Windows Server 2003. Что произойдет, если злоумышленник скомпрометирует ваш сети с мошенническим DHCP-сервером, не работающим под управлением Windows 2000 или Windows Server 2003? В этом случае авторизация не поможет, поскольку DHCP-серверы сторонних производителей могут не отвечать так же, как серверы Microsoft, на сообщения DHCPINFORM, которые Windows использует для проверки авторизации DHCP-серверов. Даже DHCP-серверы Windows NT подпадают под эту категорию, так что злоумышленник с ноутбуком, работающим под управлением Windows NT в качестве мошеннического DHCP-сервера, остается безнаказанным. К счастью, есть и другие способы обнаружения мошеннических DHCP-серверов, и мы рассмотрим их позже во второй части этой статьи. Но убедиться, что ваши DHCP-серверы правильно авторизованы, по-прежнему является важным первым шагом в сдерживании мошеннических серверов в вашей сети.


Мошеннические клиенты — это совсем другая проблема, поскольку DHCP предназначен для того, чтобы клиенты могли легко получать IP-адреса, чтобы они могли участвовать в сети. Очевидным способом решения проблемы мошеннических клиентов поначалу может показаться резервирование DHCP, хотя в больших сетях это влечет за собой значительные административные издержки. Резервирование — это предопределенный параметр, который сопоставляет MAC-адрес с IP-адресом, чтобы только клиент с определенным MAC-адресом мог арендовать IP-адрес, связанный с этим резервированием. Если безопасность критична, администратор может создать резервирование для каждой клиентской машины в сети, и если незарезервированные IP-адреса все еще остаются в копировании DHCP-сервера, то они могут быть зарезервированы с использованием недействительных или несуществующих MAC-адресов. Затем, когда мошеннический клиент пытается загрузиться в сети, в результате у DHCP-сервера нет свободных адресов для аренды, и клиент не может подключиться.


Если бы это было так просто. Хотя такой подход может помешать случайной атаке, у опытных злоумышленников есть способы обойти резервирование DHCP. Самый простой подход для злоумышленника — запустить программу, которая прослушивает широковещательные рассылки DHCPDISCOVER от клиентов и собирает их MAC-адреса. Затем, когда законный клиент завершает работу, мошеннический клиент может перенастроить свой MAC-адрес, чтобы он совпадал с адресом законного клиента, и захватить аренду легитимного клиента или попытаться прервать связь для клиента. Учитывая это, заботящиеся о безопасности администраторы могут рассмотреть возможность полного отказа от DHCP в пользу статической адресации, но что помешает злоумышленнику, имеющему физический доступ к вашей сети, назначить статический адрес своей машине и присоединиться к сети? Можно пойти еще дальше и установить брандмауэр для каждого клиента в вашей сети и настроить его так, чтобы он разрешал связь только с разрешенными IP-адресами легитимных клиентов, но представьте себе административную головную боль, которая может возникнуть. Итак, суть в том, что единственный способ действительно защитить вашу сеть от мошеннических DHCP-клиентов (а также мошеннических DHCP-серверов) — это строгая физическая безопасность, то есть отсутствие незащищенных розеток, запертых дверей, персонала, обученного распознавать попытки социальной инженерии, и так далее.


Однако, даже если ваша сеть физически защищена, она также должна быть защищена с точки зрения входа в сеть. Если злоумышленник может проникнуть через защиту вашего периметра и каким-то образом скомпрометировать DHCP-сервер, то могут быть предприняты попытки нескольких видов эксплойтов, включая изменение записей ресурсов DNS при использовании динамического DNS (DDNS), повреждение базы данных DHCP и получение доступа к конфиденциальной информации. такие как детали схемы адресации вашей сети и зарезервированные адреса важных серверов. Базовые передовые методы обеспечения безопасности, такие как брандмауэры по периметру и мониторинг вторжений, безусловно, являются вашей линией фронта в предотвращении компрометации ваших DHCP-серверов, но есть также некоторые процедуры мониторинга, специфичные для DHCP, которым вы можете следовать, и которые мы рассмотрим во второй части этой статьи позже..


Резюме


Давайте посмотрим на наш список лучших практик для обеспечения безопасности DHCP в вашей сети. Мы дополним этот список во второй части некоторыми конкретными шагами, которые вы можете выполнить в сетях на базе Windows, но сейчас обязательно начните хотя бы со следующего, если вы хотите защитить свою сеть от эксплойтов DHCP:



  • Обеспечьте строгую физическую безопасность и защиту периметра вашей сети и будьте бдительны в поддержании такой безопасности.
  • Обновите все устаревшие домены Windows NT, чтобы вы могли использовать функцию авторизации DHCP-сервера Active Directory.
  • Избегайте использования контроллеров домена Windows 2000 или Windows Server 2003 в качестве серверов DHCP.
  • Используйте резервирование для назначения адресов критически важных серверов в вашей сети или используйте вместо них статические адреса.

Во второй части этой статьи мы продолжим обсуждение того, как включить аудит DHCP-серверов, контролировать членство в группе DHCPAdministrators с помощью функции групп с ограниченным доступом в Windows Server 2003, обеспечивать безопасную работу DNS с DHCP и использовать различные инструменты для обнаружения мошеннические DHCP-серверы в вашей сети.