Назад | Перейти на главную страницу

Можно ли создать собственный корневой DNS-сервер?

Мне любопытно. Я продолжаю читать о том, как наши интернет-провайдеры и посредники в Интернете записывают и отслеживают все запросы DNS, в основном оставляя следы хлебных крошек во многих журналах, а также разрешая перехват DNS в рекламных целях (я смотрю на вас, Cox Communications!).

Независимо от других методов обеспечения конфиденциальности / безопасности, я особенно хотел бы знать, можно ли запустить DNS-сервер в вашей собственной локальной сети, _ который фактически имеет информацию о зоне корневых DNS-серверов (для .com, .net ,. org) домены.

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

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

Есть ли что-то вроде передачи зоны BGP, кроме DNS?

Обновление: есть ли какие-либо продукты / программное обеспечение OSS, которые могут в основном «очищать» эту информацию из внешней цепочки DNS в локальный кеш в больших количествах, чтобы они были готовы, когда они вам понадобятся, вместо кеширования их, когда вы явно запрашиваете записи домена?

DNS по своей конструкции не позволяет иметь авторитетную копию всех зон, так как использует иерархическую систему именования.

Корневые серверы являются полномочными для определения сервера, ответственного за Домен верхнего уровня (TLD) под вопросом. Например, разрешение www.example.net сначала запросит корневой сервер, чтобы определить авторитетный сервер имен для .net. В .net сервер имен определит авторитетный сервер имен для example.net, который затем вернет запись для www.example.net.

Вы не можете скачать копии всех зон. Однако вы можете запустить локальный кэширующий сервер имен. Кэширующий сервер имен предоставит локальную копию всех разрешенных записей, срок действия которых истекает с использованием времени жизни (TTL), указанного для записи. Имейте в виду, что мое объяснение представляет собой упрощенное описание протокола DNS, которое можно подробно изучить, прочитав определения в Запрос комментариев.

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

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

Несколько вещей:

Если вы сконфигурируете свой сервер для использования корневых ссылок вместо использования серверов пересылки, вам не нужно беспокоиться о проблемах MITM (по крайней мере, от ISP и DNS-угонщиков). Для всех внешних разрешений DNS ваш сервер будет запрашивать корневые ссылки, которые будут направлять вас к серверам gTLD для рассматриваемого домена верхнего уровня (.com и т. Д.), Которые затем направят вас к серверам NS для рассматриваемого домена. .

Если вы действительно хотите создать свой собственный корневой сервер, вы, конечно, можете, хотя я не понимаю, насколько это принесет вам много пользы. Вот как это делается на DNS-сервере Windows:

Загрузите Корневая зона DNS файл и сохраните его как root.dns в каталоге% systemroot% \ system32 \ dns на DNS-сервере Windows, используйте мастер создания зоны DNS для создания новой первичной зоны прямого просмотра с именем "." (без кавычек) снимите флажок с опции создания интегрированной зоны AD, введите "." для имени зоны (без кавычек) выберите вариант использования существующего файла, и поле имени файла зоны будет автоматически заполнено именем root.dns (если оно не введите его), оставьте этот параметр, чтобы не разрешить динамические обновления как есть, нажмите кнопку «Готово» после прохождения каждого шага мастера. Теперь у вас есть корневой сервер с зонами и записями зон для всех серверов gTLD.

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

Для тесно связанных серверов есть зональные передачи. Они работают так же, как объявления BGP. По соображениям безопасности они обычно блокируются для других серверов.

Если вы запустите кэширующий сервер имен, он скопирует список корневых серверов и очень скоро получит корни для .com, .net и т. Д. Существует очень веская причина для распространения DNS. В противном случае все будут работать с устаревшими данными. Размер базы данных будет довольно большим, и большинство данных вас не интересует.

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

Теперь корневые зоны DNS подписаны, и я все чаще вижу, как мой почтовый сервер сообщает, что данные DNS были подписаны. Подписание DNS было объявлено требованием для IPV6. Подписанный DNS очень затрудняет отравление кеша, но усложняет управление DNS.

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

Измените root.hints на других ваших серверах имен, чтобы они указывали на ваш частный корневой сервер, и позвольте началу тестирования.

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

Да, одна из особенностей DNS-серверов - локальное кэширование часто запрашиваемых запросов, слишком часто в обход указанного ttl.

Конечно, вы можете запустить собственный DNS, без проблем. Но корневые серверы и серверы доменов верхнего уровня, вам нужно будет спросить у дяди Сэма.

Запись всех запросов DNS возможна, но это было бы безумием.

Вы можете запустить свои собственные корневые серверы, если хотите, они просто не такие, как вы думаете. Проверь это http://en.wikipedia.org/wiki/Alternative_DNS_root