Firefox и Chrome будут шифровать DNS-запросы и обходить цензуру

r5tmrkwtqmjtl4ankon0ky9atgu.png
Обычно резолвер сообщает каждому DNS-серверу, какой домен вы ищете. Этот запрос иногда включает ваш полный IP-адрес или его большую часть, что можно легко объединить с другой информацией, чтобы установить вашу личность. Из статьи Лин Кларк «DoH в картинках»

На Хабре неоднократно рассказывали о протоколе DNS-over-HTTPS (DoH), недавно принятом в качестве стандарта RFC 8484. Разработанный Mozilla, Google и Cloudflare протокол DNS-шифрования сводит на нет попытки мониторинга трафика «человеком-в-середине». Он устраняет самое «слабое звено» в HTTPS — открытые DNS-запросы, по которым сейчас злоумышленник на уровне провайдера или государства может отслеживать содержимое DNS-пакетов и даже подменять их. Это позволяет блокировать доступ к ресурсу по IP-адресу или доменному имени.
Менее полутора месяцев осталось до вступления в силу закона об изоляции Рунета, закон Яровой уже вступил в силу, а государство и частные компании усиливают попытки слежки за гражданами в интернете. В такой ситуации очень своевременно пришли новости от ведущих разработчиков браузеров. Разработчики Firefox и Chrome практически синхронно объявили о внедрении DNS-шифрования.

6 сентября 2019 года Mozilla объявила о решении включить по умолчанию протокол DoH (DNS-over-HTTPS) в одной из следующих версий браузера Firefox.

Вкратце, DoH инкапсулирует DNS-запросы в пакеты HTTPS, превращая их в обычный зашифрованный веб-трафик. Запросы отправляются как HTTP POST или GET с телом в формате сообщения DNS (датаграммы из обычных DNS-запросов) или как запрос HTTP GET в формате JSON. Как и при обычном веб-трафике HTTPS, для подключения через DoH не требуется аутентификация, а сертификат проверяется центром сертификации.

ccd7eaf847066ef35e091ccc20b62af3.jpg
Фиксация DNS-транзакции через DoH. Видно только HTTPS, TLS и ничего больше. Из статьи «Как спрятать DNS-запросы от любопытных глаз провайдера»

Незашифрованный URL также может быть перехвачен через поле запроса SNI (Server Name Indication) — специального расширения протокола TLS. Для устранения этой уязвимости в Firefox уже внедрён стандарт зашифрованной передачи имени хоста Encrypted SNI (ESNI), где клиентская система получает публичный ключ сервера из DNS и производит шифрование всех данных ещё до начала TLS-сессии. На этой странице вы можете проверить, поддерживает ли ваш браузер ESNI и другие стандарты шифрования.

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

По результатам тестирования Mozilla приняла решение постепенно развернуть DoH для всех пользователей в США, начиная с конца сентября. Развёртывание будет происходить в «резервном режиме», то есть DoH будет автоматически отключаться при малейших проблемах.

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

По умолчанию в Firefox установлен DNS-резолвер Cloudflare. Его можно сменить на другого провайдера или вовсе отключить DoH вручную. Для этого в настройках about:config нужно установить параметр network.trr.mode в значение 5. Значение 2 соответствует конфигурации по умолчанию (Cloudflare), значение 1 — автоматическому выбору самого быстрого резолвера. Сейчас всё это работает в альфа-версии Firefox Nightly.

wot7wjsag0svc9d-lmgp-lzpvqm.png

DNS-провайдера можно указать в сетевых настройках: НастройкиПараметры сетиИспользуемый провайдер.

2lurqf1jd9nl8gpxk4kng9epmg0.png

Список общедоступных DoH-серверов обновляется здесь.

10 сентября 2019 года об аналогичных планах объявили разработчики Chromium. Экспериментальная обкатка DoH начнётся в следующей сборке Chrome 78, стабильный релиз которой ожидается 22 октября 2019 года. В отличие от Mozilla, которая постепенно внедряет функцию для пользователей из США, эксперимент Google изначально более масштабный, без географических ограничений. Сразу со старта доступны шесть CDN-провайдеров: это Cleanbrowsing, Cloudflare, DNS.SB, OpenDNS, Quad9 и Google. К моменту запуска список партнёров может быть увеличен.

От участия в эксперименте в Chrome 78 можно будет отказаться, отключив флажок chrome://flags/#dns-over-https в настройках.

Поддержка DoH и в браузере, и у CDN позволяет эффективно бороться с блокировкой ресурсов со стороны «человека-в-середине», что представляет собой актуальную проблему в том числе для России.

2n5dqadtznqz61x_bait8cr6i0u.jpeg

© Habrahabr.ru