Настройка DoH и ESNI в Mozilla Firefox

universal177

Местный
Продавец
Сообщения
363
Реакции
287
В браузере Mozilla Firefox есть возможность включить использование протоколов DNS over HTTPS и Encrypted SNI. Настроим вместе DoH и ESNI в браузере Mozilla Firefox через провайдера Cloudflare.


Что такое DoH и ESNI?​


DoH — DNS over HTTPS​


Обращение к DNS серверу для разрешения доменных имён происходит по 53 порту в открытом виде. Такой запрос ничем не защищён от кибератаки вида Man-in-the-Middle (человек посередине). Злоумышленник, получив доступ к любому серверу в цепочке DNS запроса, может манипулировать вашим DNS трафиком, выдавая себя за систему, с которой вы общаетесь. Мне, например, глубоко безразлично, подсматривают ли на какие порносайты я захожу. А кому-то не хочется светить свою историю. А вот если уведут мою учётную запись от онлайн банка, то это будет печально.


Для усиления безопасности и защиты приватности пользователей путём шифрования DNS запросов был придуман протокол DNS over HTTPS. Протокол DoH инкапсулирует DNS запросы в HTTPS трафик и по 443 порту отправляет их DNS серверу. Естественно, нужно использовать специальный DNS сервер с поддержкой DoH.

Примеры общедоступных DNS серверов с поддержкой DoH:


ПровайдерIPБлокировкаDoH-URI-template
Cloudflare1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
Нет.
Cloudflare
Security
1.1.1.2
1.0.0.2
2606:4700:4700::1112
2606:4700:4700::1002
Вредоносный контент.
Cloudflare
Family
1.1.1.3
1.0.0.3
2606:4700:4700::1113
2606:4700:4700::1003
Вредоносный и взрослый контент.
Google8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
Нет.
CleanBrowsing
Security
185.228.168.9
185.228.169.9
2a0d:2a00:1::2
2a0d:2a00:2::2
Вредоносный контент.
CleanBrowsing
Adult
185.228.168.10
185.228.169.11
2a0d:2a00:1::1
2a0d:2a00:2::1
Вредоносный и взрослый контент.
CleanBrowsing
Family
185.228.168.168
185.228.169.168
2a0d:2a00:1::
2a0d:2a00:2::
Вредоносный, взрослый и смешанный контент.
Adguard94.140.14.14
94.140.15.15
2a10:50c0::ad1:ff
2a10:50c0::ad2:ff
Рекламный контент.
Adguard
Family
94.140.14.15
94.140.15.16
2a10:50c0::bad1:ff
2a10:50c0::bad2:ff
Рекламный и взрослый контент.
Quad99.9.9.10
149.112.112.10
2620:fe::10
2620:fe::fe:10
Нет.
Quad9
Sequrity
9.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
Вредоносный контент.

Quad9
Secured ECS support
9.9.9.11
149.112.112.11
2620:fe::11
2620:fe::fe:11
Вредоносный контент.
OpenDNS208.67.222.222
208.67.220.220
2620:119:35::35
2620:119:53::53
Нет.
OpenDNS
Family
208.67.222.123
208.67.220.123
2620:119:35::123
2620:119:53::123
Взрослый контент.

ESNI — Encrypted Server Name Indication​


Даже если вы включили DoH, то ваш провайдер всё равно знает, на какой домен вы пытаетесь зайти. Дело в том, что обычный протокол TLS SNI перед началом шифрования отправляет провайдеру доменное имя в ClientHello во время рукопожатия. Перед началом шифрования серверу необходимо знать, к какому домену вы обращаетесь, чтобы предъявить нужный сертификат. И доменное имя отправляется в открытом виде, что на корню рубит идею приватности DNS запросов.


esni1.png



А протокол Encrypted SNI шифрует все данные публичным ключом сервера из DNS до установления TLS сессии.


esni2.png




Выбор дистрибутива браузера Mozilla Firefox​


Прежде чем перейти непосредственно к настройкам, следует правильно выбрать дистрибутив браузера. Дело в том, что начиная с версии 85.0 браузер Firefox официально больше не поддерживает технологию защиты от перехватов ESNI (Encrypted Server Name Indication). Вместо неё теперь — ECH или Encrypted Client Hello.


В общем, ECH круче чем ESNI, но есть ньюанс. Провайдер Cloudflare сам ещё не включил эту технологию. Сложилась парадоксальная ситуация, Mozilla Firefox уже не поддерживает ESNI, а Cloudflare ещё не поддерживает ECH. Но выход есть. Mozilla рекомендует пользователям временно перейти на Firefox ESR, в котором поддержка ESNI еще не отключена.





Я скачиваю Firefox Extended Support Release 78.9.0esr (64-битный) для Windows 10.


firefox_esr.png



Настройка сети​


В настройках сети в качестве DNS серверов я укажу IP адреса Cloudflare. Это не обязательно, просто будет наглядно. Указываю IP адреса:


  • 1.1.1.1
  • 1.0.0.1



Протестируем браузер в Cloudflare.








Итак, мы видим, что Encrypted SNI не работает. Secure DNS (в нашем случае это DNS over HTTPS) тоже не работает, не смотря на то, что мы используем безопасный DNS сервер CloudFlare с IP адресом 1.1.1.1.


Настройка DoH в браузере Mozilla Firefox​


Открываем настройки браузера. Можно через вкладку:

about:preferences
Или через интерфейс:


settings_ff.png


Основные > Параметры сети > Настроить.


settings_ff_doh.png




Устанавливаем галку "Включить DNS через HTTPS". Используемый провайдер по умолчанию "Cloudflare". Можно выбрать также NextDNS или указать Другой URL. Для указания своего URL можно использовать DoH-URI-template из таблицы выше. В таблице приведены не все провайдеры. OK.


Переходим к более тонким настройкам. Открываем вкладку:

about:config
Находим параметр network.trr.mode. Это режим работы TRR (Trusted Recursive Resolver).





При включении DoH в Firefox параметр network.trr.mode по умолчанию устанавливается в значение 2. Возможны варианты:


  • 0 — Отключить TRR по умолчанию.
  • 1 — Firefox выберет самый быстрый вариант.
  • 2 (по умолчанию) — DNS over HTTPS по умолчанию, стандартный DNS-сервер резервный.
  • 3 — Только TRR. Отключается стандартный резолвер.
  • 4 — Теневой режим. DNS over HTTPS работает параллельно с обычным DNS-сервером для синхронизации и измерений. Используются только результаты стандартного DNS-сервера.
  • 5 — Отключить TRR по выбору.
Оставляю вариант по умолчанию — 2.


Находим параметр network.trr.uri.

DoH_8.png



По умолчанию для Cloudflare браузер устанавливает значение

. Не меняю.


Secure DNS (в нашем случае DNS over HTTPS) теперь заработает. Или не заработает, потому что IP адрес заблокирован РКН.


rkn_0.png




Я просто явно укажу другой IP адрес Cloudflare. Находим параметр network.trr.bootstrapAddress и устанавливаем ему значение DNS сервера Cloudflare 1.1.1.1. Этот параметр переопределяет IP адрес домена, указанного в network.trr.uri.


DoH_5.png




Протестируем браузер в Cloudflare.





cf2.png




Secure DNS (в нашем случае DNS over HTTPS) теперь работает.


Настройка ESNI в браузере Mozilla Firefox​


Для включения ESNI в браузере Mozilla Firefox необходимо предварительно настроить DNS over HTTPS как описано выше.


Находим параметр network.security.esni.enabled и устанавливаем ему значение true.





Протестируем браузер в Cloudflare.








Encrypted SNI теперь работает.


Вместо заключения​


С какой стороны ни посмотри — DNS over HTTPS для нас, как конечных пользователей, очень хорошая штука.


Но технологии DNS over HTTPS и Encrypted SNI как кость в горле провайдеров, которые стремятся повысить свой доход путём встраивания рекламы в контент или продажи статистических данных сторонным компаниям.


Госорганы тоже не заинтересованы в том, чтобы преступники скрывали свои действия данной технологией. Кстати, уже появились вирусы, которые маскируют свою активность помощью DNS over HTTPS.


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


Всё это тормозит внедрение технологии DoH, но движение есть. Mozilla Firefox уже собирается включить по умолчанию DNS over HTTPS в США. В Великобритании DoH будет по умолчанию отключён. Цели Google, Cloudflare, Mozilla, Microsoft и прочих интернет-гигантов, конечно, не бескорыстны. Статистика и трафик DNS запросов теперь будет сосредотачиваться только у них. Этот ресурс монитизируется, промежуточные провайдеры окажутся в пролёте.


Ссылки​


В операционной системе Windows тоже появилась возможность использовать DNS over HTTPS:


 
Спасибо
 
Даже с ECH/ESNI провайдер видит ip адреса серверов, объем трафика, временные паттерны. Корреляция трафика деанонимизирует
 
В браузере Mozilla Firefox есть возможность включить использование протоколов DNS over HTTPS и Encrypted SNI. Настроим вместе DoH и ESNI в браузере Mozilla Firefox через провайдера Cloudflare.


Что такое DoH и ESNI?​


DoH — DNS over HTTPS​


Обращение к DNS серверу для разрешения доменных имён происходит по 53 порту в открытом виде. Такой запрос ничем не защищён от кибератаки вида Man-in-the-Middle (человек посередине). Злоумышленник, получив доступ к любому серверу в цепочке DNS запроса, может манипулировать вашим DNS трафиком, выдавая себя за систему, с которой вы общаетесь. Мне, например, глубоко безразлично, подсматривают ли на какие порносайты я захожу. А кому-то не хочется светить свою историю. А вот если уведут мою учётную запись от онлайн банка, то это будет печально.


Для усиления безопасности и защиты приватности пользователей путём шифрования DNS запросов был придуман протокол DNS over HTTPS. Протокол DoH инкапсулирует DNS запросы в HTTPS трафик и по 443 порту отправляет их DNS серверу. Естественно, нужно использовать специальный DNS сервер с поддержкой DoH.

Примеры общедоступных DNS серверов с поддержкой DoH:


ПровайдерIPБлокировкаDoH-URI-template
Cloudflare1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
Нет.
Cloudflare
Security
1.1.1.2
1.0.0.2
2606:4700:4700::1112
2606:4700:4700::1002
Вредоносный контент.
Cloudflare
Family
1.1.1.3
1.0.0.3
2606:4700:4700::1113
2606:4700:4700::1003
Вредоносный и взрослый контент.
Google8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
Нет.
CleanBrowsing
Security
185.228.168.9
185.228.169.9
2a0d:2a00:1::2
2a0d:2a00:2::2
Вредоносный контент.
CleanBrowsing
Adult
185.228.168.10
185.228.169.11
2a0d:2a00:1::1
2a0d:2a00:2::1
Вредоносный и взрослый контент.
CleanBrowsing
Family
185.228.168.168
185.228.169.168
2a0d:2a00:1::
2a0d:2a00:2::
Вредоносный, взрослый и смешанный контент.
Adguard94.140.14.14
94.140.15.15
2a10:50c0::ad1:ff
2a10:50c0::ad2:ff
Рекламный контент.
Adguard
Family
94.140.14.15
94.140.15.16
2a10:50c0::bad1:ff
2a10:50c0::bad2:ff
Рекламный и взрослый контент.
Quad99.9.9.10
149.112.112.10
2620:fe::10
2620:fe::fe:10
Нет.
Quad9
Sequrity
9.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
Вредоносный контент.

Quad9
Secured ECS support
9.9.9.11
149.112.112.11
2620:fe::11
2620:fe::fe:11
Вредоносный контент.
OpenDNS208.67.222.222
208.67.220.220
2620:119:35::35
2620:119:53::53
Нет.
OpenDNS
Family
208.67.222.123
208.67.220.123
2620:119:35::123
2620:119:53::123
Взрослый контент.

ESNI — Encrypted Server Name Indication​


Даже если вы включили DoH, то ваш провайдер всё равно знает, на какой домен вы пытаетесь зайти. Дело в том, что обычный протокол TLS SNI перед началом шифрования отправляет провайдеру доменное имя в ClientHello во время рукопожатия. Перед началом шифрования серверу необходимо знать, к какому домену вы обращаетесь, чтобы предъявить нужный сертификат. И доменное имя отправляется в открытом виде, что на корню рубит идею приватности DNS запросов.


Посмотреть вложение 2209172


А протокол Encrypted SNI шифрует все данные публичным ключом сервера из DNS до установления TLS сессии.


Посмотреть вложение 2209173



Выбор дистрибутива браузера Mozilla Firefox​


Прежде чем перейти непосредственно к настройкам, следует правильно выбрать дистрибутив браузера. Дело в том, что начиная с версии 85.0 браузер Firefox официально больше не поддерживает технологию защиты от перехватов ESNI (Encrypted Server Name Indication). Вместо неё теперь — ECH или Encrypted Client Hello.


В общем, ECH круче чем ESNI, но есть ньюанс. Провайдер Cloudflare сам ещё не включил эту технологию. Сложилась парадоксальная ситуация, Mozilla Firefox уже не поддерживает ESNI, а Cloudflare ещё не поддерживает ECH. Но выход есть. Mozilla рекомендует пользователям временно перейти на Firefox ESR, в котором поддержка ESNI еще не отключена.





Я скачиваю Firefox Extended Support Release 78.9.0esr (64-битный) для Windows 10.


Посмотреть вложение 2209174


Настройка сети​


В настройках сети в качестве DNS серверов я укажу IP адреса Cloudflare. Это не обязательно, просто будет наглядно. Указываю IP адреса:


  • 1.1.1.1
  • 1.0.0.1



Протестируем браузер в Cloudflare.








Итак, мы видим, что Encrypted SNI не работает. Secure DNS (в нашем случае это DNS over HTTPS) тоже не работает, не смотря на то, что мы используем безопасный DNS сервер CloudFlare с IP адресом 1.1.1.1.


Настройка DoH в браузере Mozilla Firefox​


Открываем настройки браузера. Можно через вкладку:

about:preferences
Или через интерфейс:


Посмотреть вложение 2209176


Основные > Параметры сети > Настроить.


Посмотреть вложение 2209177



Устанавливаем галку "Включить DNS через HTTPS". Используемый провайдер по умолчанию "Cloudflare". Можно выбрать также NextDNS или указать Другой URL. Для указания своего URL можно использовать DoH-URI-template из таблицы выше. В таблице приведены не все провайдеры. OK.


Переходим к более тонким настройкам. Открываем вкладку:

about:config
Находим параметр network.trr.mode. Это режим работы TRR (Trusted Recursive Resolver).





При включении DoH в Firefox параметр network.trr.mode по умолчанию устанавливается в значение 2. Возможны варианты:


  • 0 — Отключить TRR по умолчанию.
  • 1 — Firefox выберет самый быстрый вариант.
  • 2 (по умолчанию) — DNS over HTTPS по умолчанию, стандартный DNS-сервер резервный.
  • 3 — Только TRR. Отключается стандартный резолвер.
  • 4 — Теневой режим. DNS over HTTPS работает параллельно с обычным DNS-сервером для синхронизации и измерений. Используются только результаты стандартного DNS-сервера.
  • 5 — Отключить TRR по выбору.
Оставляю вариант по умолчанию — 2.


Находим параметр network.trr.uri.

Посмотреть вложение 2209178


По умолчанию для Cloudflare браузер устанавливает значение

. Не меняю.


Secure DNS (в нашем случае DNS over HTTPS) теперь заработает. Или не заработает, потому что IP адрес заблокирован РКН.


Посмотреть вложение 2209179



Я просто явно укажу другой IP адрес Cloudflare. Находим параметр network.trr.bootstrapAddress и устанавливаем ему значение DNS сервера Cloudflare 1.1.1.1. Этот параметр переопределяет IP адрес домена, указанного в network.trr.uri.


Посмотреть вложение 2209180



Протестируем браузер в Cloudflare.





Посмотреть вложение 2209183



Secure DNS (в нашем случае DNS over HTTPS) теперь работает.


Настройка ESNI в браузере Mozilla Firefox​


Для включения ESNI в браузере Mozilla Firefox необходимо предварительно настроить DNS over HTTPS как описано выше.


Находим параметр network.security.esni.enabled и устанавливаем ему значение true.





Протестируем браузер в Cloudflare.








Encrypted SNI теперь работает.


Вместо заключения​


С какой стороны ни посмотри — DNS over HTTPS для нас, как конечных пользователей, очень хорошая штука.


Но технологии DNS over HTTPS и Encrypted SNI как кость в горле провайдеров, которые стремятся повысить свой доход путём встраивания рекламы в контент или продажи статистических данных сторонным компаниям.


Госорганы тоже не заинтересованы в том, чтобы преступники скрывали свои действия данной технологией. Кстати, уже появились вирусы, которые маскируют свою активность помощью DNS over HTTPS.


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


Всё это тормозит внедрение технологии DoH, но движение есть. Mozilla Firefox уже собирается включить по умолчанию DNS over HTTPS в США. В Великобритании DoH будет по умолчанию отключён. Цели Google, Cloudflare, Mozilla, Microsoft и прочих интернет-гигантов, конечно, не бескорыстны. Статистика и трафик DNS запросов теперь будет сосредотачиваться только у них. Этот ресурс монитизируется, промежуточные провайдеры окажутся в пролёте.


Ссылки​


В операционной системе Windows тоже появилась возможность использовать DNS over HTTPS:


Годная мануал
 
  • Нравится
Реакции: kurs

Похожие темы

  • Закрыта
Ваш IP-адрес: Отказ от ответственности: весь этот абзац касается вашего общедоступного IP-адреса в Интернете, а не IP-адреса вашей локальной сети. Ваш IP-адрес — самый известный и очевидный способ, с помощью которого вас можно отследить. Этот IP-адрес — это IP-адрес, который вы используете в...
Ответы
1
Просмотры
718
Эксклюзивно для Rutor Что такое DNS знаешь? Точно? Я всё же оставлю здесь это наглядное пояснение. § 1 Как работает DNS в Tor, кто выбирает DNS-сервер? § 1 Когда DNS-сервер может вас деанонимизировать? § 1 Почему защита DNS в Tor сделает только хуже (и даже DNS over HTTPS [DoH] не поможет)? §...
Ответы
15
Просмотры
  • Закрыта
Эксклюзивно для Rutor Это продолжение и развитие темы "Как работает DNS в Tor и почему попытки его улучшить сделают только хуже" (ссылка для клирнета) Ознакомьтесь с первой статьёй, если ещё не читали или успели забыть прочитанное. Итак, напомню на чём мы остановились. Bob поднял выходную ноду...
Ответы
18
Просмотры
  • Закрыта
Аннотация. 1. Панацеи не существует. 2. Если Вам говорят, что это Удобно, знайте, Вас Отымеют, именно так. 3. Если хочешь сделать хорошо, сделай это сам! Вкратце: Самое лучшее -не пользоваться цифровыми вещами, совсем! Работать на заводе, пить спиртное, и ругать власть на кухне, а интернет и...
Ответы
16
Просмотры
С релизом Firefox 98.0.1 разработчики Mozilla удалили из списка поисковых систем по умолчанию « Яндекс» и Mail.ru. Представители организации объясняют, что это связано с тем, что спонсируемый государством контент превалировал в результатах поиска. Для жителей РФ «Яндекс» был поисковой системой...
Ответы
3
Просмотры
Назад
Сверху Снизу