Служба DNS: варианты сбора информации о хостах
  • Категории
  • Подписка
  • Разместить статью
21/09/10 9 6807 Атаки на службу DNS
-

Служба DNS: варианты сбора информации о хостах

Почему служба DNS является стратегически важной в вопросе безопасности? Потому что в настоящее время с ее по­мощью осуществляется преобразование имен узлов в их IP-адреса и наоборот. Это необходимо каждый раз при отправке почты, открытии Web-страницы или загрузке файла по сети. В прошлом, когда к Internet-у было подключено несколько десятков хостов, чтобы иметь возможность обращаться к удаленному компьютеру по его символьному имени, администраторы добавляли новые строки в файл /etc/hosts. Сейчас, насколько мы понимаем – это просто абсурдно.

Для Linux службы DNS-сервера в частности реализуются посредством пакета BIND, созданного и под­держиваемого консорциумом ISC (Internet Software Consortium), который, помимо BIND, занимается поддержкой DHCP и INN. В настоящее время актуальными являются версии 9.6-ESV-R1, 9.7.1-P2 и 9.7.2

Причина популярности DNS-сервера BIND заключается в том, что он доступен практиче­ски для всех дистрибутивов Linux. Но есть и альтернативные возможности. Например, про­грамма DNS-сервера под названием DJBDNS (последняя версия — 1.05 от 11.02.2001), созданная Дэном Бернштейном. Согласно ли­цензии Бернштейна, невозможно распространение кода этого DNS-сервера при внесении ка­ких-либо изменений, чем и объясняется его низкая популярность. Однако программный код написан очень удачно, и DJBDNS обладает высокой производительностью, надежностью и безопасностью. Дэн Бернштейн даже установил награду в 500$ любому, кто найдет в его про­грамме ошибку, связанную с проблемой безопасности, но еще никто не откликнулся. Прочитать указания по установке этой программы и скачать ее программный код можно по адресу http://cr.yp.to/djbdns.html.

Поиск информации в базах данных DNS

Рассмотрим простой пример поиска информации об определенном компьютере (www. example.net) с помощью команды host.

machine$ host www.example.net

www.example.net has address 172.26.105.20

www.example.net mail is handled (pri=10) by mailhost.example.net

www.example.net mall is handled (pri=20) by mailbackup.example.net

В данном случае команда host позволяет получить информацию об IP-адресе хоста www.example.net (172.26.105.20) и сведения из записей MX (вывод по умолчанию ин­формации записей MX зависит от используемой версии утилиты host и конфигурации серве­ра имен, к которому осуществляется подключение). Ту же информацию можно получить с по­мощью уже устаревшей утилиты nslookup. Лучше использовать host, так как она выдает более компактные ответы, и к тому же rороче чем nslookup на 4 символа. :]

Кроме указанных выше команд, существуют и другие средст­ва, которые позволяют получать информацию (с той или иной степенью детализации) из баз данных DNS-сервера. Среди них можно выделить очень удобную утилиту dig. В код DNS-сервера DJBDNS также входят несколько мощных средств поиска информации, например программа dnstrace, которая позволяет вывести список всех DNS-cepвepoe, которые принимают участие в определении IP-адреса по имени хоста (начиная с корневого сервера).

Проблемы безопасности DNS-сервера

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

Поиск информации в записях описания ресурсов DNS-сервера

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

SOA (Start of Authority) – начало полномочий

Включает в себя почтовый адрес администратора DNS-сервера и несколько чисел, которые определяют период обновления данных, время жизни (интервал действия информации в кэше сервера), срок дейст­вия данных о зоне и интервал между повторными по­пытками переноса зоны.

A (Address) – адресная запись

Содержит доменное имя компьютера и соответст­вующий ему IP-адрес.

CNAME (Canonical Name) – каноническое имя

Определяет синоним (псевдоним) реального домен­ного имени машины, заданного в записи A (Address). Чем-то напоминает символьную ссылку.

PTR (Pointer) – указатель доменного имени

Позволяет отобразить доменное имя хоста по его IP-адресу.

HINFO (Host In­formation) – информация о хосте

В данной записи указывается конфигурация (аппарат­ное обеспечение) компьютера и установленная на нем операционная система.

TXT (Text) – дополнительная ин­формация

Содержит дополнительную информацию о компьюте­ре, как правило, о eго предназначении и/или месторасположении.

RP (Responsible Person) – ответственное лицо

Почтовый адрес человека, ответственного за работу данного компьютера.

При вызове команды host без указания опций по умолчанию выполняется вывод информации из записей A, CNAME и МХ. Поэтому в вышеприведенном примере была выведена более расширенная информация, а не только IP-адрес.

Используя опцию -t для команды host, можно получить информацию указанных записей.

machine$ host -t txt example.com

www.example.com descriptive text «Located in Building 1, Chicago»

Кроме того, вместе с опцией -t можно использовать универсальный символ * или выраже­ние «any» для получения всей доступной информации о хосте:

machine$ hose -t ‘*’ www.example.net

www.example.net responsible person brandt@example.com info.example.com

www.example.net host information UltraSparc 5 Linux 2.0

www.example.net descriptive text «Located in Building 1, Chicago»

www.example.net has address 172.26.105.20

www.example.net mail is handled (pri=10) by mailhost.example.net

www.example.net mail is handled (pri=20) by mailbackup.example.net

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

Способы противодействия поиску информации в записях DNS-сервера

При создании DNS-записей вручную убедитесь, что они не содержат опасной информа­ции, которая будет общедоступна. Записи HINFO и ТХТ можно оставить пустыми. PR-записи могут пригодиться в тех случаях, когда нужна срочная связь с администратором, например, для его оповещения о подозрительных действиях, источником которых является один из вверен­ных ему хостов. Но при этом все же следует соблюдать осторожность. Не будем забывать, что почтовый адрес может быть использован для разных целей, хотя бы для рассылки рекламных сообщений или спама.

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

________________________________________

Заводить новые знакомства, слушать песни (см. music.connect.ua), смотреть видео, выкладывать интересные фото, весело общаться с друзьями поможет украинская социальная сеть «CoNNect.ua».


9 комментариев на «“Служба DNS: варианты сбора информации о хостах”»

  1. Николай:

    Не назову это чем то особенно классным, но почитал и не пожалел. Спасибо.

  2. swordfish:

    Весьма интересно, что написал. Умеешь разложить по полочкам та и еще с примерами доп. информации. Спасибо!

  3. Инна:

    Прочла 2 раза, так и ничего не поняла ! Ах вы дядьки хакеры…

  4. макс:

    интересно, пришлось два раза читать.

  5. NETZON:

    Спасибо автору. Очень полезная информация.

  6. Ника:

    спасибо за дельную информацию!

  7. Отличная статья, то что нужно, спасибо

  8. Aleks-Gold:

    Спасибо за столь интересную статью!

  9. Ольга:

    Инна, +1. Но очень уж хочется во всем этом разобраться.

Добавить комментарий

Яндекс.Метрика