Как перенести конфигурацию BIND в политику dnssec из режима автоматического обслуживания dnssec без прерывания?

BIND 9.16 представила новую функцию dnssec-policy как дополнительную более автоматизированную возможность управления ключами DNSSEC и подписи по сравнению с давно установленной функцией auto-dnssec support .

Похоже, что в документации не описан переход от старого к новому, но соответствующая вики-страница , похоже, указывает, что уже существующие ключи будут захвачены dnssec-policy .

При этом настройка новой зоны с помощью dnssec-policy достаточно проста, но перенос существующей зоны с auto-dnssec support на dnssec-policy ], похоже, не работает так, как можно было бы ожидать.
Я ожидал, что политика, совместимая с существующими ключами, продолжит использовать эти ключи.

Похоже, что все существующие ключи немедленно удаляются из зоны, потому что они «просрочены» и заменяются новыми ключами, даже если новая политика требует совместимого набора ключей (тот же алгоритм и размер) и для существующих ключей не определены свойства окончания срока службы (только Создано , Опубликовать и Активировать тайминги в файлах .key).

Политика, которую я использовал при тестировании, выглядит следующим образом (названа так, чтобы отразить, что к чему во время тестирования):

dnssec-policy alg13-ksk-unlimited-zsk-60day {
     keys {
         ksk key-directory lifetime unlimited algorithm ECDSAP256SHA256;
         zsk key-directory lifetime P60D algorithm ECDSAP256SHA256;
     };
};

Это вывод журнала, когда конфигурация изменилась с auto-dnssec keep; на dnssec-policy alg13-ksk-unlimited-zsk-60day; :

zone zone.example/IN (signed): reconfiguring zone keys
keymgr: DNSKEY zone.example/ECDSAP256SHA256/49004 (KSK) created for policy alg13-ksk-unlimited-zsk-60day
keymgr: DNSKEY zone.example/ECDSAP256SHA256/54646 (ZSK) created for policy alg13-ksk-unlimited-zsk-60day
Removing expired key 20481/ECDSAP256SHA256 from DNSKEY RRset.
DNSKEY zone.example/ECDSAP256SHA256/20481 (ZSK) is now deleted
Removing expired key 12506/ECDSAP256SHA256 from DNSKEY RRset.
DNSKEY zone.example/ECDSAP256SHA256/12506 (KSK) is now deleted
Fetching zone.example/ECDSAP256SHA256/49004 (KSK) from key repository.
DNSKEY zone.example/ECDSAP256SHA256/49004 (KSK) is now published
DNSKEY zone.example/ECDSAP256SHA256/49004 (KSK) is now active
Fetching zone.example/ECDSAP256SHA256/54646 (ZSK) from key repository.
DNSKEY zone.example/ECDSAP256SHA256/54646 (ZSK) is now published
DNSKEY zone.example/ECDSAP256SHA256/54646 (ZSK) is now active
zone zone.example/IN (signed): next key event: 22-Mar-2020 15:08:19.805

Как видно, существующие ключи были немедленно удалены (даже не после обычной процедуры смены позиций!) И заменены новыми ключами из того же типа.
Учитывая, что простая мгновенная замена ключей вместо выполнения намеченной процедуры одновременного нажатия клавиш ломает все, очевидно, что простое переключение конфигурации на dnssec-policy - бесполезно.

Глядя на файлы ключей, я заметил, что дополнительный файл .state добавляется рядом со старым и новым ключами.
Я не знаю, нужен ли этот файл как-то для правильной работы dnssec-policy ? Может ли предварительное создание этих файлов каким-то образом избежать такого поведения?

Основной вопрос заключается в следующем: есть ли способ перейти на использование dnssec-policy без прерывания работы? Если да, то как?

3
задан 22 March 2020 в 19:23
1 ответ

Поведение, описанное в вопросе, было ошибкой, которая должна быть устранена, начиная с версии BIND 9.16.2.

Из Примечаний к выпуску BIND 9.16.2:

Исправленные ошибки

[snip]

  • При попытке перенести уже подписанную зону с автоматического обслуживания dnssec на зону, основанную на политике dnssec, существующие ключи были немедленно удалены и заменены новыми. Поскольку ограничения по времени переключения ключей не соблюдались, возможно, что некоторые клиенты не смогли бы проверить ответы до тех пор, пока вся старая информация DNSSEC не истечет из кэшей. Теперь BIND просматривает метаданные времени существующих ключей и включает их в свою политику DNSSEC. [GL #1706]
1
ответ дан 11 May 2020 в 16:35

Теги

Похожие вопросы