Jump to content

DNS-запись с подстановочным знаком

DNS -запись с подстановочными знаками — это запись в зоне DNS , которая будет соответствовать запросам несуществующих доменных имен. DNS-запись с подстановочными знаками указывается с помощью * как крайняя левая метка (часть) доменного имени, например *.example.com. Точные правила соответствия подстановочного знака указаны в разделе RFC   1034 , но правила не являются ни интуитивно понятными, ни четко определенными. Это привело к несовместимым реализациям и неожиданным результатам при их использовании.

Определения подстановочных знаков DNS

[ редактировать ]

DNS-запись с подстановочными знаками в файле зоны выглядит примерно так:

*.example.com.   3600 IN  MX 10 host1.example.com.

Эта запись DNS с подстановочными знаками приведет к поиску DNS по доменным именам, заканчивающимся на example.com которые не существуют для синтеза записей MX. Итак, поиск записи MX для somerandomname.example.com вернет запись MX, указывающую на host1.example.com.

Подстановочные знаки в DNS гораздо более ограничены, чем другие подстановочные знаки, используемые в других компьютерных системах. Записи DNS с подстановочными знаками имеют одну * (звездочка) в качестве крайней левой метки DNS , например *.example.com. Звездочки в других местах домена не будут работать как подстановочные знаки, поэтому ни *abc.example.com ни abc.*.example.com работают как DNS-записи с подстановочными знаками. Более того, подстановочный знак сопоставляется только тогда, когда домен не существует, а не только тогда, когда нет совпадающих записей запрошенного типа. Даже определение «не существует», определенное в алгоритме поиска Раздел 4.3.3 RFC   1034 может привести к тому, что подстановочный знак не будет соответствовать случаям, которые можно было бы ожидать от других типов подстановочных знаков.

Исходное определение поведения подстановочного знака DNS указано в RFC   1034, разделы 4.3.2 и 4.3.3, но только косвенно, за счет определенных шагов алгоритма поиска, и в результате правила не являются ни интуитивно понятными, ни четко определенными. В результате, 20 лет спустя, RFC   4592 «Роль подстановочных знаков в системе доменных имен» был написан для разъяснения правил.

Цитировать RFC   1912 : «Распространенной ошибкой является мнение, что подстановочный знак MX для зоны будет применяться ко всем хостам в зоне. Подстановочный знак MX будет применяться только к именам в зоне, которые вообще не указаны в DNS». То есть, если для *.example.comи запись A (но без записи MX) для www.example.com, правильный ответ (согласно RFC   1034 ) на запрос MX для www.example.com «нет ошибок, но нет данных»; это контрастирует с возможно ожидаемым ответом записи MX, прикрепленной к *.example.com.

Пример использования

[ редактировать ]

Следующий пример взят из RFC   4592 , раздел 2.2.1, и полезен для пояснения того, как работают подстановочные знаки.

Допустим, есть зона DNS со следующими записями ресурсов:

$ORIGIN example.
example.                 3600 IN  SOA   <SOA RDATA>
example.                 3600     NS    ns.example.com.
example.                 3600     NS    ns.example.net.
*.example.               3600     TXT   "this is a wildcard"
*.example.               3600     MX    10 host1.example.
sub.*.example.           3600     TXT   "this is not a wildcard"
host1.example.           3600     A     192.0.2.1
_ssh._tcp.host1.example.  3600     SRV   <SRV RDATA>
_ssh._tcp.host2.example.  3600     SRV   <SRV RDATA>
subdel.example.          3600     NS    ns.example.com.
subdel.example.          3600     NS    ns.example.net.

Полезно взглянуть на доменные имена в древовидной структуре:

example
├─ *
│  └─ sub
├─ host1
│  └─ _tcp
│     └─ _ssh
├─ host2
│  └─ _tcp
│     └─ _ssh
└─ subdel

Следующие ответы будут синтезированы из одного из подстановочных знаков в зоне:

Запрашиваемый домен Запрошенный тип RR Результаты
host3.example. МХ Ответом будет "host3.example. IN MX..."
host3.example. А Ответ будет отражать «нет ошибок, но нет данных», поскольку не существует записи ресурса «А» (RR), установленной в *.example.
foo.bar.example. ТЕКСТ Ответом будет «foo.bar.example. IN TXT…», потому что bar.example. не существует, но подстановочный знак существует.

Следующие ответы не будут синтезированы из каких-либо подстановочных знаков в зоне:

Запрашиваемый домен Запрошенный тип RR Результаты
host1.example. МХ Ни один подстановочный знак не будет соответствовать, потому что host1.example. существует. Вместо этого вы получите ответ «нет ошибок, но нет данных». Запись MX с подстановочными знаками не предоставляет записи MX для доменов, которые иначе существуют.
sub.*.example. МХ Ни один подстановочный знак не будет соответствовать, потому что sub.*.example. существует. Домен sub.*.example. никогда не будет действовать как подстановочный знак, даже если в нем есть звездочка.
_telnet._tcp.host1.example. СРВ Ни один подстановочный знак не будет соответствовать, потому что _tcp.host1.example. существует (без данных).
host.subdel.example. А Ни один подстановочный знак не будет соответствовать, потому что subdel.example. существует и является разрезом зоны, помещая host.subdel.example. в другую зону DNS . Даже если host.subdel.example. не существует в другой зоне, подстановочный знак из родительской зоны использоваться не будет.
ghost.*.example. МХ Ни один подстановочный знак не будет соответствовать, потому что *.example. существует, это домен с подстановочными знаками, но он все еще существует.

Последний пример подчеркивает одно распространенное заблуждение относительно подстановочных знаков. Подстановочный знак «блокирует себя» в том смысле, что подстановочный знак не соответствует собственным поддоменам. То есть, *.example. не соответствует всем именам в example. зона; он не соответствует именам ниже *.example.. Чтобы скрыть имена под *.example., необходимо другое доменное имя с подстановочным знаком — *.*.example.— который охватывает все, кроме собственных поддоменов.

На практике

[ редактировать ]

Цитировать из RFC   4592 , многие реализации DNS по-разному расходятся с исходным определением подстановочных знаков. Некоторые из вариаций включают в себя:

  • С помощью djbdns , помимо проверки подстановочных знаков на текущем уровне, сервер проверяет наличие подстановочных знаков во всех включающих супердоменах, вплоть до корня. [ нужна ссылка ] В приведенных выше примерах запрос на _telnet._tcp.host1.example для записи MX будет соответствовать подстановочному знаку, несмотря на домен _tcp.host1.example существующий.
  • DNS-сервер Microsoft (если он настроен для этого) [1] ) и MaraDNS (по умолчанию) имеют подстановочные знаки, а также соответствуют всем запросам на пустые наборы записей ресурсов; т.е. доменные имена, для которых нет записей нужного типа . В приведенных выше примерах запрос на sub.*.example для записи MX будет соответствовать *.example, несмотря на sub.*.example явно существует только с записью TXT .

Зарегистрированные лица

[ редактировать ]

Домены с подстановочными знаками широко используются веб-сайтами блогов, которые позволяют пользователям создавать поддомены по требованию; например, такие сайты, как WordPress или Blogspot . Другое популярное использование - веб-сайты Free Dynamic DNS , которые позволяют пользователям создавать DNS-имя, которое меняется в соответствии с IP-адресом их хоста, поскольку IP-адрес периодически меняется DHCP-сервером их интернет-провайдера.

Новые домены верхнего уровня

[ редактировать ]

В новых gTLD запрещено публиковать подстановочные знаки (или использовать эквивалентные механизмы серверов имен) согласно спецификации 6 о соглашения ICANN базовом реестре новых gTLD. ICANN Однако структура управления конфликтами имен ( PDF ) прямо требует, чтобы новые gTLD публиковали (в течение как минимум 90 дней) специальные подстановочные знаки MX, SRV, TXT и 127.0.53.53 A, которые предупреждают о потенциальных конфликтах имен из-за использования относительных доменные имена с путями поиска доменов .

Реестры/провайдеры Интернета

[ редактировать ]

Несколько регистраторов доменных имен в разное время вводили подстановочные записи для доменов верхнего уровня , чтобы обеспечить платформу для рекламы, в первую очередь VeriSign для .com и .net с ее (сейчас удаленной) системой Site Finder . также В домене верхнего уровня .museum была запись подстановочного знака, которая сейчас удалена. По состоянию на март 2018 г. , доменами верхнего уровня, использующими запись A с подстановочным знаком (отличную от 127.0.53.53), являются .fm , .la , .ph , .pw , .vg и .ws . Интернационализированные грузинских TLD .中国 (.xn--fiqs8s или .xn--fiqz9s для «Китай») и .გე (.xn--узел для букв для грузинского кода страны «GE») также имеют записи с подстановочными знаками A. *.中国 подстановочный знак разрешает ibaidu.com (помечен Chrome как небезопасный) и *.გე подстановочный знак соответствует веб-сайту домена верхнего уровня .ge .

Интернет-провайдеры также стали обычным явлением синтезировать записи адресов на предмет опечаток для одного и того же человека, практика, называемая «объемным» тайпсквоттингом , но это не настоящие подстановочные знаки, а скорее модифицированные кэширующие серверы имен. [2]

Игнорирование подстановочных знаков от других

[ редактировать ]

Консорциум программного обеспечения Интернета выпустил версию программного обеспечения BIND DNS, которую можно настроить для фильтрации DNS-записей с подстановочными знаками из определенных доменов. Различные разработчики выпустили программные исправления для BIND и djbdns .

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cdd4c4bc0267a279dfd85d7986ed6d91__1721556000
URL1:https://arc.ask3.ru/arc/aa/cd/91/cdd4c4bc0267a279dfd85d7986ed6d91.html
Заголовок, (Title) документа по адресу, URL1:
Wildcard DNS record - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)