Служба 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.
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-сервера
Даже если на компьютере установлена полностью безопасная версия DNS-сервера, которая не имеет уязвимых мест для проведения известных на сегодня атак, это еще не означает, что собственный DNS-сервер не может быть использован против его владельца. Конфигурация сервера имен, принципы назначения имен хостов, а также некоторые DNS-записи могут предоставлять хакеру намного больше полезной информации, чем это можно было бы предположить. Давайте рассмотрим несколько наиболее распространенных способов поиска хакерами информации в базах данных DNS.
Поиск информации в записях описания ресурсов DNS-сервера
Файлы базы данных DNS-сервера состоят из записей, большинство из которых не связаны с установлением соответствия между именами узлов и их IP-адресами. Информация этих полей позволяет хакеру получить ценные данные, которые могут быть использованы для проведения атак. Рассмотрим некоторые из этих записей.
Включает в себя почтовый адрес администратора DNS-сервера и несколько чисел, которые определяют период обновления данных, время жизни (интервал действия информации в кэше сервера), срок действия данных о зоне и интервал между повторными попытками переноса зоны.
Содержит доменное имя компьютера и соответствующий ему IP-адрес.
Определяет синоним (псевдоним) реального доменного имени машины, заданного в записи A (Address). Чем-то напоминает символьную ссылку.
Позволяет отобразить доменное имя хоста по его IP-адресу.
В данной записи указывается конфигурация (аппаратное обеспечение) компьютера и установленная на нем операционная система.
Содержит дополнительную информацию о компьютере, как правило, о eго предназначении и/или месторасположении.
Почтовый адрес человека, ответственного за работу данного компьютера.
Используя опцию -t для команды host, можно получить информацию указанных записей.
www.example.com descriptive text «Located in Building 1, Chicago»
Кроме того, вместе с опцией -t можно использовать универсальный символ * или выражение «any» для получения всей доступной информации о хосте:
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».
Твитнуть
Не назову это чем то особенно классным, но почитал и не пожалел. Спасибо.
Весьма интересно, что написал. Умеешь разложить по полочкам та и еще с примерами доп. информации. Спасибо!
Прочла 2 раза, так и ничего не поняла ! Ах вы дядьки хакеры…
интересно, пришлось два раза читать.
Спасибо автору. Очень полезная информация.
спасибо за дельную информацию!
Отличная статья, то что нужно, спасибо
Спасибо за столь интересную статью!
Инна, +1. Но очень уж хочется во всем этом разобраться.