Я пытаюсь запустить DNSSEC, но у меня возникают некоторые трудности с его работой.
Я использую BIND 9.14.2 (в Windows всего). BIND работает нормально, и на этих серверах есть несколько производственных зон. По какой-то причине я просто не могу подписать свою тестовую зону. Не знаю почему.
Вот что я сделал до сих пор. Я создал новую зону под названием test.com. Для этого я создал пару ключей:
Ключ подписи ключа:
dnssec-keygen -a RSASHA256 -f KSK -K "d:\zonekeys" test.com
И ключ подписи зоны:
dnssec-keygen -a RSASHA256 -K d:\zonekeys\ test.com
Они оба существуют на диске и выглядят нормально.
d:\zonekeys\Ktest.com.+008+44385.key
d:\zonekeys\Ktest.com.+008+44385.private
d:\zonekeys\Ktest.com.+008+47869.key
d:\zonekeys\Ktest.com.+008+47869.private
Зона настроена как таковая .. .
zone test.com {
type master;
file "test.com.zone";
key-directory "d:\zonekeys";
auto-dnssec maintain;
inline-signing yes;
};
Зона работает, и я могу ее ОТКРЫТЬ. Просто нет ответа DNSSEC.
Вопрос в том, почему? Я убедился, что eDNS включен. Зона обновлена. BIND перезапустился, rndc reload и все такое. Он просто действует так, как будто DNSSEC отсутствует вообще.
Файл test.com.zone.signed был создан и существует как своего рода двоичный файл. Я подозреваю, что он обслуживается, но просто не содержит подписанных данных. Должен ли он содержать подписанные данные? Насколько я понимаю, «встроенная подпись» означает, что зона должна подписываться «на лету» при обслуживании.
Что мне здесь не хватает? Почему я не получаю подписанный ответ DNSSEC?
Спасибо @piotr-p-karwasz за указание на меня в правильном направлении. Это была действительно проблема accessrights в .private файлы. В named_debug.log я нашел следующий
20-Dec-2019 9:42:03.665 general: warning: dns_dnssec_findmatchingkeys: error reading key file Ktest.com.+008+44385.private: permission denied
20-Dec-2019 9:42:03.665 general: warning: dns_dnssec_findmatchingkeys: error reading key file Ktest.com.+008+47869.private: permission denied
, оказалось, что наследование было отключено для папки, где у меня были свои файлы ключей (d:\zonekeys), таким образом, связывать процесс не имел никакого доступа к этим файлам, только к папке.