URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 83725
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Настройка DNSSEC в BIND 9.9"

Отправлено auto_tips , 22-Мрт-12 13:38 
В [[http://www.opennet.dev/opennews/art.shtml?num=33229 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;
      ...
   };

URL: http://blather.michaelwlucas.com/archives/1207 https://kb.isc.org/article/AA-00626/0/Inline-Signing-in-ISC-...
Обсуждается: http://www.opennet.dev/tips/info/2677.shtml


Содержание

Сообщения в этом обсуждении
"Настройка DNSSEC в BIND 9.9"
Отправлено anonymous , 22-Мрт-12 13:38 
спасибо за мануал!

"Настройка DNSSEC в BIND 9.9"
Отправлено Андрей , 31-Мрт-12 21:49 
dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE example.net
Генериться уже минут 40, так и должно быть?

"Настройка DNSSEC в BIND 9.9"
Отправлено Андрей , 01-Апр-12 02:22 
вообщем генерился 2 часа, посмотрел ключ вроде коротенький, теперь жду пока ZSK-ключ сгенерируется, проц не грузит почти, пытаюсь сделать для *.in.ua

"Настройка DNSSEC в BIND 9.9"
Отправлено anonymous , 07-Фев-19 12:45 
-r /dev/urandom

"Настройка DNSSEC в BIND 9.9"
Отправлено ЫЫЫЫ , 02-Апр-12 05:58 
Вы что, на 8 битных эмуляторах запускаете убунту? Генерится ключ моментально!

"Настройка DNSSEC в BIND 9.9"
Отправлено Андрей , 02-Апр-12 10:20 
хм, ну если 8-битным является Intel(R) Xeon(R) CPU E5620 @ 2.40GHz тогда да!

"Настройка DNSSEC в BIND 9.9"
Отправлено Zl0 , 02-Апр-12 19:12 
мышкой подергайте)) ему рандома нехватает.

"Настройка DNSSEC в BIND 9.9"
Отправлено Андрей , 02-Апр-12 22:15 
ну где вы раньше были?=))спасибо

"Настройка DNSSEC в BIND 9.9"
Отправлено Slava , 04-Апр-12 14:06 
Для тех кто не может "дергать мышкой"

dnssec-keygen -f KSK -a RSASHA1 -b 2048 -r /dev/urandom -n ZONE example.net


"Настройка DNSSEC в BIND 9.9"
Отправлено ОООО , 23-Июн-13 10:13 
С недавних пор webnames ввел обязательное наличие public key для зон ru, su, и рф. Как ко всему этому прикрутить public key?

"Настройка DNSSEC в BIND 9.9"
Отправлено Viktor Z , 22-Янв-17 20:23 
apt-get install haveged

"Настройка DNSSEC в BIND 9.9"
Отправлено iav , 14-Май-19 21:55 
А регулярно обновлять подпись по мере устаревания он будет?

"Настройка DNSSEC в BIND 9.9"
Отправлено KOT , 30-Янв-22 23:46 
Подскажите почему прав нет?
Выдает ошибку после перезапуска, как только настроил зону.

isc_stdio_open '/etc/bind/log/dnssec' failed: permission denied
configuring logging: permission denied
loading configuration: permission denied
exiting (due to fatal error)
Пробовал права на папку log менять на 777 не помогает