Разработка электроники,
Систем автоматики,
Программного обеспечения
ООО "Антех ПСБ",
Санкт-Петербург
+79811865082
anteh@bk.ru
03.08.2013 Сайт https://anteh.ru
Статья, на хабаре http://habrahabr.ru/post/188848/
Краткое описание. NSD и Opendnssec не связаны, ни через порты, ни через сокеты, ни через память. Opendnssec автоматизирует процесс подписи зон. Берутся неподписанные файлы зон NSD сервера, делаются их копии. Копии в дальнейшем подписываются или переподписываются с заданной периодичностью. Далее подписанные файлы подсовываются NSD. DNSSEC в NSD включается автоматически. Для хранения информации используется как SQLite, так и MySQL. SQLite рекомендуется только для тестовых применений.
B качестве DNS используем NSD. OpenDNSSEC установлен настроен и штатно работает используя MySQL. NSD работает на первичном DNS сервере, вторичный DNS принадлежит сторонней компании регистратору поддерживающей DNSSEC.
В файл /usr/local/etc/nsd/nsd.conf добавляем запись для новой site.ru зоны:
|
В "pattern" с именем toslave описания IP вторичных DNS.
# nsd-checkconf /usr/local/etc/nsd/nsd.conf
# nsd-control addzone site.ru toslave
# nsd-control reload site.ru
# nsd-control reconfig
Создаём описание зоны в файле /usr/local/var/opendnssec/unsigned/site.ru владелец и группа этого файла opendnssec:opendnssec. Добавляем зону:
|
Проверяем файл /usr/local/etc/opendnssec/zonelist.xml в конце будет xml описание добавленной зоны.
В /usr/local/etc/opendnssec/conf.xml опция <RequireBackup/> должна быть закомментирована, иначе первоначально ключи формироваться не будут, после появления ключей раскомментируем опцию обратно.
# ods-ksmutil update all
# ods-ksmutil update zonelist
# ods-signer sign catvrep.ru
# ods-ksmutil backup prepare
# ods-ksmutil backup commit
# ods-ksmutil backup list
# ods-ksmutil key list --verbose
Здесь должны увидеть 2 строки с ZSK и KSK для site.ru
В /usr/local/etc/opendnssec/conf.xml разкомментируем ранее закомментированную опцию <RequireBackup/>
Проверяем: в /usr/local/var/opendnssec/signconf появится xml файл site.ru.xml. И соответственно в /usr/local/var/opendnssec/signed появится файл подписанной зоны site.ru тот, который будет отдаваться вторичному DNS серверу.
Теперь настраиваем вторичные DNS в личном кабинете компании предоставляющей услугу вторичных DNS с поддержкой DNSSEC. Для дальнейших действий KSK должны быть в ACTIVE
# ods-signer queue
# ods-ksmutil key list --verbose
Обращаем внимание на поле "Date of next transition (to):" там указано время, когда publish станет ready. publish в ready должен был быть установлен в 9часов утра следующего дня. В скобках справа от даты указан статус следующего ключа. Т.е. если сейчас он ready, то в следующий раз станет active, если он active, то в следующий раз будет retire.
Соответственно на следующее утро:
# ods-ksmutil key list --verbose
Ключ стал ready и ожидается ds-seen
# ods-ksmutil key ds-seen -z site.ru -x 34622
Теперь сообщаем провайдеру о открытом ключе и DS записях для каждой из зон. У провайдера на сайте в личном кабинете есть/должна быть форма заполнения с примером.
При экспорте после ключа -e нужно установить текущее состояние (state) ключа KSK publish, active…
# ods-ksmutil key export -z site.ru -e active -x 34622
;publish KSK DNSKEY record:
site.ru. 3600 IN DNSKEY 257 3 8 Aw…dk2= ;{id = xxxx (ksk), size = 2048b}
Для размещения DNSKEY у РД, прямо всё, полученное через ods-ksmutil key export что есть копируем в текстовое поле ввода на сайте в личном кабинете, через некоторое время введённые данные автоматически будут подправлены до вида как в примере. Имеется в виду пример заполнения на веб странице личного кабинета РД. Т.е. всё, что после ;publish KSK DNSKEY record: прописываем в поле DNS Key: в личном кабинете РД.
Теперь выясняем DS записи для домена:
# ods-ksmutil key export -z site.ru -e active -x 34622 --ds
;publish KSK DS record (SHA1):
site.ru. 3600 IN DS 57062 8 1 2a…34df
;publish KSK DS record (SHA256):
site.ru. 3600 IN DS 57062 8 2 e3fa…d492
Соответственно копируем полученные DS записи в соответствующее поле ввода в личном кабинете.