Записи, которые встретятся почти в каждой зоне
Что такое wildcard DNS-запись: применение и риски
Wildcard DNS-запись использует метку-звёздочку, чтобы отвечать за имена, для которых в зоне нет более конкретной записи. Она может быть полезна, когда приложение принимает множество поддоменов арендаторов или когда сервис намеренно обслуживает широкий набор имён хостов. Wildcard — не универсальное правило, переопределяющее каждую явную запись, и его поведение зависит от существования DNS-имени и запрошенного типа записи. Он также может давать неожиданные результаты, заставляя опечатки или непредусмотренные поддомены куда-то разрешаться вместо того, чтобы чётко завершаться ошибкой. Используйте его, только если приложение и модель безопасности рассчитаны на такой охват.
Как работает сопоставление wildcard
Метка wildcard записывается как звёздочка на определённом уровне имени, обычно *.example.com. Она может поставлять данные для определённых имён ниже этой точки, когда более близких подходящих данных нет. Это не значит, что каждый потомок на любой глубине создаётся автоматически так, как можно подумать по аналогии с подстановочными символами файловой системы. На результат влияют существующие имена, делегирования и пустые нетерминальные узлы. Важен и тип записи: wildcard-запись A не создаёт автоматически все возможные MX, TXT или AAAA для каждого поддомена. Проверяйте имена и типы записей, которых ждёт ваше приложение, а не считайте, что один wildcard охватывает всё поведение DNS.
| Вариант конфигурации | Вероятный эффект |
|---|---|
| Явная запись для имени | Даёт настроенные данные этого имени |
| Wildcard у родителя | Может отвечать за подходящие ненастроенные имена |
| Только wildcard A | Не подразумевает wildcard-политику для почты или TXT |
| Нет подходящей записи | Может вернуть отсутствие данных или ошибку имени в зависимости от состояния зоны |
Типичный сценарий — мультиарендный хостинг, где каждый клиент получает поддомен, и все такие имена ведут на одну краевую точку приложения. Затем приложение проверяет имя хоста и определяет, какого арендатора или какой сайт обслуживать. DNS лишь доставляет запрос до конечной точки; он не проверяет, существует ли запрошенный арендатор и имеет ли отправитель к нему доступ. Приложение должно само обеспечивать свои правила маршрутизации и авторизации. Если неизвестные поддомены попадают на сайт по умолчанию, убедитесь, что он не открывает административные инструменты, отладочный контент или данные другого клиента.
Эксплуатационные соображения и безопасность
Wildcard может скрывать опечатки при тестировании, потому что имя с ошибкой всё равно может разрешиться. Он также может заставить автоматизацию сертификатов запрашивать имена, которые вы не собирались публиковать. Wildcard, связанные с почтой, требуют особой осторожности: wildcard-запись адреса не следует принимать за намеренную почтовую политику, а поведение catch-all для почты относится к почтовой системе, а не создаётся одним лишь DNS. Перед введением wildcard составьте перечень явных имён и делегированных поддоменов. Задокументируйте, кто отвечает за это поведение и что принимающее приложение делает с неожиданными именами хостов.
- Используйте wildcard-записи только для имён, которые ваше приложение готово обрабатывать.
- Сохраняйте явные записи для сервисов, которым нужна отдельная маршрутизация или политика.
- Проверяйте неизвестные и некорректные поддомены, а не только ожидаемые имена арендаторов.
- Не считайте wildcard DNS контролем доступа или авторизацией арендаторов.
- Перед развёртыванием оцените последствия для сертификатов, почты и мониторинга.
Диагностика ответа wildcard
Когда разрешается неожиданный поддомен, проверьте зону на наличие wildcard на соответствующем уровне и выясните, нет ли более конкретной записи или делегирования. Запросите точное имя и тип записи, затем сравните с целью wildcard. Если кажется, что wildcard не применяется, проверьте, не меняет ли существующий узел синтез wildcard для этой ветви дерева DNS. Интерфейсы провайдеров могут скрывать эти детали, поэтому уточните, как сервис реализует wildcard-записи. После удаления или изменения wildcard дождитесь истечения кешей и проверьте как ранее ожидаемые имена, так и имена, которые теперь должны завершаться ошибкой.
Wildcard — узконаправленный инструмент, а не способ обойти инвентаризацию имён хостов. Лучше всего он работает, когда продукт намеренно обслуживает переменное пространство имён, а приложение выполняет безопасную явную маршрутизацию по хосту. Для базового контекста см. типы DNS-записей и что делает CNAME. Публичный DNS-запрос подтвердит, что резолвер возвращает для выбранного имени, а тесты приложения подтвердят, что конечная точка правильно обращается с этим именем.
Проверяйте и ожидаемые, и неожиданные имена
Развёртывание wildcard нужно проверять не одним заведомо рабочим именем арендатора. Проверьте имя, которое должно обрабатываться, имя с явным переопределением и случайное имя, которого не должно существовать. Затем изучите и ответы DNS, и ответ приложения. Wildcard может направить неизвестную метку на сервис, но приложение должно возвращать безопасный ответ «не найдено», а не создавать случайную учётную запись по умолчанию или раскрывать конфигурацию. Повторяйте проверки после добавления явных записей и делегирований, поскольку структура дерева DNS может менять то, какие данные wildcard применяются. Задокументируйте предполагаемый шаблон имён, чтобы будущие операторы знали, ожидаем ли недавно разрешившийся поддомен или это сюрприз конфигурации.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Читайте также
CNAME — псевдоним имени, а не адреса
www.example.com
запись CNAME
cdn.provider.net
целевое имя хоста
192.0.2.10
запись A, итоговый ответ
Цепочки CNAME: как пройти по псевдониму до IP-адреса
Как записи CNAME образуют цепочки псевдонимов, как резолверы доходят до адресов A и AAAA и что проверять, когда цепочка рвётся.
Как письмо находит ваш почтовый сервер
Отправитель
you@gmail.com
Запрос MX
кто принимает почту?
Почтовый сервер
сначала приоритет 10
Входящие
доставлено
Выбирается наименьшее число приоритета; большие значения — резервные
MX-записи: как электронная почта находит дорогу
MX-записи сообщают интернету, какие почтовые серверы обрабатывают почту домена, и объясняют, почему они устроены иначе, чем A-запись.
Три уровня под названием «DNS-сервер»
Stub-резолвер
ваше устройство
Рекурсивный резолвер
провайдер, роутер или 1.1.1.1
Авторитетный
DNS самого домена
Рекурсивный резолвер и авторитативный сервер имён: разница
Слово «DNS-сервер» скрывает две совершенно разные роли: рекурсивный резолвер, который спрашивает, и авторитативный сервер, который знает ответ.