DNS - это система доменных имен. Это - UDP и TCP на основе протокола, который прослушивает порт 53. TCP соединений обычно используются для передачи зоны.
В DNS совпадения адреса хостов (и хостов в адреса). А DNS сервер отвечает, или авторитетных для данной части доменное имя системы (например, mybitofthenet.com).
Клиенты с запросами о DNS серверы, когда они хотят общаться с системами, для которых они только полное имя хоста (например, myserver.mybitofthenet.com).
В DNS является важнейшим элементом сетевой инфраструктуры. Его неудачи - будь то в рамках административной некомпетентности или "отказ в обслуживании" - может иметь серьезные последствия.
|
|
В DNS протокола проблем безопасности. Подробное описание DNS и его недостатки протокола можно найти на http://www.geocities.com/compsec101/papers/dnssec/dnssec.html. DNS определяется в ряде РЛК - см. http://www.dns.net/dnsrd/rfc/ для подробной информации.
Что касается безопасности пребывания UNIX выходит, наиболее широко используемое программное обеспечение сервера DNS является BIND (Беркли Интернет Имя Daemon), разработанная в Internet Software Consortium (МКК). По умолчанию в BIND Демон "с именем" выполняется с привилегиями суперпользователя и - это важно - это не навсегда выбросить их за после обязательного к порту 53. Поэтому уязвимости в BIND может привести к полной системы компромисса.
Теперь посмотрим на показатели работы BIND.
Выпуск 8.2.3 был выпущен в январе 2001 года установить четыре уязвимостей обнаруженных COVERT Labs (PGP безопасности) и Клаудио Мусмарра. Два буфера позволяет удаленному атакующему запускать любой код по их выбору. Ввода подтверждения ошибка позволяет атакующему запускать любой код, а также информационную утечку данных позволяет в штабеля следует рассматривать и злоумышленником. Этот последний можно и не так плохо. В конце концов, это не прямые коренные компромисса в ожидании, но она действительно помогает развитию использует против конкретного сайта. В стек имеет локальные переменные, переменные среды, и важным процессом адресов. К доступа к этим, переполнение буфера, могут быть написаны без проб и ошибок. Это важно, поскольку буфера зачастую один ранен нападение - если вы даже немного неправильно, вы, вероятно сбой службы по scribbling всего стека данных впоследствии полагаться программы.
BIND имеет 12 безопасности рекомендательные от CERT всего четыре года - вряд ли одобрение BIND безопасности!
Важным фактором является сложность этого кода BIND. Опытные программисты C замечание о том, что BIND код невероятно трудно понять. Когда достигнуто программистов борьба понять, что происходит, вы можете быть уверены, проблем безопасности. Комплекс код трудно ревизии модульных конструкций наилучшим, в котором малые, разрозненные программы (которые легче ревизия) выполнения привилегированных операций. Конечно, МКК разработчики не определила, чтобы написать что-то, что даже они найдут трудно сохранить - сложность является результатом функции лишних "наворотов". Возможно, что одна из причин в МКК недавно переписала их содержание, добавив основных частей BIND.
В январе 2001 года МКК объявил об освобождении одного из основных новая версия BIND версии 9.1.0. Эта версия включает поддержку DNSSEC - протокол продления что преодолевает некоторые безопасности конструкции слабость фондового протокола DNS (DNSSEC определяется в RFC 2535.) Примечательно, что код не модульное, поэтому сейчас мы новый код, который все еще трудно ревизии. Многие сайты, по всей видимости, продолжать BIND 8, по крайней мере в краткосрочной перспективе.
Оказывается нападавшие хотели разорвать в BIND серверов, так что SANS ставок устаревших серверов BIND, как номер один и проблема безопасности в Интернете. Эксплуатирует для BIND множество. DNS серверы вкусные цели, потому что в Интернет зависит от времени. Что контроль над BIND сервер, вы можете сделать действительно nasty вещи, например:
· Deprive сайт движения путем изменения IP / имя отображений на несуществующую адрес. Хуже того, вы можете перенаправить трафик в порнографических или сайт конкурента. Потерянный доход и плохой прессы не помогают компании цена акций.
· Clone электронный бизнес сайта, изменение сайта, DNS сервер на карте вашего imposter сайт, и собирать кредитной карты, учетную запись пользователя и пароль детали.
· Эксплойт доверия взаимосвязей между системами карт ИС, с одной стороны доверие отношение к вашей машине.
· Компромисс одной из коренных имен.
Это последняя вызывает особую тревогу. Корни имен являются отправной точкой для решения в сети Интернет. Есть лишь 13 коренных имен в целом (из-за ограничений протокола). Принять за коренные имен, и вы можете иметь Интернет в ваших руках. В стороне, выбор платформы и операционной системы для этих машин следующим принципом безопасности через разнообразие. Для цитату из Y2K заявление о в ICANN (Интернет корпорация по присвоению имен и номеров) сайт:
Коренной серверы сами все использовать некоторые из вариантов операционной системы UNIX, однако как аппаратных базы и vendors'UNIX варианты относительно разнообразны: из 13 коренных серверов, существует 7 различных аппаратных платформ текущих 8 различных версии операционной системы из 5 различных продавцов.
Это серьезный идея - использовать в характера мать-природа сама. Конечно, она разрушается если у вас нет достаточно различных администраторов на руку надежно управлять восьми различных операционных систем.
Помимо безопасности, недостатки, Неправильная является общей. При калибровке сайт, нападающим будет просить зоны переводы со своего DNS сервера. Это в основном свалки всю информацию, относящиеся к конкретному DNS зоны. Это так хорошо, как сетевой карте! Вы не хотите этого.
Другая конфигурация версии номера (раз). Чтобы узнать версию BIND вы запускаете, клиент может Ваш запрос DNS сервер, и Ваш сервер будет сказать им. Это не столь хорошо.
Другими крупными рисками сталкивается протокола DNS и BIND осуществления отказа от услуг заместителей нападения. Многочисленные DoS уязвимости были найдены в BIND. Отключение DNS серверов DNS позволяет запросы решаются, что остановка клиентов опираясь на резолюцию услуги DNS (т.е. почти все) в своих направлениях.
Очевидным является контрмерой найти альтернативу текущих BIND. Здесь Ваш выбор ограничены, - мы живем в BIND монокультуре. Можно переключиться на Microsoft в реализации DNS (это не рекомендация), или посмотрите на DNS сервера, где безопасность осуществления главной цели.
Единственной реальной альтернативой я понимаю это djbdns пакет Даниэль Бернштейн. Это имело достаточного производственного использования в качестве серьезного contender к BIND. Она была разработана и написана исходя из соображений безопасности на опытного программиста в письменной форме Защищенный код. Вы можете узнать больше здесь: http://cr.yp.to/djbdns.html.
Если придерживаться BIND, есть некоторые вещи, которые вы можете сделать. Полезным резюме вопросов и контрмеры можно получить http://www.acmebw.com/papers/securing.pdf. Вы должны по крайней мере серьезно подумать о следующих
· Не запустить BIND в качестве суперпользователя. Напротив, создать нового пользователя и группы. Задайте их в качестве параметров командной строки, когда вы выполняете BIND.
· Использование изолированной команды для запуска BIND тем, что она имеет ограниченный доступ к файловой системе. В изолированной программа дает возможность указать каталог, что процесс будет рассматривать в качестве корневого каталога (обеспечивается ядра). Чтобы сделать это, хотя, нужно создать мини копию вашей операционной системы, поскольку BIND не сможет увидеть важную систему библиотек и конфигурационных файлов. Полная инструкции можно найти здесь: http://www.etherboy.com/dns/chrootdns.html.
· Номер версии трудно - закодированы в BIND код, так что если у вас есть исходный код, который можно просто удалить или заменить его на поддельные версии или глупый сообщение (веселья). В противном случае, вам надо патч бинарного исполняемого - удачи! Последние версии BIND может быть включена версия запросы конкретных адресов только.
· Настройка BIND для запрета, за исключением зоны передачи уполномоченным серверы (такие как DNS рабов).
|
|