Я пытаюсь настроить рекурсивный DNS, который также имеет свою собственную зону с использованием привязки.
Теперь я хочу обновить его, чтобы использовать dnssec, но, насколько я понял, я должен использовать DLV, если у меня нет доменного имени.
Однако несколько гидов, которые мне удалось найти, говорят, что вам необходимо зарегистрироваться на dlv.isc.org
, которого не существует. И в книге, которую я читал о DNSSEC, говорится, что DLV будет устаревать, поэтому мне интересно.
(Если вы знаете какое-либо пошаговое руководство по его настройке, мы также будем признательны)
В то время как сервер dlv.isc.org
больше не работает, вы все равно можете установить другой альтернативный сервер DNSSEC в конфигурации Bind 9 с помощью параметра dnssec-lookaside . Если ключ для example.com
не может быть проверен, к нему будет добавлено имя резервного сервера, и проверка начнется заново по доверенному ключу резервного сервера.Я не тестировал, но считаю, что это не решит вашу проблему: частный домен как lan.
в наши дни может быть положительно подтвержден как несуществующий, поэтому дополнительный запрос выполняться не будет.
Итак, что можно сделать, чтобы обезопасить локальную сеть.
зона? Это зависит от использования:
. Зона
не требует дополнительной настройки (я предполагаю, что dnssec-validation
уже включена):
LAN.
из файла зоны и вернуть ответ без флага AD
, AD
. Если домен не прошел проверку, будет выдан СЕРВИСНЫЙ ФАЙЛ
. lan.
без проблем. Однако, поскольку связь между преобразователем заглушек и сервером не зашифрована, результаты могут быть изменены во время передачи. Вы можете использовать подписи TSIG или TLS для его защиты. Я сомневаюсь, что вы захотите настроить сервер Bind9 на каждом клиентском компьютере в качестве проверяющего преобразователя заглушек (есть альтернативы получше, например systemd-resolved ], dnsmasq или unbound ), но в этом случае вам нужно сначала получить ключ для вашей локальной сети.
зона:
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;
Edit : конфигурация systemd-resolved еще проще: просто добавьте свой DNSKEY в файл с именем /etc/dnssec-trust-anchors.d/
:
lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
и принудительно установите DNSSEC в /etc/systemd/resolved.conf
:
DNSSEC=yes