DNS-over-TLS

Введение

Традиционные DNS-запросы и ответы отправляются через UDP или TCP без шифрования. Это уязвимо для подслушивания и подделки (включая интернет-фильтрацию на основе DNS). Ответы рекурсивных преобразователей клиентам наиболее уязвимы к нежелательным или вредоносным изменениям, в то время как связь между рекурсивными преобразователями и авторитетными серверами имен часто включает дополнительную защиту .

Чтобы решить эти проблемы, Google Public DNS предлагает разрешение DNS через TCP-соединения с шифрованием TLS, как указано в RFC 7858 . DNS-over-TLS повышает конфиденциальность и безопасность между клиентами и преобразователями. Это дополняет DNSSEC и защищает результаты, проверенные DNSSEC, от изменения или подделки на пути к клиенту.

Как это работает

Клиентская система может использовать DNS-over-TLS с одним из двух профилей : строгий или оппортунистический режим конфиденциальности. При использовании профиля строгой конфиденциальности пользователь настраивает имя DNS-сервера ( имя домена аутентификации в RFC 8310 ) для службы DNS-over-TLS, и клиент должен иметь возможность создать безопасное соединение TLS через порт 853 с DNS-сервером. Неспособность установить безопасное соединение является серьезной ошибкой и приведет к отключению службы DNS для клиента.

При использовании оппортунистического профиля конфиденциальности IP-адрес DNS-сервера может быть настроен непосредственно пользователем или получен из локальной сети (с использованием DHCP или каким-либо другим способом). Клиентский преобразователь пытается установить безопасное соединение через порт 853 с указанным DNS-сервером. Если установлено безопасное соединение, это обеспечивает конфиденциальность запросов пользователя от пассивных наблюдателей на пути. Поскольку клиент не проверяет подлинность сервера, он не защищен от активного злоумышленника. Если клиент не может установить безопасное соединение через порт 853, он возвращается к обмену данными с DNS-сервером через стандартный порт DNS 53 через UDP или TCP без какой-либо безопасности или конфиденциальности. Использование оппортунистической конфиденциальности предназначено для поддержки постепенного внедрения повышенной конфиденциальности с целью широкого внедрения профиля строгой конфиденциальности.

При использовании строгого профиля конфиденциальности преобразователи-заглушки устанавливают соединение DNS-over-TLS, выполнив следующие действия.

  1. Заглушка преобразователя настроена с именем преобразователя DNS-over-TLS dns.google .
  2. Заглушка-резольвер получает IP-адреса для dns.google , используя локальный DNS-резольвер.
  3. Заглушка-резольвер устанавливает TCP-соединение с портом 853 по тому же IP-адресу.
  4. Заглушка-резольвер инициирует подтверждение TLS с общедоступным DNS-резольвером Google.
  5. Публичный DNS-сервер Google возвращает свой сертификат TLS вместе с полной цепочкой сертификатов TLS вплоть до доверенного корневого сертификата.
  6. Распознаватель-заглушка проверяет подлинность сервера на основе представленных сертификатов.
    • Если личность не может быть проверена, разрешение DNS-имен завершается неудачно, и преобразователь-заглушка возвращает ошибку.
  7. После установки TLS-соединения у заглушки есть безопасный канал связи с общедоступным DNS-сервером Google.
  8. Теперь преобразователь-заглушка может отправлять DNS-запросы и получать ответы по соединению.

При использовании гибкого профиля конфиденциальности клиент сначала пытается создать безопасное соединение TLS с сервером. Это делается аналогично описанному выше, с одним важным отличием — проверка сертификата клиентом не выполняется. Это означает, что личности сервера нельзя доверять. Если соединение TLS с сервером через порт 853 не может быть установлено, преобразователь-заглушка возвращается к разговору с DNS-сервером через порт 53.

Конфиденциальность

Наша политика конфиденциальности распространяется на службу DNS-over-TLS.

27 июня 2019 г. мы повторно включили клиентскую подсеть EDNS (ECS) для службы DNS-over-TLS. ECS был отключен при запуске сервиса.

Поддержка стандартов

Google Public DNS реализует DNS-over-TLS на основе RFC 7858 . Кроме того, мы поддерживаем следующие рекомендации по обеспечению высококачественного DNS-сервиса с малой задержкой.

Начните использовать его

См. инструкции по настройке на устройстве с Android 9 (Pie) или выше.

DNS-over-TLS также поддерживается для службы Google Public DNS64, поддерживающей только IPv6. Обратите внимание, что настраивать DNS64 для мобильного устройства, которое будет подключаться к нескольким сетям, не рекомендуется, поскольку DNS64 работает только при наличии IPv6.