: :

ПнВтСрЧтПтСбВс

2018-11-21 16:56:54 6933 0

Настройка DNSSEC на Bind9

Настройку будем производить на сервере под управлением операционной системы CentOS7.

Проверям версию установленого DNS-сервера bind, она должна быть не ниже 9.9

named -v

BIND 9.9.4-RedHat-9.9.4-61.el7_5.1 (Extended Support Version)

Займемся генерацей ключей для DNSSEC

Создаем каталог, для хранения ключей

mkdir /var/named/keys && cd /var/named/keys

Генерируем мастер ключ (KSK):

sudo dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE -r /dev/urandom test.un

  • -f KSK — флаг о формировании мастер ключа;
  • -a RSASHA256 — используемый алгоритм шифрования;
  • -b 2048 — размер ключа в битах;
  • -n ZONE — для DNS-зоны;
  • -r /dev/urandom — путь к файлу со случайными данными;
  • test.un — домен, для которого предназначен ключ

Генерируем ключ для зоны:

sudo dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -r /dev/urandom test.un

Задаем владельца для файлов:

sudo chown -R named:named /var/named/keys

Настройка BIND

Редактируем конфигурационный файл (добавляем секцию с настройками для dnssec и редактируем настройки для зоны)

cat /etc/named.conf


options {
        ...
        dnssec-enable yes; #Включение DNSSEC
        dnssec-validation yes; #Проверка корректности ответов
        dnssec-lookaside auto; #Разрешение использовать сторонние корни DNSSEC

        key-directory "/var/named/keys"; #Каталог с ключами DNSSEC
        sig-validity-interval 20 10; # период действия ключей: дней / период обновления

};



zone "test.un" {
        type "master";
        file "test.un";
        inline-signing yes; #Включение прозрачного формирования файла
        auto-dnssec maintain; #Уровень автоматической настройки DNSSEC для зоны
};


Проверяем что бы у пользователя named, из под которого запускается bind, были права на запись в директорию где хранятся файлы зоны:

sudo chown -R named:named /var/named/

Перезапускаем bind.

sudo systemctl restart named

В каталоге зоны должны появиться дополнительные 3 файла: test.un.jbk, test.un.signed, test.un.signed.jnl

Проверяем настройку командой dig.

dig @192.168.1.14 -t A gw.test.un +dnssec

Получаем ответ от сервера DNS с указанием подписи.

...
gw.test.un.  86400 IN  A   192.168.1.1
gw.test.un.  86400 IN  RRSIG A 8 3 86400 20181207081408 20181117074104 37095 test.un. 
LEGigr6K1GnDlmN3Yys4XknOTxg7MieaIv+yTe34174WpVjz9Q/o6ZOf hz6r1giRYlVD0DLFBnRGP3y4B7Xt
lyhG+xmyvMZalMIG8WpKvGYhjryEZVrXbC3tEjEgKXH3M1LlS8PsEb/forD5KnzItr/eN0TNyvNz32LiF27Z 
H/chC9JzKtHO6aKNAzUkBLoKrvLgcdH8AOxL7/pfZSlHlkcNrqqWUOrT8ueF8urlgFmuvXqDsTZcyjrwDDnv4
8fXoXu0jHVSUVVy/RpJ4jm/5z2x tvNCXgNYm9+ykl01yw1672el0u93LesgnyQ7fIONTPMtn0I91lWFPuJx 
MERw/A==
...






Введите ответ:

+

=