Может ли кто-то, использующий тот же DNS-сервер, что и я, захватить мои домены?

Когда я регистрирую новый домен, я отправляю его своему хостинг-провайдеру, назначая ему серверы доменных имен в настройках регистратора. Например, с Digital Ocean я ввожу следующее:

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

Затем я добавляю настройки домена в запись A моего сервера. Мне только что пришло в голову, что любой другой на том же хостинг-провайдере может добавить A-запись с моим доменом.

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

48
задан 19 December 2015 в 09:59
4 ответа

Не обращайте внимания на раздел комментариев ниже, и не обращайте внимания на предыдущие ответы в истории редактирования. После примерно часа разговора с друзьями (спасибо @joeQwerty, @Iain и @JourneymanGeek), и некоторые веселые хакерские вокруг мы добрались до сути как вашего вопроса, так и ситуации в целом. Извините за грубость и непонимание ситуации поначалу.

Давайте пройдем через процесс:

  1. Вы покупаете wesleyisaderp.com, скажем, на NameCheap.com.
  2. Namecheap, так как ваш регистратор будет там, где вы заполняете свои НС-записи. Допустим, вы действительно хотите разместить DNS-зону на сайте Digital Ocean.
  3. Вы указываете NS-записи нового блестящего домена на ns1.digitalocean.com и ns2.digitalocean.com.
  4. Однако, допустим, я смог определить, что вы зарегистрировали этот домен, и, более того, что вы изменили NS-записи на Digital Ocean. Затем я опередил вас в учетной записи Digital Ocean и добавил зону wesleyisaderp.com в свою собственную.
  5. Вы пытаетесь добавить зону в учетной записи *ваша*, но Digital Ocean говорит, что зона уже существует в их системе! О нет!
  6. I CNAME wesleyisaderp.com на wesleyisbetterthanyou.com.
  7. Веселье возникает.

Мы с некоторыми друзьями только что разыграли этот точный сценарий, и да, он работает. Если @JoeQwerty покупает домен и указывает его на серверы имен Digital Ocean, но я уже добавил эту зону в свою учетную запись, то я хозяин зоны и могу делать с ней все, что захочу.

Однако учтите, что кто-то сначала должен добавить зону в свою учетную запись DNS, а затем вы должны указать свои NS-записи на серверы имен того же хоста, чтобы случилось что-нибудь гнусное. Более того, будучи владельцем домена, вы можете переключать NS записи в любое время и перемещать разрешение подальше от плохого хоста зоны.

Вероятность того, что это произойдет, несколько низка, если не сказать больше. Говорят, что, по статистике, вы можете перетасовать колоду из 52 игральных карт и получить заказ, который ни один человек никогда не получал, и ни один человек никогда не получит. Я думаю, что такая же аргументация существует и здесь. Вероятность того, что кто-то воспользуется этим, настолько мала, и существуют лучшие короткие пути, что это, вероятно, не произойдет в дикой природе случайно. Более того, если вы являетесь владельцем домена у регистратора, и кто-то создал зону у такого провайдера, как Digital Ocean, с которым вы сталкиваетесь, я уверен, что если вы предоставите доказательство права собственности, они попросят человека, который создал зону на их аккаунте, удалить ее, так как нет причин для ее существования, поскольку он не является владельцем доменного имени.

Но как насчет записей А

Первым человеком, у которого есть зона, например, на Digital Ocean, будет тот, кто ее контролирует. Нельзя иметь несколько одинаковых зон в одной DNS-инфраструктуре. Так, например, используя глупые имена, приведенные выше, если у меня есть wesleyisaderp.com в качестве зоны в Digital Ocean, никто другой в DNS-инфраструктуре Digital Ocean не сможет добавить ее к своей учетной записи.

Вот в чем самое интересное: Я действительно добавил wesleyisaderp.com в свой аккаунт в Digital Ocean! Попробуйте добавить его в свой аккаунт. Это ничего не повредит.

Так что в результате вы не сможете добавить запись A на wesleyisaderp.com. Это все мое.

Но как насчет...

Как @Iain указал ниже, моя точка #4 выше на самом деле слишком многословна. Мне вообще не нужно ждать, замышлять или строить планы. Я могу просто сделать тысячи зон на счету, а потом сидеть и ждать. Технически. Если я сделаю тысячи доменов, а затем подожду, пока они зарегистрируются, а затем буду надеяться, что они будут использовать DNS хосты, на которые я установил свои зоны... может быть, я смогу сделать что-то вроде плохого? Может быть? Но, возможно, нет?

Извините за Digital Ocean & NameCheap

Обратите внимание, что Digital Ocean и NameCheap не уникальны и не имеют никакого отношения к этому сценарию. Это нормальное поведение. Они безупречны по всем фронтам. Я просто использовал их, так как это был приведенный пример, и это очень известные бренды.

60
ответ дан 28 November 2019 в 19:38

С вами все будет в порядке, если вы заявите о праве собственности на домен в DigitalOcean (т.е. ассоциируете его с вашей учетной записью), прежде чем вы скажете регистратору использовать их серверы имен.

Если кто-то уже связал ваш домен с его учетной записью, вы узнаете об этом до того, как серверы имен DigitalOcean станут авторитетными. И если это произойдет, поговорите с DigitalOcean о том, чтобы это лицо было выгружено со своей учетной записи.

В соответствии с передовой практикой {ns1,ns2,ns3}.DigitalOcean.com не действует в качестве рекурсивных преобразователей для доменов, размещенных в других местах. Если бы они действовали, и если бы серверы, размещенные на сайте DigitalOcean, использовали эти серверы в качестве преобразователей общего назначения, то возникла бы гораздо большая проблема. При всем том, что, как известно, это плохая практика, наверное, не так уж и сложно найти хостинг-провайдеров, которые ошибаются, что открывает возможности для злоупотреблений.

.
6
ответ дан 28 November 2019 в 19:38

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

Основа заключается в следующем:

  • Вы регистрируете свой домен (я буду использовать выдающееся имя wesleyisaderp.com здесь, просто потому что. )
  • Вы регистрируете свои серверы имен у регистратора, обычно через веб-интерфейс, в котором вы аутентифицируетесь с помощью комбо имени пользователя/пароля.
  • Вы также создаете пару открытых/закрытых ключей и загружаете открытый ключ регистратору в виде записи DNSKEY. (Таким образом, регистратор может настроить цепочку доверия к корневым серверам для домена верхнего уровня - в данном случае, к корневым серверам для .com). Опять же, вы загружаете его, когда входите в систему с вашим собственным именем пользователя/паролем combo, так что он подключен к вашему домену (доменам), а не к чьему-то другому.
  • Вы заходите на сервер имён, вводите свои записи и подписываете полученный файл зоны своим личным ключом. Или, если у вас есть веб-интерфейс к службе хостинга DNS, вы загружаете им закрытый ключ, чтобы они могли подписать файл зоны.
  • Когда Уэсли так грубо пытается взломать ваш домен и CNAME его на wesleyisbetterthanyou.com, его записи не будут приняты серверами корневых доменов .com, потому что они не подписаны правильным ключом. Если ваш хостинг-провайдер DNS умён, они сразу же это проверят и даже не позволят ему попытаться добавить записи в этот домен, если у него нет правильного частного ключа.
  • Когда вы вводите свои собственные записи, они будут подписаны правильным ключом, так что они будут работать.
  • Теперь вы можете сесть и посмеяться над Уэсли.

(В оригинальном случае, который описывает Уэсли, основной ошибкой будет то, что компания Digital Ocean не проверила право собственности на домен, прежде чем позволить кому-либо настроить записи DNS для него. К сожалению, они не одиноки в этом; я знаю, по крайней мере, одного шведского регистратора с такими же проблемами)

(К сожалению, они не одиноки в этом; я знаю, по крайней мере, одного шведского регистратора с такими же проблемами).
32
ответ дан 28 November 2019 в 19:38

Я думаю, что эта проблема означает, что никто не должен использовать такие серверы имен (например, Digital Ocean) в качестве преобразователей, поскольку любой может создать на них сервер имен для существующего домена. Битва за контроль над доменом не имеет значения, поскольку владение доменом может быть легко доказано, но тот факт, что кто-то может, например, направить любой существующий домен, который НЕ размещен в Digital Ocean, в любое место, где они хотят.

Итог: сделать не доверять DNS-серверам какой-либо службы хостинга, которая не требует подтверждения владения доменом (легко и быстро, например, с помощью метода, предложенного выше: сначала добавив запись TXT с определенным значением в домен, это то, что Например, Microsoft O365 и Google).

0
ответ дан 28 November 2019 в 19:38

Теги

Похожие вопросы