Linux

Что мешает кому-то установить некоторую запись для моего домена?

Возможно, я ошибаюсь, но то, что кажется стандартным способом указания домена на сайт, очень небезопасно. Допустим, ваш домен зарегистрирован в компании «A», а ваш сайт размещен в компании «B». Шаги для установки всего этого обычно следующие:

  1. Войдите в компанию «А» и установите DNS-запись для my-domain.com, чтобы она указывала на ns1.company-b.com и ns2.company-b.com.

  2. Войдите в компанию «B», добавьте my-domain.com в свою учетную запись и установите запись «A».

Но как компания «B» узнает, что вы авторизованы для установки записи «A»? Только потому, что домен использует их DNS-сервер? Разве не возможно, что кто-то другой, кто является клиентом компании «B», на самом деле является владельцем домена, и именно он указал его на DNS-серверы компании «B»? А поскольку вы также являетесь клиентом компании «B», вы можете просто перехватить домен?

Это возможно или нет, если да, то что мешает сделать что-то подобное?

Ответ 1

Теоретически вы правы. На практике это не является проблемой безопасности, потому что вы контролируете то, что домен использует в качестве авторитетных серверов имен. Допустим, я установил записи для вашего домена в компании «Б». Вы пытаетесь установить записи, но их интерфейс не позволяет вам это сделать (потому что DNS-сервер не может иметь несколько файлов зон, активных для одного и того же домена), или вы замечаете, что записи уже установлены. Вы снова обращаетесь в компанию «А» и устанавливаете свои авторитетные серверы имен в другом месте, затем вы говорите с компанией «Б». Компания «Б» знает, что именно вы являетесь владельцем домена, а не другой клиент, потому что А) ваша информация есть в базе данных WHOIS, связанной с доменом, и Б) вы можете продемонстрировать контроль над доменом через установку авторитетных серверов имен. Скорее всего, они затем приостановят работу другого клиента за свои некорректные деяния.

Вам не стоит тратить много времени на беспокойство по этому поводу.

Ответ 2

Это просто. Только авторитетный сервер имеет значение.

Я могу настроить DNS для google.com на своих серверах дома, сделать его похожим на google, возиться с ним весь день, перенаправлять и перехватывать трафик от своих детей и т. д., и т. п., но до тех пор, пока клиенты действительно спрашивают корневые серверы об авторитетности зоны, не будет иметь значения то, что я настроил... потому что авторитетный сервер определяет это и возвращает правильные адресные записи обратно клиенту. Да, вы можете создавать отравленные записи DNS и все такое, но рано или поздно TTL этих записей истечет, и если вы не можете напрямую контролировать адрес резольвера клиента, клиент побежит к корневым серверам, корневые серверы направят его на правильный сервер (авторитетный сервер), и все будет кончено. Даже если вы используете другую службу DNS, эта служба рано или поздно кэширует правильные записи. В случае с компанией «B» в вашем примере вы можете настраивать записи как угодно. Если клиенты не запрашивают этот сервер, это не будет иметь значения. Если они запрашивают его напрямую, то это уже другое дело, но даже это не будет длиться вечно, и когда TTL истечет, DNS-«танец» повторится заново... направляя их на правильный сервер. Ключевым моментом здесь является DNS-сервер, зарегистрированный в корне. Независимо от того, что корень считает IP-адресом сервера (серверов), который является авторитетным для вашего домена, люди будут обращаться за ответами именно туда. Если вы опасаетесь, что кто-то может перехватить доменное имя во время «транзита», это лучше всего решить с помощью инструментов, предоставляемых службой DNS для передачи домена. Они сделают все это за вас. Когда они это сделают, они установят свою службу как полномочный орган для вашей зоны на корневых серверах.

Если вы беспокоитесь о том, что кто-то попытается зарегистрировать домен снова, значит, DNS в корне не работает, а интернет не работает (не сломан, а именно не работает). Просто так не бывает.

Ответ 3

Прежде чем вы сможете создать какие-либо записи на серверах имен компании «B», кто-то должен дать вам на это разрешение. Вы должны убедиться, что у вас есть такие полномочия, прежде чем изменять свои серверы имен, чтобы они указывали на их сервер. Если компания «B» размещает ваши серверы имен, вы зависите от их безопасности, чтобы неавторизованные лица не могли изменять ваши записи DNS. Только потому, что ваш сайт размещен на сервере компании «B», вам не обязательно размещать свой DNS у них. Вы можете с таким же успехом установить необходимую запись «A» на сервере компании «A». Обычно для небольших сайтов все записи DNS размещаются у регистратора домена. (Когда вы впервые устанавливаете свой домен, регистратором будет компания «А» в вашем примере). Регистратор всегда будет источником для поиска авторитетных записей сервера имен.

Также часто бывает, что серверы имен размещает третья компания. В этом случае вы будете полагаться на их безопасность, чтобы предотвратить изменение ваших записей DNS другими лицами. Если у вас есть полномочия на обновление записей у регистратора домена, вы всегда можете переместить свои серверы имен в другую компанию в случае, если ваши записи DNS будут взломаны. Из-за кэширования DNS может потребоваться некоторое время для перенаправления записей DNS «A» в правильные места.

Записи PTR это совсем другое дело. Они всегда контролируются одной из организаций, предоставивших IP-адрес(ы). Они могут делегировать контроль над определенными адресами через CNAMES. Теперь можно повысить безопасность записей домена с помощью DNSSEC. Это позволяет подписывать записи DNS. Не все клиенты будут проверять подписи, поэтому это не защитит ваши доменные записи для всех клиентов. Локальная подмена DNS всегда возможна. Некоторые люди используют локальную подмену для блокировки трафика с рекламных сайтов. Существует ряд списков сайтов, которые можно использовать для этой цели.

Ответ 4

Вы должны выполнить все действия в другом порядке. Настройте все в компании «B» и подтвердите, что вы добавили домен в свою учетную запись, прежде чем указывать серверы имен. Таким образом, окно атаки будет равно нулю. Но даже если вы этого не сделаете, это все равно очень узкое окно, и его легко решить, позвонив в компанию «B» (или просто указав серверы имен).

Схожие статьи

REOS. Игровой Linux
Linux

REOS. Игровой Linux

Linux

Как настроить разрешения linux для папки WWW

Linux

Запуск jmap, получение которого невозможно без открытия файла сокета

Unix shell-переменные и персонализированные установки Unix
Linux

Unix shell-переменные и персонализированные установки Unix

×