💾 Archived View for tilde.team › ~rami › dns_ech.gmi captured on 2024-08-31 at 12:46:03. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
רמי
SUBJECT: Firefox: Настройка Encrypted Client Hello (Quad9)
AUTHOR: Rami Rosenfeld
DATE: 22/11/23
TIME: 01.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm, ostree, flatpak, siverblue, quad9, ech, dns
Я часто ругаю Firefox: за прожорливость, телеметрию, встроенные ненужные сервисы и т.п. Но сегодня настало время похвалить его разработчиков: начиная с версии 118, в браузере наконец-то официально заработала полноценная поддержка Encrypted Client Hello.
Для тех, кто не знает: это новый способ защиты ваших запросов к DNS-серверу; если раньше они шли практически в открытом виде по 53-му порту и были доступны для всех желающих, то не так давно было разработано средство под названием ESNI (Encrypted Server Name Indication; протокол TLS 1.3). ESNI шифрует имя запрашиваемого сайта с помощью публичного ключа сайта, получаемого из системы имен DNS, - однако и оно оказалось несовершенным.
Encrypted Client Hello (ECH - расширение протокола TLS 1.3, полностью шифрующего "рукопожатие" Client Hello Message) призвано слегка умерить :) чужое любопытство к вашим DNS-запросам.
Подробнее см.:
Одна проблема: Mozilla по умолчанию обеспечила шифрованное соединение только к DNS-серверу Cloudflare; думаю, что ни вас, ни меня такое положение дел абсолютно не устраивает. Я стал экспериментировать, подыскивать другой достойный корневой DNS-сервер, поддерживающий Encrypted Client Hello... и абсолютно внезапно обнаружил, что независимый сервер Quad9 не афиширует, но имеет такую поддержку.
Подробнее см.:
Quad9 Service Addresses & Features
Ниже - очень краткое, но полноценное руководство по активации ECH в связке с Quad9.
1. Тестирование работоспособности ECH с сервером Cloudflare.
1) Приведите настройки в about:config к следующему виду:
network.trr.default_provider_uri https://mozilla.cloudflare-dns.com/dns-query
network.trr.mode 3
network.dns.echconfig.enabled true
network.dns.echconfig.fallback_to_origin_when_all_failed false
network.trr.confirmation_telemetry_enabled false
network.trr.send_accept-language_headers false
network.trr.send_empty_accept-encoding_headers true
network.trr.send_user-agent_headers false
Опционально:
network.dns.http3_echconfig.enabled true
2) Затем в соседней вкладке браузера откройте его настройки. Перейдите в раздел "Privacy & Security" и спуститесь вниз, до настроек "DNS over HTTPS". Вы должны увидеть следующее:
Max Protection (АКТИВИРОВАНО)
- Firefox will always use secure DNS. You’ll see a security risk warning before we use your system DNS.
- Only use the provider you select.
- Always warn if secure DNS isn’t available.
- If secure DNS is not available sites will not load or function properly.
Choose provider: CLOUDFLARE (Default)
3) Откройте еще одну вкладку и перейдите на тестовую страницу Cloudflare:
Cloudflare: Browsing Experience Security Check
Протестируйте свое DNS-соединение, нажав на кнопку "Check my browser".
Как результат, ВСЕ ЧЕТЫРЕ позиции должны быть отмечены галочками (см. ниже):
Secure DNS
Nobody listening on the wire can see the DNS queries you make when you are browsing the Internet.
DNSSEC
Attackers cannot trick you into visiting a fake website by manipulating DNS responses for domains that are outside their control.
TLS 1.3
Nobody snooping on the wire can see the certificate of the website you made a TLS connection to.
Secure SNI
Nobody listening on the wire can see the website you made a TLS connection to.
4) Закройте эту вкладку.
2. Изменение сервера Cloudflare на Quad9
1) Вернитесь на вкладку с открытым about:config. Внесите изменение в следующую строку:
network.trr.custom_uri https://dns11.quad9.net/dns-query
2) Откройте новую вкладку с тестовой страницей Cloudflare:
Cloudflare: Browsing Experience Security Check
3) Протестируйте свое DNS-соединение, нажав на кнопку "Check my browser".
ТОЛЬКО ПЕРВЫЙ ПУНКТ должен быть помечен красным вопросительным знаком после тестирования:
(?) Secure DNS
We weren’t able to detect whether you were using a DNS resolver over secure transport. Contact your DNS provider or try using 1.1.1.1 for fast & secure DNS.
(не волнуйтесь: они продвигают собственный сервис и никогда не признаются, :) что в тесте определен иной провайдер DNS)
Все остальные ТРИ чекбокса должны остаться без изменения.
4) Теперь проведите проверку соединения с Quad9 на их тестовом сайте и убедитесь, что вы получили положительный результат:
Дополнительно см.:
Firefox: Encrypted Client Hello (ECH) FAQ
Firefox: Trusted Recursive Resolver (about:config settings)
🄯 Rami Rosenfeld, 2023. GNU FDL 1.3.