Рейтинг:2

Полезен ли DNSSEC?

флаг fr

DNSSEC проверяет и аутентифицирует данные зоны, чтобы убедиться, что любые результаты DNS являются подлинными.

  1. Даже если преобразователь DNS подтверждает, что авторитетный сервер имен отправил правильные данные без изменений, как мы можем предотвратить отправку преобразователем DNS поддельного ответа DNS клиенту DNS?

  2. Если сопоставитель DNS не поддерживает DNSSEC, может ли он по-прежнему отправлять DNS-запросы полномочному серверу имен, для зоны которого включен DNSSEC?

Спасибо

флаг cn
1. довольно легко. Проверка и принудительное выполнение должны выполняться на клиенте. Период. Windows может сделать это изначально, я не уверен в Linux или других платформах.
Patrick Mevzek avatar
флаг cn
@GregAskew Просто установите несвязанный, и он сможет проверить все локально.
Рейтинг:2
флаг cn

DNSSEC полезен?

На это нельзя ответить (какое бы слово вы ни поставили вместо «DNSSEC» в этом предложении), пока вы не начнете описывать то, что хотите защитить.

Когда у вас есть список рисков/уязвимостей/угроз, от которых вы хотите защититься, вы можете узнать, какие решения существуют, и определить для каждого решения, насколько оно полезно или нет.

DNSSEC полезен против некоторых проблем с DNS, но не для всех из них. Он представляет собой новые проблемы (постоянное обслуживание подписей и ключей для одного), а также новые функции (агрессивное кэширование всего ниже NXDOMAIN если они должным образом подтверждены DNSSEC).

Даже если преобразователь DNS подтверждает, что авторитетный сервер имен отправил правильные данные без изменений, как мы можем предотвратить отправку преобразователем DNS поддельного ответа DNS клиенту DNS?

Это ничем не отличается от сегодняшнего дня: если вы используете любой общедоступный преобразователь DNS (8.8.8.8, 1.1.1.1, 9.9.9.9 чтобы назвать несколько), вы, конечно, ПОЛНОСТЬЮ рискуете отправить вам мусорные данные. Это компромисс. DoH/DoT здесь ничего не решает, поскольку защищает только передачу контента между вами и этим распознавателем, а не сам контент. Какой контент «защищен» DNSSEC, если доменное имя, для которого вы делаете запросы, защищено DNSSEC (это та часть, которую вы забываете в своих вопросах и которая фактически затрудняет DNSSEC: владелец доменного имени должен включить его И Резолверы DNS должны использовать новые подписи и выполнять проверку; если одна часть этого уравнения с двумя переменными отсутствует, DNSSEC бесполезен, потому что он просто не может работать)

Таким образом, вопрос больше вращается вокруг: какой рекурсивный сервер имен использовать и где он должен работать. Конечно, для максимального контроля вы хотите, чтобы преобразователь работал на ВАШИХ машинах. Он по-прежнему может использовать внешние ресурсы и преобразователи DNS, но окончательная проверка DNSSEC должна выполняться на вашем сервере имен, а не на другом. Конечно, это требует больше работы, чем просто полагаться на любой другой ресурс, который делает все, что связано с DNSSEC, «бесплатно» за вас.

если преобразователь DNS не поддерживает DNSSEC, может ли он по-прежнему отправлять DNS-запросы полномочному серверу имен, у которого есть настройка DNSSEC для своей зоны?

Да. Резолвер, желающий получить данные DNSSEC, должен переключить флаг «DO» в своем запросе.

От копать землю документация:

        +[нет]dnssec
         Этот параметр запрашивает отправку записей DNSSEC путем установки бита DNSSEC OK (DO) в записи OPT в дополнительном разделе запроса.

Что вы можете видеть таким образом:

$ копать +dnssec example.com

; <<>> DiG 9.16.18 <<>> +dnssec example.com
;; глобальные параметры: +cmd
;; Отправка:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 40492
;; флаги: объявление rd; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИЗАЦИЯ: 0, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги: делать; UDP: 4096
                           ^^

Или из §3.2.1 RFC 4035:

3.2.1. Бит DO

Сторона резолвера защищенного рекурсивного сервера имен ДОЛЖНА установить бит DO при отправке запросов вне зависимости от состояния DO бит в инициирующем запросе, полученном стороной сервера имен. Если бит DO в инициирующем запросе не установлен, сторона сервера имен ДОЛЖНЫ удаляться любые аутентифицирующие DNSSEC RR из ответа, но ДОЛЖНЫ НЕ удаляйте какие-либо типы DNSSEC RR, которые инициирующий запрос явно просил.

Если DNS-клиент (рекурсивный преобразователь) делает это И если запрашиваемый авторитетный сервер имен имеет включенный DNSSEC (следовательно, RRSIG/НСЕК/НСЕК3 типы записей в зонах), то преобразователь получит эти записи и сможет выполнить проверку DNSSEC.

Когда вы (заглушка/клиент DNS, не являющийся распознавателем) запрашиваете рекурсивный распознаватель, у вас есть возможность использовать CD флаг, определенный как таковой:

        +[нет]cdflag
        Эта опция устанавливает [или не устанавливает] бит CD (отключение проверки) в запросе. Это запрашивает сервер не выполнять проверку DNSSEC ответов.

(остерегайтесь возможного двойного отрицания).

Если клиент не использует CD, то проверка DNSSEC НЕ отключена, следовательно, она включена, и сервер удаления либо выдаст окончательный ответ (если для записи включен DNSSEC И проверка прошла успешно), либо ответит сообщением NXDOMAIN если проверка DNSSEC не удалась. Флаг ОБЪЯВЛЕНИЕ будет установлено, чтобы обозначить, что все записи были проверены как безопасные, если это так (если запрос исходит от рекурсивного сервера имен, этот флаг не может существовать от авторитетного сервера, поскольку вам нужна полная цепочка DNSSEC от корня IANA для проверки любая заданная запись)

Рейтинг:1
флаг cn
  1. В идеале вы выполняете валидацию локально на клиенте (что сегодня не так распространено, но далеко не неслыханно) или иным образом полагаетесь на безопасный сетевой путь, который может преодолеть разрыв между клиентом и доверенным проверяющим распознавателем.
    Этот безопасный сетевой путь может означать что-то вроде DNS-over-TLS, DNS-over-HTTPS, DNSCrypt или в некоторой степени локальную сеть (более слабый уровень доверия, но все же полезный для подмножества сценариев атак).
  2. Да
флаг cn
Для 1. Я думаю, что реализации DNSSEC, которые не проверяются на клиенте, опасны. Это также зависит от платформы. Есть больше удаленных конечных точек Windows, так что здесь есть риск. Проверка клиента в Windows легко настраивается, и не делать этого было бы просто неправильно. Это не сценарий «все или ничего». С точки зрения клиента Windows наибольший риск связан с внутренними доменами, поэтому если бы только они были принудительно применены, это было бы хорошим началом. На стороне сервера все ротации ключей автоматизированы, так что это в значительной степени работает, вы просто получаете больше DNS-записей и используемую пропускную способность.
флаг cn
@GregAskew Любые подсказки, как это делается в Windows?
флаг cn
Таблица политики разрешения имен. Вы можете потребовать DNSSEC/IPSEC для доменных имен. https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn593632(v=ws.11)
флаг cn
@GregAskew Спасибо за разъяснения.Тем не менее, я видел эти настройки, но, насколько я понимаю, опция «требовать проверки» не означает выполнение проверки клиента, а означает, что клиент требует установки флага «AD»? Этот подход проблематичен в том, что он полностью полагается на то, что трафик к настроенному распознавателю защищен от несанкционированного доступа, но также невозможно включить эту опцию глобально, поскольку она будет отбрасывать все, что не подписано, в отличие от обычного поведения проверки при отбрасывании вещей. поддельные (т. е. должны быть подписаны, но не имеют действительной подписи)
флаг cn
@GregAskew, с другой стороны, вариант IPSec прочно входит в подход «создать безопасный сетевой путь к доверенному преобразователю», который я предложил в своем ответе. IPSec, безусловно, работает для этого, хотя он довольно специфичен для того, что вы можете настроить с помощью своей собственной инфраструктуры, а не ожидать, что какой-либо другой поставщик услуг предоставит (что нормально, это просто ограничивает область применения). Но в целом, насколько я могу судить, ни один из вариантов не обеспечивает проверку на клиенте?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.