Сведение к минимуму влияния DOS-атак и переполнения на ваши DNS-серверы

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

DNS является неотъемлемой частью основных служб, необходимых для всех сетей Windows 2000. Если DNS подвергнется DOS-атаке, организация может столкнуться с серьезными последствиями. Крайне важно обеспечить максимально возможную безопасность DNS, поскольку множество серверов, таких как Microsoft ISA, exchange 2000 и любое другое коммуникационное программное обеспечение, серьезно зависят от безупречной работы DNS.

Настоятельно рекомендуется, чтобы администратор безопасности часто посещал веб-сайты, на которых публикуются уязвимости и где многие вопросы обсуждаются на открытом форуме. Это даст вам представление о взломщике и позволит лучше защитить вашу сеть от соответствующих попыток вторжения. В Интернете очень мало информации об уязвимостях, которая не публикуется, а новости распространяются со скоростью света. Как только обнаруживаются новые уязвимости, сотни хакеров одновременно обновляются, и гонка начинается. Хакеры спешат на известные веб-сайты, пытаясь найти недавно обнаруженные уязвимости и используя все возможности, чтобы использовать новое открытие. Это дает небольшим организациям возможность обновить свое программное обеспечение. ИТ-специалистам важно отметить, что крупные организации принимают меры, предупреждающие их о новых уязвимостях. Такие приложения, как LANguard от GFI, имеют возможности обнаружения вторжений на хост, которые информируют администраторов о потенциальных вторжениях. Всегда помните, что когда хакеры обнаруживают, что крупные организации не имеют уязвимостей, следующей целью становятся более мелкие публичные компании. Обновляйте свои машины и держите их в актуальном состоянии, потому что подземный мир всегда на охоте.

Безопасность должна быть жестко запрограммирована в дизайне DNS

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

  • Убедитесь, что DNS-сервер находится за брандмауэром.
  • Используйте брандмауэр для выполнения DNS-запросов; это значительно снижает организационный риск DNS.
  • Убедитесь, что DNS-серверы объединены в кластер.
  • Не объединяйте DNS-серверы в цепочку, так как эта стратегия имеет свои недостатки.
  • Удалите другие службы с ваших DNS-серверов, так как уязвимости могут быть использованы в плохо написанном программном обеспечении.
  • Сканируйте DNS-машину и убедитесь, что нет других прослушиваемых портов, кроме обычных портов DNS.

Различные сценарии дизайна.

1. Защитите дизайн DNS: обычно проекты DNS включают в себя основной DNS-сервер и несколько клиентских DNS-серверов, известных как главные подчиненные. Первичные DNS-серверы должны размещаться организацией, а дополнительные клиентские DNS-серверы ссылаются на первичный главный DNS-сервер. Ваш основной DNS-сервер должен иметь защиту маршрутизатора и брандмауэра, поскольку он создает среду DMZ.

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

3. Схема аварийного переключения DNS: дублирование жизненно важно при реализации DNS. Множество приложений полагаются на DNS для разрешения имен в многоплатформенных средах. HTTP, SMTP и многие другие приложения Windows требуют DNS. Хорошо иметь хорошо разработанную и реализованную стратегию отработки отказа. Надежная конструкция должна включать как минимум два внутренних DNS-сервера на каждый набор из 500 пользователей. DNS-серверы должны быть распределены по всей компании в качестве стратегии балансировки нагрузки, и с помощью монитора производительности вы должны определить сегменты, которым нужны собственные DNS-серверы. Кроме того, если сегменты разделены каналами глобальной сети, рекомендуется иметь DNS-серверы на каждой стороне, чтобы предотвратить перемещение клиентов по медленным каналам глобальной сети для разрешения доменных имен. Вторичные DNS-серверы должны быть настроены на локальном сервере DHCP/WINS на каждом сайте.

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

4. Защита локальной сети. В качестве дополнительного уровня защиты рекомендуется установить хороший HIDS на DNS-сервере на случай, если злоумышленник затаится. Отличным проверенным программным обеспечением будет LANguard от GFI. Это хорошая идея, чтобы распределить ваши DNS-серверы по разным подсетям, так как интересный урок можно извлечь из исторической атаки на DNS-серверы Microsoft за последние 5 лет.

Рисунок A: На приведенной выше диаграмме показаны различные уровни защиты, которые могут быть реализованы против DOS-атак.

  1. Первым уровнем защиты обычно является ваш интернет-маршрутизатор. Ваш интернет-маршрутизатор может иметь списки доступа, в которых указывается, что при обмене данными с определенным IP-адресом в DMZ пакетные транзакции могут выполняться только на определенных портах для определенных машин. Таким образом, злоумышленник будет ограничен только портами по умолчанию на DNS-сервере, что может оказаться очень полезным и еще больше усугубит недостатки операционной системы виртуальным способом. Это не является оправданием для того, чтобы не обновлять свои исправления и программное обеспечение IDS, оставляя программное обеспечение IDS и операционные системы полностью исправленными, а также укреплять ваш защитный механизм.

  2. Если злоумышленник проникнет через маршрутизатор, он попадет на ваш брандмауэр. Брандмауэры можно настроить на отбрасывание последовательных пакетов или пакетов SYN со злым умыслом. Обеспечение того, чтобы ваш брандмауэр поддерживал полную проверку состояния пакета, является преимуществом и гарантирует, что ни один пакет не пройдет без запроса.

  3. Если эти предыдущие системы защиты откажут, IDS должна пометить DOS-атаку. Приложения HIDS устанавливаются локально на целевых машинах и могут быть настроены для оповещения администраторов о попытках вторжения или злонамеренных действиях. Кластер должен оставаться в рабочем состоянии, но это вопрос времени, когда злоумышленник поймет, что другие DNS-серверы обслуживают запрос. Действуйте быстро, если хотите, чтобы ваша организация не спала.

DNS-имя хоста переполняется

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

Длина DNS переполняется

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

Об этой уязвимости и о простом решении написана статья (Настройте ISA, чтобы включить фильтр обнаружения вторжений DNS). Эту статью можно найти на сайте www.isaserver.org.

Предлагаемые параметры реестра, помогающие предотвратить атаки

Сначала примените следующие параметры реестра к тестовой среде, и если вы довольны тем, что они работают должным образом, используйте их в реальной среде. Обратите внимание, что перед внесением изменений в исходный реестр необходимо всегда делать резервную копию. Эти параметры реестра использовались для снижения вероятности атак типа «отказ в обслуживании» (DoS) на любых компьютерах с Windows.

На приведенной выше диаграмме показано, где будут внесены изменения в реестр после резервного копирования. Ключ будет HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. Все создаваемые имена значений будут иметь тип значения Reg_dword.

  1. Создайте имя значения с именем EnableDeadGWDetect, установите для него значение 0. Это позволяет стеку TCP/IP переключаться на альтернативный шлюз, когда с соединением возникает проблема. Контролируйте оба шлюза, чтобы решить проблему, которая может возникнуть в случае атаки DOS.
  2. Создайте имя значения с именем EnablePMTUDiscovery, установите для него значение 0. Это позволит TCP/IP определить максимальную единицу передачи (MTU), которая может быть передана по маршруту к компьютеру. Установив значение на 0, вы принудительно передаете 576 байт.
  3. Создайте имя значения с именем KeepAlive, установите значение 300 000 для этой проверки, чтобы увидеть, доступны ли удаленные системы, и отключите форму в течение периода проверки активности, если не получен ответ.
  4. Создайте имя значения с именем SynAttackProtect, установите значение 2, тем самым защищая компьютер от точного типа атаки типа «отказ в обслуживании», известной как атака SYN Flood. Атаки SYN Flood препятствуют типичному рукопожатию TCP с подтверждением, в котором участвуют клиент и сервер.

На приведенной выше диаграмме процесс SYN изображен так, как он должен происходить.

Атака SYN будет представлена, когда сервер получит переполнение запросов на подключение от поддельного компьютера. Сервер ожидает получения окончательного сообщения ACK от клиента, это приводит к тому, что память сервера заполняется недействительными запросами на соединение, и когда реальные компьютеры пытаются установить соединение, сервер не может обслужить запросы, и создается отказ в обслуживании.

Вывод

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