[an error occurred while processing this directive]

Настройка DNSSEC в BIND 9.9
В BIND 9.9 появились новые средства для автоматизации формирования цифровых
подписей и управления ключами, позволяющие добавить поддержку DNSSEC без правки DNS-зон.

Настройка DNSSEC для домена.

Создаём отдельную директорию для файлов с ключами, так как файлов генерируется
достаточно много, для каждой зоны имеет смысл создать отдельную директорию с ключами.

   mkdir /etc/namedb/keys

Для работы DNSSEC требуется создать master-ключ (KSK, Key Signing Key), который
будет использован для создания цифровых подписей для других ключей, и ключи для
каждой из локальных зон (ZSK, Zone Signing Key).

Создаём KSK-ключ:

   dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE example.net

   Generating key pair......+++.....+++
   Kexample.net.+005+38287

Создаём ZSK-ключ:

   dnssec-keygen -a RSASHA1 -b 2048 -n ZONE example.net
   Generating key pair.....+++ ..+++
   Kexample.net.+005+55896

Делаем ключи доступными для чтения процессу named:

   chown bind:bind *

Включим в настройках named.conf ведение лога DNSSEC для упрощения анализа возможных проблем. 

Подготовим директорию для хранения лога:

   mkdir /etc/namedb/log
   chown bind:bind /etc/namedb/log

В  named.conf пропишем путь к логу, который ограничим максимальным размером в 20 Мб:

   logging {
      channel dnssec_log {
         file "log/dnssec" size 20m;
         print-time yes;
         print-category yes;
         print-severity yes;
         severity debug 3;
      };
      category dnssec {
          dnssec_log;
      };
   };

Настроим DNSSEC для зоны example.net:

   zone example.net {
      type master;
      file "master/example.net";
      key-directory "keys/";
      inline-signing yes;
      auto-dnssec maintain;
   };


После перезапуска named в директории /etc/namedb/keys появятся следующие файлы:

   example.net
   example.net.jbk
   example.net.signed
   example.net.jnl

Опция 'inline-signing yes' включает режим прозрачного формирования подписей, не
требуя внесения изменений непосредственно в файл зоны. При работе
inline-signing вручную поддерживаемый файл с зоной преобразуется в динамическую
зону, для которой создаётся цифровая подпись. Из-за этого выдаваемый сервером
серийный номер, отличается от серийного номера прописанного в файле с зоной.
Изменения DNSSEC производятся в jnl-файле с журналом изменений.

При запросе параметров зоны можно заметить появление нового поля RRSIG

   dig example.net +dnssec
   ...
   example.net. 600 IN A 1.2.3.4
   example.net. 600 IN RRSIG A 5 3 600 2012021356423 20120415331566    21695 net. IKekIJa314313G/xZpQ+B2313eqaDceR/VNcdsdasxV2 ...

Так как DNSSEC основан на обеспечении цепочки доверия, чтобы процесс
верификации заработал, требуется чтобы регистратор заверил созданный KSK-ключ,
подтвердив своё доверие. Для этого создадим на основе KSK-ключа DSKEY-ключ
(Delegation Signature Key)

   dnssec-dsfromkey Kexample.net.+005+38287
   example.net. IN DS 38287 5 1 E8C01C9CA1252389A9CB4E
   example.net. IN DS 38287 5 2 57EC936A479A94C32324123134234523492359A623 39712D53

Копируем две сгенерированные строки в интерфейсе ввода  DSKEY на сайте
регистратора домена. Верификация заработает после того как регистратор обновит
параметры первичной зоны.

Для поддержки DNSSEC-проверки на стороне резолвера следует добавить в настройки named.conf:

   options {
      ...
      dnssec-enable yes;
      dnssec-validation auto;
      ...
   };
 
Ключи: dns, bind, named, dnssec / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / DNS

[an error occurred while processing this directive]

[an error occurred while processing this directive]