Настройка stub-зоны на сервере bindЗоны пересылкиРусскоязычные именаИспользование DNSSEC
Данная настройка требует указания правильной цепочки доверенностей DNS серверов. Если у вас её нет, впишите следующие параметры в файл:
dnssec-enable no; dnssec-validation no;
Static-stub позволяет указать конкретные IP, по которым следует обращаться для преобразования имен (resolving) заданных зон в обход обслуживающих данные зоны DNS-серверов.
Откройте конфигурационный файл bind:
nano /etc/named.conf
Настройте зону следующим образом:
zone "stub.test" { type static-stub; server-addresses { 192.168.0.1; 192.168.0.50; }; };
* где:
stub.test — домен, для которого нужно делать перенаправление запросов;
192.168.0.1, 192.168.0.50 — адреса DNS-серверов, на которые перенаправлятся запросы.
Перезапустите bind, чтобы применить настройки:
systemctl restart named
Задачу перенаправления DNS-запросов можно решить с помощью зоны типа forward. Настройка выполняется следующим образом:
zone "stub.test" { type forward; forwarders { 192.168.0.1; 192.168.0.30; }; };
Перезагрузить сервис:
Для записи русскоязычных имен хостов или доменов нужно узнать, как доменное имя выглядит в Punycode-представлении. Например, с помощью сервиса 2ip. Далее необходимо вписать имя в punycode-представлении в файл зоны, например:
xn----gtbc2bgjip IN A 10.81.200.222
DNSSEC описана в стандарте RFC 4033.
Создайте отдельный каталог для файлов с ключами:
mkdir -p /var/named/keys cd /var/named/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
-r /dev/urandom
dnssec-keygen -f KSK -a RSASHA1 -b 2048 -r /dev/urandom -n ZONE example.net
Установите на ключи права доступа только для чтения процессу named:
chown named. *
Включите в настройках named.conf запись лога DNSSEC для упрощения анализа возможных проблем.
Подготовьте директорию для хранения лога:
mkdir -p /var/log/bind/ chown named. /var/log/bind/
В named.conf пропишите путь к логу, который будет ограничен максимальным размером в 20 Мб:
logging { channel dnssec_log { file "/var/log/bind/dnssec.log" size 20m; print-time yes; print-category yes; print-severity yes; severity debug 3; }; category dnssec { dnssec_log; }; };
Отредактируйте секцию options:
options { ... key-directory "/var/named/keys"; sig-validity-interval 20 10; };
key-directory — каталог для хранения сгенерированных ключей (необходимо указать тот каталог, в котором были сформированы последние ключи командой dnssec-keygen);
dnssec-keygen
sig-validity-interval — период действия ключей: дней/период обновления.
Для зоны редактируем:
zone "example.net" { type master; file "master/example.net"; key-directory "keys/"; inline-signing yes; auto-dnssec maintain; };
Опция inline-signing yes включает режим прозрачного формирования подписей, не требуя внесения изменений непосредственно в файл зоны. При работе inline-signing вручную поддерживаемый файл с зоной преобразуется в динамическую зону, для которой создаётся цифровая подпись. Из-за этого выдаваемый сервером серийный номер отличается от серийного номера, прописанного в файле с зоной. Изменения DNSSEC производятся в jnl-файле с журналом изменений.
inline-signing yes
inline-signing
Проверьте, что у пользователя named/bind есть права на запись в каталог хранения зоны. При необходимости, можно изменить владельца, например:
chown -R named:named /var/named/master
Откройте на редактирование файл зоны и измените серийный номер.
Перезапустите bind:
После перезапуска named в директории /var/named/keys появятся следующие файлы:
example.net;
example.net.jbk;
example.net.signed;
example.net.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; ... };
Дата последнего изменения: 03.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.