The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Настройка 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

Обсуждение [ RSS ]
 
  • 1.1, anonymous, 13:38, 22/03/2012 [ответить] [смотреть все]
  • +/
    спасибо за мануал!
     
  • 1.2, Андрей, 21:49, 31/03/2012 [ответить] [смотреть все]
  • +/
    dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE example.net
    Генериться уже минут 40, так и должно быть?
     
  • 1.3, Андрей, 02:22, 01/04/2012 [ответить] [смотреть все]
  • +/
    вообщем генерился 2 часа, посмотрел ключ вроде коротенький, теперь жду пока ZSK-ключ сгенерируется, проц не грузит почти, пытаюсь сделать для *.in.ua
     
  • 1.4, ЫЫЫЫ, 05:58, 02/04/2012 [ответить] [смотреть все]
  • +/
    Вы что, на 8 битных эмуляторах запускаете убунту? Генерится ключ моментально!
     
     
  • 2.5, Андрей, 10:20, 02/04/2012 [^] [ответить] [смотреть все]
  • +/
    хм, ну если 8-битным является Intel(R) Xeon(R) CPU E5620 @ 2.40GHz тогда да!
     
     
  • 3.6, Zl0, 19:12, 02/04/2012 [^] [ответить] [смотреть все]  
  • +/
    мышкой подергайте)) ему рандома нехватает.
     
     
  • 4.7, Андрей, 22:15, 02/04/2012 [^] [ответить] [смотреть все]  
  • +/
    ну где вы раньше были?=))спасибо
     
  • 1.8, Slava, 14:06, 04/04/2012 [ответить] [смотреть все]  
  • +/
    Для тех кто не может "дергать мышкой"

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

     
  • 1.9, ОООО, 10:13, 23/06/2013 [ответить] [смотреть все]  
  • +/
    С недавних пор webnames ввел обязательное наличие public key для зон ru, su, и рф. Как ко всему этому прикрутить public key?
     
  • 1.11, Viktor Z, 20:23, 22/01/2017 [ответить] [смотреть все]  
  • +/
    apt-get install haveged
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor