Основы
- DNS (Domain Name System)
-
Иерархическая система имён, сопоставляющая человекочитаемые доменные имена (например,
example.com) IP-адресам и другим ресурсным записям. DNS – это распределённая база данных, которую обслуживает сеть авторитетных серверов имён и рекурсивных резолверов. - Домен
- Имя, зарегистрированное в домене верхнего уровня (TLD). Домен – это точка делегирования в DNS, в которой владелец может создавать произвольное количество поддоменов и записей. Регистрируется и продлевается через регистратора доменов.
- TLD (Top-Level Domain)
-
Последний сегмент доменного имени:
.com,.org,.ru,.ioи т. п. Управляется реестрами под надзором ICANN. Две основные категории – общие TLD (gTLD) и национальные TLD (ccTLD). - Сервер имён
- Сервер, отвечающий на запросы DNS. Авторитетные серверы имён хранят записи зоны; рекурсивные резолверы получают записи с авторитетных серверов по запросу клиента. NS-записи домена указывают на его авторитетные серверы имён.
- Рекурсивный резолвер
-
DNS-сервер, который принимает запрос клиента, проходит по иерархии DNS (корень → TLD → авторитетный сервер) и возвращает итоговый ответ. Резолверы кэшируют результаты в соответствии с TTL. Примеры:
1.1.1.1,8.8.8.8, резолвер провайдера. - Зона
- Непрерывный фрагмент пространства имён DNS, управляемый как единое целое. Файл зоны содержит все её записи (SOA, NS, A, AAAA, MX и т. д.). Каждая зона размещается на одном или нескольких авторитетных серверах имён.
- Запись
- Одна единица данных в зоне DNS. Записи имеют тип (A, AAAA, MX, CNAME и т. д.), имя, TTL и значение, зависящее от типа. Зона содержит множество записей; их изменение – основная часть повседневного управления DNS.
- TTL (Time To Live)
- Время в секундах, в течение которого резолверы могут кэшировать запись, прежде чем запросить её у авторитетного сервера повторно. Типовые значения: 300 (5 мин), 3600 (1 час), 86400 (1 сутки). Меньшие TTL ускоряют распространение изменений, но увеличивают нагрузку на авторитетный сервер.
- Распространение
- Процесс распространения изменений DNS по резолверам по всему миру. Ограничено TTL предыдущей записи: после изменения записи резолверы продолжают отдавать закэшированное значение до истечения TTL. Для проверки используйте инструмент проверки обновления DNS на публичных резолверах.
Типы записей
- Запись A
-
Сопоставляет имя хоста IPv4-адресу.
www.example.com A 203.0.113.10означает, что www разрешается в IPv4203.0.113.10. Самый распространённый тип записи. - Запись AAAA
- Сопоставляет имя хоста IPv6-адресу. Аналогична A-записи, но для 128-битных IPv6-адресов. Произносится «quad-A».
- CNAME (Canonical Name)
-
Псевдоним одного имени хоста, указывающий на другое.
shop.example.com CNAME commerce-platform.netозначает, что запросы к shop должны разрешаться так, как если бы запрашивалось commerce-platform.net. CNAME не может сосуществовать с другими записями при том же имени, включая MX. - Запись MX
-
Указывает почтовый сервер для домена. Содержит приоритет (меньше значение – выше приоритет).
example.com MX 10 mail.example.comсообщает отправителям, что письма следует доставлять на mail.example.com. - Запись TXT
- Произвольные текстовые данные, привязанные к имени. Широко используется для верификации (подтверждение владения доменом) и для аутентификации писем (SPF, DKIM, DMARC – всё это TXT-записи).
- Запись NS
- Указывает авторитетные серверы имён зоны. У каждой зоны должно быть минимум две NS-записи. NS-записи в родительской зоне (у регистратора) указывают на вашего DNS-провайдера; NS-записи внутри самой зоны дублируют этот список.
- Запись SRV
-
Указывает расположение сервиса на конкретном хосте и порту, с приоритетом и весом. Используется SIP, XMPP, Minecraft, Matrix и другими протоколами, которым нужен механизм service discovery. Формат:
_service._proto.name TTL SRV priority weight port target. - CAA (Certification Authority Authorization)
-
Ограничивает, какие удостоверяющие центры могут выпускать сертификаты для домена.
example.com CAA 0 issue "letsencrypt.org"означает, что сертификаты для example.com может выпускать только Let's Encrypt. Проверяется удостоверяющими центрами перед выпуском; рекомендуется как дополнительный уровень защиты. - PTR (Pointer)
-
Сопоставляет IP-адрес имени хоста (обратное разрешение). Используется при обратных DNS-запросах, чаще всего требуется для почтовых серверов, чтобы письма не попадали в спам. Находится в зонах
in-addr.arpa(IPv4) илиip6.arpa(IPv6), управляется владельцем диапазона IP-адресов. - Запись ALIAS
- Как CNAME, но допустима на вершине зоны (на голом домене). При запросе разрешается в A/AAAA-записи цели и возвращает их клиенту. Полезна там, где CNAME технически запрещён, но вы хотите указывать на имя хоста, а не на IP.
- TLSA (DANE)
- Публикует в DNS ожидаемый TLS-сертификат или открытый ключ сервиса, обеспечивая работу DANE (DNS-based Authentication of Named Entities). Для доверия требуется DNSSEC. Формат включает поля usage, selector, matching type и данные сертификата.
- Запись DS
- Delegation Signer – публикуется в родительской зоне для построения цепочки доверия DNSSEC для дочерней зоны. Содержит хеш KSK дочерней зоны. Публикуется путём обновления DS-записи у регистратора после включения DNSSEC.
- SOA (Start of Authority)
- Метаданные зоны: первичный сервер имён, ответственный email, серийный номер, таймеры refresh / retry / expire / minimum. В каждой зоне ровно одна SOA-запись; резолверы используют её для настройки кэширования и передачи зон.
DNSSEC
- DNSSEC (DNS Security Extensions)
- Набор расширений, добавляющих криптографические подписи к ответам DNS, чтобы резолверы могли убедиться, что записи не были подменены в пути. Защищает от подделки ответов и отравления кэша DNS. Доверие выстраивается цепочкой: корень → TLD → ваша зона.
- KSK (Key Signing Key)
- Ключ DNSSEC, которым подписываются другие ключи DNSSEC – набор DNSKEY-записей. Хеш открытой части KSK публикуется как DS-запись в родительской зоне и закрепляет цепочку доверия. Ротируется реже, чем ZSK (обычно раз в год).
- ZSK (Zone Signing Key)
- Ключ DNSSEC, которым подписываются сами записи зоны. Ротируется чаще, чем KSK (раз в несколько месяцев), чтобы компрометация не затрагивала долгоживущие записи. ZSK подписывается ключом KSK.
- Запись DNSKEY
- Публикует открытые части ключей DNSSEC (KSK и ZSK) в зоне. Резолверы получают DNSKEY, чтобы проверять подписи других записей. DS-запись в родительской зоне ссылается на KSK по его хешу.
- RRSIG (Resource Record Signature)
- Подпись набора записей, созданная ключом ZSK (или KSK – для набора DNSKEY). Резолверы проверяют RRSIG с соответствующим DNSKEY, чтобы подтвердить подлинность записей. Присутствует рядом с каждым подписанным набором в зоне с DNSSEC.
- NSEC / NSEC3
- Записи, позволяющие DNSSEC доказать, что имя не существует (не раскрывая информацию обо всех остальных именах). NSEC3 хеширует имена перед публикацией, что усложняет перебор зоны. NexDNS по умолчанию использует NSEC3.
- NSEC3
- Вариант NSEC, который хеширует имена записей перед публикацией, усложняя атакующим перечисление всех имён в зоне. Для публичных зон рекомендуется именно NSEC3.
- Цепочка доверия
- Криптографическая связь от корневой зоны (KSK которой распространяется по доверенным каналам) через каждый TLD вплоть до конкретной зоны. Резолверы последовательно проверяют подписи: корень → TLD → ваша зона. Цепочка рвётся, если DS-запись в родительской зоне отсутствует или устарела.
Аутентификация email
- SPF (Sender Policy Framework)
-
TXT-запись, перечисляющая серверы, которым разрешено отправлять почту от имени домена. Получатели проверяют SPF при доставке писем; несовпадение повышает спам-оценку. Формат:
v=spf1 include:_spf.example.com ~all. - DKIM (DomainKeys Identified Mail)
-
Криптографическая подпись, добавляемая к исходящим письмам отправляющим сервером и проверяемая по открытому ключу в TXT-записи
selector._domainkey.example.com. Подтверждает, что письмо не было изменено в пути и действительно отправлено из указанного домена. - DMARC (Domain-based Message Authentication, Reporting & Conformance)
-
Политика поверх SPF и DKIM, которая сообщает получателям, что делать с письмами, не прошедшими аутентификацию (none / quarantine / reject), и куда отправлять агрегированные отчёты. Публикуется как TXT-запись
_dmarc.example.com.
Операции
- Передача зоны
- Копирование зоны с одного сервера имён на другой. AXFR копирует всю зону целиком; IXFR – только изменившиеся записи начиная с указанного серийного номера. Используется между первичными и вторичными серверами имён для поддержания синхронизации.
- AXFR
- Полная передача зоны – вторичный (slave) сервер имён запрашивает всю зону у первичного (master). Редко доступна публично: обычно ограничена ACL по IP или TSIG. Удобна для разовой миграции между DNS-провайдерами.
- IXFR
- Инкрементальная передача зоны – вторичный сервер запрашивает только изменения с указанного серийного номера SOA. Эффективнее AXFR для зон с частыми небольшими обновлениями. При отсутствии инкрементальных данных автоматически переходит в AXFR.
- Первичная зона (master zone)
- Зона, записи которой создаются непосредственно на сервере имён (а не переносятся с другого источника). Большинство зон у DNS-провайдеров – первичные. В NexDNS первичные зоны создаются через панель, API или CLI.
- Вторичная зона (slave zone)
- Зона, записи которой переносятся с другого сервера имён (первичного) через AXFR / IXFR. Используется для зеркалирования существующей зоны ради избыточности или для подготовки миграции. NexDNS поддерживает вторичные зоны на тарифах Про и выше.
Современные протоколы
- DoH (DNS over HTTPS)
- Запросы DNS, инкапсулированные в HTTPS: неотличимы от обычного веб-трафика и защищены от инспекции на пути. Используется браузерами, операционными системами и резолверами, ориентированными на приватность. DoH работает на стороне резолвера; авторитетные серверы вроде NexDNS отвечают на нижележащий DNS-запрос резолвера.
- DoT (DNS over TLS)
- Запросы DNS через выделенное TLS-соединение на порту 853. Даёт ту же приватность, что и DoH, но распознаётся по порту и поэтому легче блокируется в ограничительных сетях. Как и DoH, это протокол стороны резолвера: авторитетные серверы в нём напрямую не участвуют.
- ECH (Encrypted Client Hello)
- Расширение TLS 1.3, шифрующее ClientHello и не позволяющее сетевым наблюдателям узнать, к какому сайту подключается клиент (раньше эта информация утекала через SNI). Требует, чтобы сайт публиковал DNS-запись типа HTTPS с параметрами ECH.
- EDNS (Extension Mechanisms for DNS)
- Набор расширений исходного протокола DNS, допускающий сообщения большего размера, дополнительные флаги и новые опции без потери совместимости. Необходим для DNSSEC; EDNS Client Subnet (ECS) используется некоторыми провайдерами для геоориентированных ответов.