
Я пытаюсь настроить рекурсивный DNS, который также будет иметь свою собственную зону, используя bind.
Теперь я хочу обновить его, чтобы использовать DNSsec, но, насколько я понял, мне придется использовать DLV, если у меня нет доменного имени.
Однако в нескольких руководствах, которые я смог найти, говорится, что вам нужно зарегистрироваться, dlv.isc.org
чего не существует. А в книге, которую я читал о DNSSEC, говорится, что DLV собираются упразднить, поэтому я и задаюсь вопросом. (Если вы знаете пошаговое руководство по настройке, я бы тоже был благодарен)
решение1
Пока dlv.isc.org
сервер не запущен, вы все равно можете настроить другой DNSSEC Lookaside сервер в конфигурации Bind 9 черезdnssec-lookasideoption. Если ключ для example.com
не может быть проверен, имя сервера lookaside будет добавлено к нему, и проверка начнется заново с доверенным ключом сервера lookaside. Я не проверял, но я считаю, что это не решит вашу проблему: частный домен, который в lan.
наши дни может быть положительно проверен как несуществующий, поэтому запрос lookaside не будет выполнен.
Итак, что можно сделать для защиты lan.
зоны? Это зависит от использования:
- DNS-сервер, который вы хотите использовать в качествепроверка рекурсивного распознавателяи полномочный сервер для
lan.
зоны не требует дополнительной настройки (я предполагаю, что онdnssec-validation
уже включен):- он обслужит
lan.
зону из файла зоны и вернет ответбезфлагAD
, - при поступлении запроса на другие домены он выполнит рекурсивный запрос, проверит результаты и только в случае их корректности вернет ответсфлаг
AD
. Если домен не проходит проверку,SERVFAIL
будет выдан.
- он обслужит
- Theзаглушки-резольверы, которые используют ваш DNS-сервер, полагаются на валидирующее поведение вашего DNS-сервера, поэтому они будут разрешены
lan.
без проблем. Однако, поскольку связь междузаглушка решательи сервер не зашифрован, результаты могут быть изменены в пути. Вы можете использовать подписи TSIG или TLS для защиты. - Theпроверка заглушек-резолверовтребуют, чтобы вы добавилидоверенные якоряк их конфигурации.
Я сомневаюсь, что вы хотите настраивать сервер Bind9 на каждомклиентмашина, чтобы действовать какпроверка заглушки-разрешителя(есть лучшие альтернативы, такие какsystemd-разрешено,dnsmasqилинесвязанный), но в этом случае вам сначала необходимо получить ключ для вашей lan.
зоны:
piotr@akela:~$ dig lan. DNSKEY +short
257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
Затем вам нужно будет добавить ключ как доверенный, разрешить рекурсивные запросы только с localhost
и пересылать запросы на «реальный» DNS-сервер (допустим, на 192.168.0.1
):
options {
directory "/var/cache/bind";
listen-on { localhost; };
listen-on-v6 { localhost; };
recursion yes;
allow-query { localhost; };
forwarders { 192.168.0.1; };
};
trusted-keys {
lan. 257 3 13 "nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==";
};
В конце вам просто нужно добавить localhost
в качестве единственного DNS-сервера /etc/resolv.conf
:
nameserver ::1;
Редактировать:systemd-разрешеноКонфигурация еще проще: просто добавьте свой DNSKEY в файл с именем /etc/dnssec-trust-anchors.d/<your_name>.positive
:
lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
и принудительно включить DNSSEC в /etc/systemd/resolved.conf
:
DNSSEC=yes