Что такое многоадресный DNS

Обновлено: 02.07.2024

Протокол системы многоадресных доменных имен (mDNS) — это многоплатформенная служба, не требующая настройки и предназначенная для преобразования имен хостов в IP-адреса в небольших сетях, не имеющих локального DNS-сервера. mDNS прослушивает порт 5353/UDP.

Проблема

Открыто доступный многоадресный DNS-сервер, который неправильно настроен и отвечает на одноадресные запросы из источников за пределами локальной сети, может быть использован для атаки распределенного отказа в обслуживании (DDoS) с отражением/усилением против третьей стороны. Информация, возвращаемая в ответе mDNS на одноадресный запрос, также может раскрывать потенциально конфиденциальную информацию об устройствах в сети.

История многоадресной DNS

Многоадресная DNS возникла в результате работы Инженерной группы Интернета (IETF) над сетями с нулевой конфигурацией (Zeroconf). Многоадресный DNS предназначен для небольших сетей, в которых все устройства обмениваются информацией друг с другом через свои IP-адреса. Многоадресная рассылка — это уникальная форма связи, которая позволяет устанавливать соединения «точка-многоточка» в сетях IPv4, позволяя узлу одновременно достигать всех заинтересованных узлов. Узел, которому принадлежит искомое имя хоста, отвечает на всю сеть также посредством многоадресной рассылки. Все участвующие узлы информируются о соединении между именем хоста и адресом IPv4 и обновляют свой соответствующий кэш mDNS. Многоадресные запросы mDNS по умолчанию не могут проходить через маршрутизатор, но могут проходить одноадресные запросы mDNS.

mDNS использует протокол пользовательских данных (UDP) в качестве базового транспортного протокола, обеспечивающего одноадресную передачу.

Демоны mDNS доступны для Microsoft Windows, Apple Inc. OS X и операционной системы Linux.

Нулевая конфигурация

Сеть с нулевой конфигурацией (Zeroconf) и автоматическая локальная адресация — это спецификация инженерной группы Интернета (IETF), которая позволяет устройствам в сети IPv4 автоматически настраиваться и обнаруживаться без ручного вмешательства. Zeroconf с помощью набора технологий может при необходимости назначить устройству IPv4-адрес и альтернативное имя хоста. После назначения Zeroconf позволяет пользователям и приложениям легко обнаруживать предлагаемые услуги. Если в сети нет сервера протокола динамической конфигурации хоста (DHCP) и если у устройства нет адреса IPv4, Zeroconf использует локальную адресацию для его создания. В RFC3927 IETF зарезервировал блок адресов IPv4 169.254.0.0/16 для локальной адресации канала. Хост может автоматически настроить интерфейс с локальным адресом канала IPv4 из блока адресов 169.254.0.0/16, который подходит для связи с другими устройствами, подключенными к тому же физическому каналу. После выбора адреса используется протокол разрешения адресов (ARP), чтобы убедиться, что адрес IPv4 не используется в сети. Если он не используется, устройству назначается IPv4-адрес, в противном случае выбирается другой IPv4-адрес и процесс ARP повторяется.

Многоадресные DNS-имена хостов

Компания IETF в RFC6762 указала, что домен верхнего уровня DNS «.local». — это специальный домен с особой семантикой, а именно, что любое полное имя, оканчивающееся на «.local». является локальным для ссылки, и имена в этом домене имеют смысл только для ссылки, по которой они происходят. Любой запрос DNS для имени, оканчивающегося на метку «.local». должно быть отправлено на локальный многоадресный адрес IPv4 224.0.0.251.

Пример усиленной распределенной атаки типа "отказ в обслуживании" (DDoS) mDNS

С тех пор как 7 февраля 2000 года 15-летним хакером была запущена первая задокументированная DoS-атака, DoS-атака эволюционировала и стала более изощренной. DoS-атаки можно разделить на прямые и отраженные. Прямые атаки включают в себя трафик, направляемый непосредственно жертве из некоторой инфраструктуры, контролируемой злоумышленником. При атаках с отражением сторонние серверы невольно используются для отражения трафика атаки в сторону жертвы. Усиленная отраженная атака распределенного отказа в обслуживании (DDoS) mDNS состоит из ряда отдельных компонентов и использует определенные функции.

Атака типа "отказ в обслуживании" (DoS).

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

Протокол пользовательских дейтаграмм (UDP)

Многоадресная DNS использует протокол пользовательских дейтаграмм (UDP) в качестве базового транспортного протокола. UDP — это протокол без установления соединения, который использует дейтаграммы, встроенные в пакеты интернет-протокола (IP), для связи без необходимости создания сеанса между источником и получателем до передача может иметь место.UDP не проверяет исходный адрес интернет-протокола (IP).

Спуфинг интернет-протокола (IP).

Интернет-протокол (IP) обеспечивает единую и простую абстракцию для связи через Интернет. Он идентифицирует хосты по их IP-адресам, что позволяет обмениваться данными между сетями. Простота Интернет-протокола оказалась чрезвычайно мощной, однако он имеет ряд присущих ему ограничений, таких как отсутствие аутентичности на уровне пакетов. Маршрутизаторы выполняют только поиск адреса назначения входящих пакетов, подлинность исходного IP-адреса пакетов не проверяется на пути между отправителем и получателем. IP-спуфинг — это создание пакета интернет-протокола (IP) и его изменение, заменяя его подлинный исходный адрес поддельным исходным адресом. Маскируясь под другого хоста, злоумышленник может скрыть свою истинную личность и местонахождение. Возможность подделки исходного IP-адреса пакета делает возможным ряд угроз кибербезопасности, начиная от выдачи себя за удаленные узлы и заканчивая DoS-атаками.

Разведка.

Злоумышленник будет сканировать и исследовать Интернет в поисках подключенного к Интернету многоадресного DNS-сервера, который был неправильно настроен и отвечает на одноадресный запрос из источника за пределами своей локальной сети. Как только уязвимый mDNS-сервер будет обнаружен, злоумышленник попытается использовать его и использовать в качестве отражателя в атаке с усиленным отражением DDoS против ничего не подозревающей жертвы.

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

Усиление.

Многие протоколы, которые допускают отражение, также добавляют усиление, в результате чего объем атакующего трафика, отправляемого жертве, во много раз превышает тот, который изначально был отправлен отражателю. Существует несколько протоколов с уязвимостями, которые позволяют использовать их в качестве аксессуаров для усиления, например. DNS, SNMPv2 и mDNS. Многоадресные DNS-устройства сообщают информацию о сетевых услугах, которые они предоставляют. Определенный в RFC6763 запрос перечисления служб, который возвращает все объявленные типы служб в сети. Самая большая полезная нагрузка ответа mDNS, зарегистрированная при DoS-атаке, содержала 428 байт данных, которые отвечали на запрос размером 45 байт, коэффициент усиления 9,51.

Распространяется.

Существенное различие между атакой типа "отказ в обслуживании" (DoS) и атакой "распределенный отказ в обслуживании" (DDoS) заключается в том, что вместо одной компьютерной системы, используемой для атаки на жертву, для атаки будет использоваться несколько компьютерных систем. жертва.

Злоумышленники все чаще используют посредников для проведения DoS-атак против жертв. DoS-атаки теперь запускаются через ботнеты. Ботнет — это совокупность подключенных к Интернету компьютеров и устройств, географически рассредоточенных, которые из-за уязвимостей в системе безопасности или недостатков устройства были скомпрометированы и захвачены злоумышленником, известным как контроллер ботнета, который осуществляет контроль над ними с помощью команды и программное обеспечение для управления. Контроллер ботнета может через сервер управления и контроля (C&C) дать указание отдельным компьютерам и устройствам, известным как «боты» или «зомби», отправлять атакующий трафик жертве. Контроллер ботнета предложит свой ботнет в качестве службы DDoS-атаки по запросу, известной как «загрузчики» или «служба загрузки». Злоумышленник может воспользоваться услугами «загрузчиков» или «службы загрузчиков» на определенное время и за определенную плату, чтобы запустить DDoS-атаку против выбранной цели.

Подтверждение

Чтобы установить, есть ли у хоста открытый сервис в Интернете, можно использовать простые служебные программы или инструменты, входящие в стандартный дистрибутив Linux/Ubuntu. Тест следует запускать не на самом хосте или в локальной сети, а на другом узле в Интернете.

Сборщик информации о домене (копать)

Чтобы убедиться, что сервер mDNS открыт из Интернета, можно использовать инструмент Domain Information Groper (dig) для опроса сервера mDNS. Вы можете отправить запрос mDNS для произвольного доменного имени на IP-адрес сервера mDNS:-

В следующем примере замените xxx.xxx.xxx.xxx. с IP-адресом mDNS-сервера.

$ dig +short -p 5353 -t ptr _services._dns-sd._udp.local @ xxx.xxx.xxx.xxx

Открыто доступная служба mDNS вернет ответ, аналогичный приведенному ниже примеру:

DiG 9.10.31-P4-Ubuntu > ЦЕЛЬ @ xxx.xxx.xxx.xxx _workstation._tcp.local. _udisks-ssh._tcp.local.:

В противном случае время запроса истечет:

<р>;; время соединения истекло; нет доступа к серверам.

Решение

Если службы mDNS не требуются, отключите службы mDNS на устройствах, где они разрешены, или заблокируйте входящий и исходящий трафик mDNS через порт 5353/UDP.

Если требуются службы mDNS, ограничьте доступ к службам mDNS авторизованными или определенными IP-адресами.

Дополнительная информация

Фильтрация входящего и исходящего трафика

Внедрение передового опыта в отношении фильтрации входящего трафика ограничивает влияние атаки типа "отказ в обслуживании" (DoS) на собственную сеть, а внедрение передового опыта в отношении фильтрации исходящего трафика ограничивает влияние скомпрометированной сети в случае отказа в обслуживании. сервисных (DoS) атак на сети других организаций. Дополнительную информацию о фильтрации входящего и исходящего трафика можно найти по следующей ссылке - Фильтрация входящего и исходящего трафика

Атака типа "отказ в обслуживании" (DoS) на основе UDP

Протокол пользовательских дейтаграмм (UDP), универсальный носитель для нескольких протоколов более высокого уровня, имеет ряд свойств, делающих его уязвимым для использования в атаках типа "отказ в обслуживании" против третьих лиц. Дополнительную информацию о компонентах и ​​методах, используемых в атаке DoS на основе UDP, можно найти по следующей ссылке — Атака типа «отказ в обслуживании» (DoS) на основе UDP

Дополнительная информация

Сообщить об инциденте кибербезопасности

Отчеты помогают NCSC лучше понять среду угроз и помогут другим организациям, которые также подвержены риску.

Двумя расширениями протокола DNS являются многоадресная рассылка DNS (mDNS) и обнаружение службы DNS (DNS-SD). mDNS расширяет систему службы доменных имен для работы по локальной многоадресной рассылке. DNS-SD добавляет поддержку, необходимую для обнаружения сетевых служб через DNS.

Многоадресный DNS

Multicast DNS (mDNS) предоставляет простую в настройке и обслуживании систему службы имен для компьютеров, подключенных к локальной сети. Все участвующие сетевые устройства в одном и том же локальном канале выполняют стандартные функции DNS, используя многоадресный DNS, а не одноадресный, и не нуждаются в одноадресном DNS-сервере. Для администраторов основное преимущество mDNS заключается в том, что в локальной сети не нужно поддерживать одноадресный DNS-сервер. Например, нет необходимости обновлять и поддерживать имена хостов в файлах, чтобы преобразовать имя хоста в IP-адрес для устройств по локальной ссылке, использующих mDNS.

Обнаружение службы

Сетевые службы включают печать, передачу файлов, совместное использование музыки, серверы для обмена фотографиями, документами и другими файлами, а также службы, предоставляемые другими локальными устройствами. Поддержка обнаружения служб DNS в ОС Solaris включает платформу с открытым исходным кодом и инструменты от Apple, позволяющие приложениям рекламировать и обнаруживать сетевые службы с помощью DNS в ОС Solaris.

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

Администрирование mDNS

Используйте средство управления службами (SMF) для администрирования демона mDNS. Вы можете использовать SMF для запуска и остановки службы mDNS.

Развертывание mDNS

Чтобы mDNS функционировал, он должен быть развернут на всех одноранговых узлах, которые должны участвовать в mDNS. Он используется для объявления доступности услуг, предоставляемых на узле.

Multicast DNS и Service Discovery устанавливаются по умолчанию во «все» кластере при установке ОС Solaris. Для других типов устройств, например принтеров, музыкальных, видео- и коммуникационных устройств, на многих уже установлен mDNS.

Помимо установки, mDNS должен быть включен и включен в файл /etc/nsswitch.conf. См. nsswitch.conf(4)

Включить mDNS

Для ОС Solaris от имени пользователя root или пользователя с соответствующими правами включите mDNS на каждом компьютере, который будет участвовать в mDNS.

Включение mDNS таким образом сохраняется при обновлении и перезагрузке. Для получения дополнительной информации см. svcadm(1M).

Редактировать nsswitch.conf

Чтобы иметь возможность разрешать локальные хосты, отредактируйте файл nsswitch.conf и добавьте mdns в список служб имен. Например, файл может выглядеть следующим образом:

Пример формы, которую должен иметь такой файл, см. в /etc/nswitch.conf.dns .

Просмотреть ошибки или сообщения

Проверьте журнал многоадресной службы DNS на наличие ошибок или сообщений.

Инструмент mDNS и dns-sd

Используйте команду dns-sd в качестве инструмента диагностики сети для просмотра и обнаружения служб, аналогично тому, как вы используете ping (1M) или traceroute (1M).

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

Для получения полной информации о dns-sd см. справочную страницу для dns-sd (1M), а для включения службы DNS в приложения см. справочную страницу libdns_sd (3DNS_SD).

ПРИМЕРЫ команды dns-sd

Реклама типографии

Следующая команда объявляет о наличии службы печати LPR на порту 515 на «моем тестовом» компьютере, чтобы она была доступна для клиентов печати, совместимых с DNS-SD:

Чтобы эта регистрация была полезной, служба LPR должна быть доступна на порту 515.

Реклама веб-страницы

На этой странице сравниваются обычные DNS и mDNS и упоминаются различия между протоколами DNS и mDNS. Полная форма mDNS — многоадресная DNS (т. е. система доменных имен).

Полная форма DNS | Система доменных имен

Как уже упоминалось, DNS — это сокращенная форма системы доменных имен. Он использует DNS-серверы. DNS-сервер сопоставляет имя хоста с IP-адресом аналогично телефонным книгам или каталогам, которые сопоставляют имя с номером телефона. Это сделано для того, чтобы легко запомнить имя по сравнению с IP-адресом.

Перед разработкой DNS необходимо управлять файлом hosts, который содержит IP-адреса и их соответствующие имена. Но со временем из-за того, что к Интернету было добавлено большое количество компьютеров, стало трудно управлять обновленной копией файла hosts на всех компьютерах. Это привело к развитию DNS во всем мире.

DNS-серверы и резолверы

DNS работает путем обмена сообщениями между клиентскими и серверными машинами. Клиентское приложение передаст имя узла назначения процессу DNS, чтобы получить IP-адрес.

Как показано на рисунке 1, аппаратные адреса используются в физической сети, IP-адреса используются в Интернете, а символические адреса, такие как доменные имена, используются в приложениях или используются пользователями. Протоколы ARP/RARP преобразуют IP-адрес в MAC-адрес и наоборот. DNS выполняет преобразование между доменным именем и IP-адресом.

DNS — это распределенная база данных, реализованная в иерархии серверов имен. На рисунке показана иерархия и синтаксис DNS и mDNS в виде дерева. Как показано, доменное имя делится на TLD (домен верхнего уровня), метку и имя хоста. Каждой организации необходимо получить TLD (например, com, org, edu и т. д.) в центральном органе.

Также см. DNS и DHCP >>, чтобы понять разницу между протоколами DNS и DHCP.

мДНС | Многоадресный DNS

Как и DNS, mDNS также преобразует доменные имена в IP-адреса. mDNS работает на уровне локальной сети, в отличие от обычных DNS, которые работают на глобальном уровне. Он работает в сочетании с протоколом DNS-SD (обнаружение службы) в сети zeroconf. Сеть с нулевой конфигурацией не требует ручного управления. Кроме того, сеть zeroconf не использует DNS-сервер и DHCP-сервер для своей работы.

Структура имени mDNS

DNS-SD позволяет клиентам обнаруживать именованный список экземпляров службы и ее тип службы и разрешает эти различные службы в имена хостов с помощью стандартного сообщения запроса DNS. Протокол mDNS указан в RFC 6762, а протокол DNS-SD указан в RFC 6763. Существуют различные реализации mDNS, включая Bonjor, Avahi, Windows и т. д. На рисунке показано дерево структуры именования обычных DNS и многоадресных DNS (т. е. mDNS). .

Многоадресная рассылка DNS работает на локальном уровне канала, поэтому каждый узел может быть доступен без маршрутизации. Пакет mDNS не будет пересылаться ни одним маршрутизатором.

Для области локальной связи IETF определяет один единственный домен верхнего уровня «.local.». Это зарезервировано для локального имени ссылки, используемого в сети mDNS. Это позволяет любому устройству генерировать локальное доменное имя своей ссылки в таких формах, как «single-dns-label.local.». Например, "Мойкомпьютер.локальный".

Кроме того, сами пользователи могут использовать иерархическое имя, например "c.printing.local". или "d.printing.local." и т.д. Домен «.local». обрабатывается так же, как и любой другой домен, который может отображаться в списке поиска DNS, но имеет только локальное значение. Если имя домена заканчивается на «.local.», это означает, что это сообщение должно быть обработано протоколом mDNS.

рабочий пример mDNS

Давайте разберем mDNS на примере, как показано на рисунке. Как показано, предположим, что есть три узла, и узел-1 хотел бы использовать услугу печати, предлагаемую узлом-2. Как уже упоминалось, все узлы в системе mDNS функционируют как сервер или клиент. Это плоская структура, за которой следует протокол mDNS.

➨Предположим, что узлу-1 нужен IP-адрес узла-2.
➨Поскольку в небольшой сети, состоящей из mDNS, нет централизованного DNS-сервера, узел-1 не знает, откуда взять IP-адрес узла-2.
➨В этом сценарии узел-1 отправляет многоадресный запрос с запросом IP-адреса доменного имени «node2.local» всем узлам, подключенным к этой локальной сети.
➨Следовательно, узел-2 и узел-3 в локальной сети получают запрос и решают, отвечать или нет.
➨Поскольку узел-2 имеет полномочия для этого запроса, он генерирует ответ, чтобы ответить на этот вопрос запроса. Здесь node-2 действует как сервер для запрошенного запроса. Ответ от узла-2 передается в локальную сеть многоадресной рассылкой.
➨Узел-1 получает многоадресное сообщение и использует его для службы печати, обслуживаемой узлом-2.
➨У узла 1 было два способа узнать, предлагает узел 2 услугу печати или нет. При первом подходе узел-1 кэширует периодические служебные объявления, передаваемые узлом-2. Во втором подходе узел-1 может использовать протокол DNS-SD для обнаружения услуг, предлагаемых узлом-2.

Табличная разница между протоколами DNS и mDNS

В следующей таблице указаны различия между протоколами DNS и mDNS. Это сравнение между традиционным или обычным DNS и mDNS очень полезно для начинающих.

< td>Да < td>Раздел вопросов в ответном сообщении тд>

Также укажите преимущества и недостатки протокола mDNS >> по сравнению с традиционным или обычным протоколом DNS.


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

Работа DNS происходит при обмене сообщениями между машинами клиента и серверами. Имя узла назначения передается приложением клиента в процесс DNS для получения IP-адреса.

В физических сетях используются аппаратные адреса, а в Интернете — IP-адреса. Доменные имена — это символические адреса, которые используются пользователями или в приложениях. IP-адреса преобразуются в MAC-адреса по протоколам ARP/RARP, и наоборот, это также верно. Преобразование между IP-адресом и доменным именем выполняется DNS.

Он служит распределенной базой данных, реализация которой происходит в иерархии серверов имен. Разделение доменного имени осуществляется на метку, домен верхнего уровня и имя хоста. Для каждой организации важно обратиться в центральный орган с целью получения ДВУ.

Многоадресный DNS:

mDNS также участвует в преобразовании доменных имен в IP-адреса, аналогично DNS. В отличие от обычного DNS, работа mDNS осуществляется на уровне локальной сети, поскольку работа DNS происходит на глобальном уровне. В сети Zeroconf работает в сочетании протокола DNS-SD. В сети нулевых конфигураций нет необходимости в ручном управлении. Кроме того, работа сети zeroconf не зависит от DHCP-сервера или DNS-сервера.

Клиентам разрешено DNS-SD для обнаружения экземпляров службы с именами списка и типа службы.Сообщение запроса стандартного DNS используется для разрешения услуг на имена хостов. Спецификация протокола mDNS содержится в RFC 6762, а DNS-SD — в RFC 6763. mDNS имеет несколько реализаций, таких как Windows, Avahi, Bonjor и т. д.

Читайте также:

Функции Обычный DNS mDNS
Полная форма Система доменных имен Система многоадресных доменных имен
Тип и размер структуры Иерархическая структура, макс. размер: 255 байт для каждого домена Плоская структура, макс. размер: 255 байт
IP-адрес Глобальный IP-адрес Локальный/глобальный IP-адрес
Запись сервера имен Да Нет
Запись начала полномочий Нет
UDP-порт источника/назначения 53 5353
Размер пакета UDP 512 байт > чем 512 байт
Количество вопросов в сообщении запроса 1 1 или более
Известное подавление ответов Нет Да
Поле идентификатора запроса Использовать Игнорировать
Существует Не существует
Сервер Специализированный DNS-сервер требуется Каждый узел функционирует как сервер
Метод отправки Unicast Multicast/Unicast