Задача: выбрать доменную зону с поддержкой DNSSEC и разместить её локально на резолвере.
DNSSEC (DNS Security Extensions) — набор расширений протокола DNS, обеспечивающих криптографическую подпись записей. Резолвер может проверить, что ответ пришёл от легитимного авторитетного сервера и не был подменён.
Ключевые типы записей DNSSEC:
| Запись | Назначение |
|---|---|
RRSIG |
Цифровая подпись набора DNS-записей |
DNSKEY |
Открытый ключ зоны |
DS |
Хэш ключа дочерней зоны (связывает цепочку доверия) |
NSEC / NSEC3 |
Доказательство отсутствия записи |
Цепочка доверия строится от корневой зоны (.) через TLD (.org) до целевой зоны (iana.org). Unbound с параметром module-config: "validator cachedb iterator" проверяет эту цепочку для каждого ответа.
Если DNSSEC-подпись не проходит проверку — Unbound возвращает SERVFAIL вместо реального ответа.
iana.org — домен управляющего органа интернета, подписан DNSSEC. Запрашиваем A-записи с флагом +dnssec:
dig @127.0.0.1 iana.org A +dnssec
В секции ANSWER вместе с A-записью присутствует RRSIG — цифровая подпись набора. Флаг ad (Authenticated Data) в заголовке ответа подтверждает, что Unbound успешно верифицировал цепочку доверия.
Запрашиваем DNSKEY-записи зоны:
dig @127.0.0.1 iana.org DNSKEY +dnssec
Вывод содержит два типа ключей: 256 (ZSK — Zone Signing Key, подписывает записи зоны) и 257 (KSK — Key Signing Key, подписывает ZSK и входит в цепочку доверия через DS-запись родительской зоны).
DS-запись хранится в родительской зоне (.org). Проверяем её наличие:
dig @127.0.0.1 iana.org DS +dnssec
DS-запись возвращается вместе с RRSIG, подписанной ключом зоны .org. Это подтверждает, что iana.org встроена в глобальную цепочку доверия DNSSEC.
Открываем конфиг Unbound:
sudo nano /etc/unbound/unbound.conf
Добавляем в секцию server:
local-zone: "iana.org." static
local-data: "iana.org. 3600 IN A 192.0.32.8"
Применяем конфиг:
sudo unbound-control reload
На скриншоте — конфиг с добавленными строками и успешный вывод reload:
Тип static означает: отвечать только из локальных данных, на все остальные записи зоны возвращать NXDOMAIN. Зона iana.org выбрана как эталонный пример: она подписана DNSSEC, её подпись корректна, и IP-адрес хорошо известен (192.0.32.8).