Я пытаюсь запустить 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 за то, что указал мне в правильном направлении. Это действительно была проблема с правами доступа к файлам .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), поэтому процесс привязки не имел доступа к этим файлам, только к папке.