Посмотрите наши лучшие предложения ⇛ домены со скидками... и самые дешевые домены...

DNSSEC

Система доменных имен Domain Name System Security Extensions (DNSSEC) является расширением службы DNS, она создана с целью обеспечения подлинности и целостности транзакций DNS. Пользователи службы DNS могут проверить тот факт, что сервер, с которым они работают, поставляет данные, идентичные с теми, которые были авторизованы и отправлены с сервера. DNSSEC был разработан как средство против Cache-Poisoning.

Шифрование данных DNS в контексте DNSSEC не предусмотрено.

Обзор

DNSSEC использует асимметричные системы шифрования. «Владелец» информации — как правило, главный сервер, находящийся в защищенной зоне — хранит данные в зашифрованном виде. Клиенты DNS могут проверить запись с помощью открытого ключа владельца и таким образом проверить подлинность и целостность данных.

Оригинальная, указанная в RFC 2535, версия DNSSEC, показала себя на практике из-за комплекса управления ключами как непригодная. Распространение DNSSEC было задержано на несколько лет до 2005 года, после чего DNSSEC полностью переписали. Чтобы избежать несовместимости с существующим программным обеспечением, были введены новые типы записей ресурсов (RRSIG заменили на SIG, DNSKEY заменили на KEY, NXT заменили на NXT). В октябре 2005 года был впервые зарегистрирован домен верхнего уровня с цифровой подписью. С этого момента DNSSEC был введен в качестве стандарта.

По состоянию на 5 мая 2010 года служба DNSSEC была введена на всех 13 корневых серверах.

Функционирование

Владелец информации DNS является для зоны, в которой находится информация, авторитетным мастер-сервером. Для каждой зоны, подлежащей защите, сгенерирован собственный ключ. Открытая часть ключа записан как DNSKEY в файле зоны. Закрытый ключ каждого отдельного RR (Resource Record) является цифровой подписью в этой зоне. Это требует предоставления нового типа RR, а именно записи RRSIG, которая содержит подпись принадлежащих записей DNS.

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

Запись ресурса может быть сделана несколько раз (с разными ключами). Это имело бы смысл, если бы в случае истечения срока действия ключа в ближайшее время мы вскоре могли его продлить. Ключи имеют уникальный номер-идентификатор. Цифровая подпись DNSSEC также включает в себя дату, начиная с которой она действует, и дату окончания, когда ее действие заканчивается.

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

Оценка резолвера

Обычные резолверы DNS (они называются Stubresolver), как правило, не способны проверить цифровую подпись записи DNS. Согласно доминирующей сегодня философии DNS резолверы являются очень простой программой, которая завалена множеством сложных операций DNSSEC. Вместо этого, DNSSEC содержится на центральном рекурсивном сервере — часто локальном — имеющим один резолвер. Клиент, который хочет зарегистрировать домен, посылает запрос на этот центральный сервер. При установке бита DO (DNSSEC OK) в заголовке DNS, выводится сообщение о том, что будет проведена проверка подлинности. После успешной аутентификации, центральный сервер принимает бит AD (проверка данных).

Несуществующие имена

С помощью DNSSEC можно доказать, что определенное имя не существует. Для этого, при подписании файла зоны все записи расположены в алфавитном порядке и связаны между собой записью NSEC. Последнее название указывает на первое, то есть получается круговая цепь. Например: name1 → name2, name 2 → name2

5, name5 → name1. Для каждого имени есть одна запись NSEC, которая также подписана. К примеру, если резолвер запросит несуществующее name3, то сервер посылает отрицательный ответ в дополнение запись NSEC name2 → name5. Так как это подписано NSE, то резолвер может быть уверен, что между name2 и name5 нет никаких дальнейших контактов, и поэтому name3 не существует.