История системы доменных имен: первые DNS-серверы

Что такое DNS? Данная аббревиатура расшифровывается как «Система доменных имен». Представляет собой масштабную распределенную систему хранения информации о доменных зонах. Главная задача – сопоставление IP-адресов с символьными обозначениями, которые более понятны пользователям.

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

Первыми концепцию доменных имен предложили еще в 1983 году Джон Постел и Пол Мокапетрис. Уже через год был продемонстрирован первый рабочий DNS-сервер – его представили студенты Университета в Беркли. Проект, получивший название BIND (Berkeley Internet Name Domain), разработан при поддержке гранта от Министерства обороны США.

Новая система позволяла автоматически преобразовывать IP в более понятное DNS-имя и обратно. Первое время ПО использовалось только в рамкам инфраструктуры университета, за поддержку отвечали также местные специалисты. Только во второй половине 80-х проект был передан Полу Викси (компания DEC), который позднее основал альянс ISC (Internet Software Consortium). Именно данная структура и сопровождает BIND до настоящего времени.

В 2000 году код сервера BIND был переписан с нуля. Современная версия содержит сразу несколько библиотек и модулей, реализующих архитектуру и все функции DNS-сервера. Даже сегодня BIND-версия сервера весьма популярна, особенно на платформе Linux. В частности, она используется на серверах, которые обеспечивают поддержку корневой зоны.

Есть и популярные альтернативы, например, решение PowerDNS, которое входит в состав Linux-дистрибутивов. ПО разработано Бертом Хубертом (компания PowerDNS.COM), развивается силами open source сообщества. Платформа популярна среди крупных облачных провайдеров, телекоммуникационных и других крупных компаний. Из других распространенных DNS-серверов можно отметить Dnsmasq, Unbound и djbdns.

За всю историю развития DNS спецификация претерпела большое количество изменений. Первое значимое обновление произошло в 1996 году, когда были интегрированы инструменты IXFR и NOTIFY. Новые компоненты значительно упростили процесс репликации баз данных между вторичным и первичным серверами. Также появилась возможность задавать параметры для уведомлений при редактировании DNS-записей. Такой алгоритм обеспечивал идентичность различных DNS-зон, а также заметно экономил трафик – синхронизация запускалась только при возникновении необходимости.

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





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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: