Настройка кэширующего DNS провайдера или организации для поддержки протокола DNSSEC, как правило, не вызывает проблем. Для настройки нужно лишь включить поддержку этого протокола и загрузить список ключей в конфигурационный файл BIND.
К сожалению, корневые DNS-сервера все еще не поддерживают DNSSEC. Существуют лишь пилотные проекты, содержащие подписанные копии корневых доменов, такие как www.rs.net. Поэтому вам придется вносить ключи для каждого домена верхнего уровня по отдельности. Сейчас DNSSEC поддерживают (и имеют свои ключи) домены NL, SE, MX, ряд доменов второго уровня UK, популярные во всем мире домены COM, NET, ORG, а так же домены, отвечающие за обратное преобразование IP-адресов региона RIPE.
Но есть и другой механизм проверки правильности ответа DNS именуемый look-aside. Проверка осуществляется вне иерархии доменов, при этом администратор любого домена может добавить информацию в систему DLV. Этот механизм также поддерживается BIND 9.
В настоящее время система DNSSEC в домене RU организована по подобию пилотного проекта VeriSign, где подписанный домен хранится на отдельном сервере и прописывается в соответствующем файле вашего DNS-сервера как forward домен.
Рассмотрим настройку широко распространенного DNS-сервера BIND. Вам потребуется BIND версии не ниже 9.3, собранный с поддержкой SSL. Для настройки нужно внести в конфигурационный файл bind.conf следующие строчки:
options {
dnssec-enable yes;
};
zone "ru." {
type forward;
forwarders { 195.24.65.7; };
};
trusted-keys {
"ru." 257 3 5
"AQPFTcrI419hTu06QuPs95t9e8rirIvmpNtqLRDKTu28iPv4xbNxKLbE
uVlsjhfaSPqmqKnNmb7WeexloTCVbJe1jYf8g0c1Crec8TvglLq/PB/J
CxD3aD2pmlBx6sOCiSXR3VpjvqMUzENl/PajSFpKnPs3dLAwrDrkqwSI
M/ORZw==";
};
После внесения изменений нужно перезапустить named.
Внимание! Открытый ключ (тот, что указан в trusted-keys) меняется с периодичностью раз в год!
Если вы все сделали правильно, то DNS-тест dig выполненый на Вашем ns-сервере при резолве доменного имени ns.dnssec.ru выдаст наличие флага ad:
> dig @127.0.0.1 ns.dnssec.ru +retry=1 +dnssec +multiline
; <<>> DiG 9.3.0beta3 <<>> @127.0.0.1 +retry=1 +dnssec +multiline
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50414
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 5
^^ этот флаг (ad) означает, что был получен защищенный DNS-ответ.