Mozilla переходит к включению по умолчанию DNS-over-HTTPS в Firefox

Разработчики Friefox объявили о завершении тестирования поддержки DNS поверх HTTPS (DoH, DNS over HTTPS) и намерении в конце сентября включить данную технологию по умолчанию для пользователей из США. Включение будет производиться поступательно, вначале для нескольких процентов пользователей, а в случае отсутствия проблем постепенно доводя до 100%. После охвата США будет рассмотрена возможность включения DoH и в других странах.

Проводимые в течение года тесты показали надёжность и хорошую производительность сервиса, а также позволили выявить некоторые ситуации, когда DoH может приводить к проблемам, и разработать решения для их обхода (например, разобраны проблемы с оптимизацией трафика в сетях доставки контента, родительским контролем и корпоративными внутренними DNS-зонами).

Важность шифрования DNS-трафика оценивается как принципиально важный фактор защиты пользователей, поэтому DoH решено включить по умолчанию, но на первом этапе только для пользователей из США. После активации DoH пользователю будет выведено предупреждение, которое позволит при желании отказаться от обращения к централизованным DoH-серверам DNS и вернуться к традиционной схеме отправки незашифрованных запросов к DNS-серверу провайдера (вместо распределённой инфраструктуры резолверов DNS в DoH использована привязка к определённому DoH-сервису, который может рассматриваться как единая точка отказа).

При активации DoH возможно нарушение работы систем родительского контроля и корпоративных сетей, использующих доступную только для внутренней сети структуру имён DNS для преобразования интранет-адресов и корпоративных хостов. Для решения проблем с подобными системами добавлена система проверок, автоматически отключающих DoH. Проверки выполняются при каждом запуске браузера или при определении изменения подсети.

Автоматический возврат на использование штатного резолвера операционной системы также предусмотрен при возникновении сбоев при резолвинге через DoH (например, при нарушении сетевой доступности с провайдером DoH или возникновении сбоев в его инфраструктуре). Смысл подобных проверок сомнителен, так как никто не мешает атакующим, контролирующим работу резолвера или способным вмешаться в трафик, симулировать подобное поведение для отключения шифрования DNS-трафика. Частично проблема решена добавление в настройки пункта «DoH always», при установке которого автоматическое отключение не применяется.

Для определения корпоративных резолверов выполняются проверки нетипичных доменов первого уровня (TLD) и возвращение системным резолвером интранет-адресов. Для определения включения родительского контроля осуществляется попытка резолвинга имени exampleadultsite.com и если результат не совпадает с фактическим IP, считается, что активна блокировка взрослого контента на уровне DNS. В качестве признаков также проверяются IP-адреса Google и YouTube на предмет их подмены на restrict.youtube.com, forcesafesearch.google.com и restrictmoderate.youtube.com. Mozilla также предлагает внедрить единый проверочный хост use-application-dns.net, который могут использовать интернет-провайдеры и сервисы родительского контроля в качестве метки для отключения DoH (если хост не определяется, Firefox отключает DoH).

Работа через единый DoH-сервис также потенциально может привести к проблемам с оптимизацией трафика в сетях доставки контента, которые выполняют балансировку трафика с использованием DNS (DNS-сервер CDN-сети формирует ответ, учитывая адрес резолвера и выдаёт ближайший хост для получения контента). Отправка DNS-запроса c ближайшего к пользователю резолвера в таких CDN приводит к возврату адреса ближайшего к пользователю хоста, но при отправке DNS-запроса с централизованного резолвера будет выдан адрес хоста, ближайший к серверу DNS-over-HTTPS. Тестирование на практике показало, что применение DNS-over-HTTP при использовании CDN практически не приводило к задержкам перед началом передачи контента (для быстрых соединений задержки не превышали 10 миллисекунд, а на медленных каналах связи наблюдалось даже ускорение работы). Для передачи резолверу CDN сведения о местоположении клиента также было рассмотрено применение расширения EDNS Client Subnet.

Напомним, что DoH может оказаться полезным для исключения утечек сведений о запрашиваемых именах хостов через DNS-серверы провайдеров, борьбы с MITM-атаками и подменой DNS-трафика, противостояния блокировкам на уровне DNS или для организации работы в случае невозможности прямого обращения к DNS-серверам (например, при работе через прокси). Если в обычной ситуации DNS-запросы напрямую отправляются на определённые в конфигурации системы DNS-серверы, то в случае DoH запрос на определение IP-адреса хоста инкапсулируется в трафик HTTPS и отправляется на HTTP-сервер, на котором резолвер обрабатывает запросы через Web API. Существующий стандарт DNSSEC использует шифрование лишь для аутентификации клиента и сервера, но не защищает трафик от перехвата и не гарантирует конфиденциальность запросов.

Для включения DoH в about: config следует изменить значение переменной network.trr.mode, которая поддерживается начиная с Firefox 60. Значение 0 полностью отключает DoH; 1 — используется DNS или DoH, в зависимости от того, что быстрее; 2 — используется DoH по умолчанию, а DNS как запасной вариант; 3 — используется только DoH; 4 — режим зеркалирования при котором DoH и DNS задействованы параллельно. По умолчанию используется DNS-сервер CloudFlare, но его можно изменить через параметр network.trr.uri, например, можно установить «https://dns.google.com/experimental» или «https://9.9.9.9/dns-query».

©  OpenNet