Вопрос

Мне кажется, что многие проблемы с DNS, особенно проблемы безопасности, имеют первопричину в том, что DNS реализуется через UDP;например, респондент не обязательно должен быть тем, за кого он себя выдает.

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

Это было полезно?

Решение

Буква "m" в mDNS означает "многоадресная рассылка". Запрос mDNS - это в значительной степени обычная многоадресная рассылка DNS-запросов (она же широковещательная рассылка) в локальную подсеть.Каждый узел в подсети получает все пакеты запросов mDNS и отвечает на них для своего имени узла.Поскольку невозможно выполнить широковещательную передачу TCP, вы не смогли бы реализовать MDNS через TCP.

Однако здесь есть более фундаментальный момент: mDNS уже полностью небезопасен.Как вы заметили, любой может ответить на любой запрос, поэтому вам в значительной степени приходится доверять всем хостам в сети.Переключение на TCP (если бы вы могли) не устранило бы эту проблему.

Другие советы

Zeroconf не заботится о безопасности;безопасность должна быть реализована на уровне выше.

TCP не сильно изменился бы.Эти проблемы должны решаться криптографически.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top