DNS-через-HTTPS (DoH) на уровне веб-браузера
DNS через HTTPS (DoH) протокол для выполнения разрешения DNS по протоколу HTTPS. Целью метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS (Сервер доменного имени) с помощью атак типа «Атака посредника».
Жмакнув по этой ссылке и проверив Firefox (или любой другой популярный браузер ), у каждого из вас перед глазами откроется невыносимая сторона жизни... губительные противоречия действительности, неразрешимый конфликт в области информационных систем и технологий .
Упсс... Ну, как же так? Почему моя конфиденциальность ниже плинтуса? Запросы DNS у всех на виду, resolver не проверяет ответы DNS с помощью DNSSEC, браузер не зашифровал SNI.
В гордом одиночестве TLS 1.3. У кого и с этим проблемы, отредактируйте файл конфигурации Firefox (именно с этим браузером будем возиться ). В адресной строке браузера набираем: about:config и в строке поиска настроек, вводим имя security.tls.version.max - (выставляем значение 4 ).
Ролик:
Языком бульдозериста, что такое DNS-сервер.
Пользователю тяжело запомнить цифры. Компьютер разговаривает только на языке цифр. Каким образом столкнуть лбами принципиально разные субстанции.
Пользователь набирает доменное имя сайта в адресной строке браузера (oleglav.blogspot.com), а DNS (представим, что это большая, толстая телефонная книга ) конвертирует имя в IP-адрес (142.250.186.161) и возвращает вашему устройству «циферки» . После чего компьютер, находящийся по этому адресу, обрабатывает запрос и присылает информацию для открытия запрашиваемой страницы. На картинке это выглядит, примерно, так:
На картинке, что выше мы видим красные стрелки (запрос, ответ, запрос, ответ). И всё это напоминает деревню... стоит кому-то, что-либо «шушукнуть» - через пять минут, пол деревни всё знает.
Основная задача DoH - зашифровать DNS-трафик для предотвращения перехвата и обеспечения дополнительной конфиденциальности и безопасности.
Бум или не бум исправлять? В чем здесь закавыка! Если «пошерстить» интернет, введя в поисковой машине Google или Яндекса : DNS-over-HTTPS (DoH) , поймёте противоречивость суждений о технологии «ослепляющей» гигантское Око Саурона .
Одни готовы сжечь на костре изобретателей опции (DoH), как еретиков, отступающих от господствующих и общепринятых взглядов, правил, положений... мол радость по поводу новых технологий борьбы с цензурой в интернете преждевременна и бесполезна. Почитайте эту статью , очень интересное и занятное сочинение, ломающее всю нашу эйфорию и надежды о зашифрованном протоколе HTTPS.
Вот еще один камень (ссылка ), запущенный в сторону евангелистов «безопасного DNS». (DoH) это панацея не от цензуры, а от излишне любознательных «информационных посредников», провайдеров и интернет-жулья.
Другие всеми конечностями «За», ибо хватит молчать, надо что-то решать (ссылка ), все давно устали от того, что упЫри делают с нашим интернетом.
Как ко всему этому кордебалету относится автор ? Сейчас расскажу...
По началу в веб конфигураторе интернет центра (192.168.1.1), стояли DNS-сервера моего горячо любимого провайдера LLC Intercon . Стоят и стоят, каши не просят... Но, потом началось... чуть ли не каждую неделю интернет стал «сыпаться», когда на 15 минут, а когда и на значительно больший промежуток времени. Не очень приятная штука, однако. Звонишь провайдеру, а там нУль эмоций и безразличие в голосе. Ща, все будет голубчик, не надо паниковать ٩(̾●̮̮̃̾•̃̾)۶. Начинаешь делать диагностику неполадок, выскакивает типа этого:
Ага, думаю, сколько рубаху телефон не рви, пока сам себе не поможешь, будет шляпа... Зашел в системный монитор интернет-центра KEENETIC (192.168.1.1) и заколотил прямой наводкой DNS 1 : 8.8.8.8 DNS 2 : 1.1.1.1 DNS 3 : 9.9.9.9. Разложил, так сказать «DNS яйца» по разным корзинам, помимо Domain name server провайдера ツ.
LLC Intercon снова стал горячо любим и уважаем, интернет перестал «падать», бесполезные звонки прекратились.
Дык вот, к чему веду. Если давно использую публичные сервера, почему бы не зашифровать DNS запросы. Заодно уберем раздражающие, тягостные, мрачные кнопки с этой страницы .
Сказано, сделано. Мы не ищем лёгких путей, будем делать всё длинными ручками, хотя в Firefox можно поставить единственный маркер , но, об этом чуть позже.
В адресной строке браузера набираем: about:config и в строке поиска настроек, находим network.trr.mode - (присваиваем параметру значение 2 - используется DoH по умолчанию, а DNS как запасной вариант ).
Вы можете установить другие значения:
0 – отключить TRR по умолчанию;
1 - используется DNS или DoH, в зависимости от того, что быстрее;
3 – используется только DoH. Довольно опасный вариант. Если вы зайдете вот сюда и пропишете в поле https://cloudflare-dns.com/dns-query или https://mozilla.cloudflare-dns.com/dns-query, то сразу заметите, что-то не ладное. Ух, ты... Блокировка затрагивает IP 104.16.249.249 и домен ineedusersmore.net. РКН не дремлет. И, как себя поведет DoH не понятно. И какие интернет ресурсы будут дальше заблокированы, одному богу известно. Поэтому, оставлять яйца в одной корзине, крайне рискованно;
4 - режим зеркалирования при котором DoH и DNS задействованы параллельно. Вариант лично для меня совершенно не понятный, но разработчикам виднее;
5 - отключить TRR по выбору.
Не выходя из редактора, находим параметр по имени network.trr.uri . По умолчанию стоит https://mozilla.cloudflare-dns.com/dns-query . Если устраивает, что вся ваша информация будет улетать за океан, в «резерва́ цию Американских индейцев» - оставляем значение без изменений. Хотя есть выбор, например, публичный Google DNS: https://dns.google/dns-query . Да, что же это такое! Какой же это выбор. Опять всё улетает в «резерва́ цию Американских индейцев», а у этих ребят и уши длиннее и скальпы на складах хранятся дольше. Ладно, всё хорошо, как говаривал мой дед, мы всё вытерпим, со всем справимся, лишь бы войны не был ◌́ .
Далее находим network.trr.bootstrapAddress и настраиваем на 1.1.1.1 (если хотите работать с cloudflare ) или 8.8.8.8 (если хотите работать с Google ).
В адресной строке браузера набираем: about:networking и проверяем сеть (раздел DNS). Нажимаем кнопку Очистить кеш DNS, обновляем страничку, смотрим TRR. Должно быть true на против многочисленных имен узлов.
В адресной строке браузера набираем: 1.1.1.1/help и видим следующую картину (обращаем внимание на DNS-over-HTTPS (DoH) ). Всё работает:
Переходим на DNSleaktest https://www.dnsleaktest.com/ и нажимаем кнопку Стандартный тест.
А, как же страничка cloudflare, откуда и началась вся эта катавасия:
Ух, ты... на душе стало легче, но, есть небольшой осадок. Encrypted SNI не хочет подчиняться, а без этого важного элемента все труды насмарку.
Наша песня хороша, начинай сначала.
В адресной строке браузера набираем: about:config
По началу мне казалось, что если параметр network.security.esni.enabled выставить на true , игра закончится. Потом прочитал в интернете: ESNI (Encrypted Server Name Indication) больше не работает в более новых версиях Firefox. К сожалению, проблема вряд ли будет исправлена, поскольку ESNI - это исходящая технология, которая в конечном итоге заменят более всеобъемлющей ECH (Encrypted Client Hello) претендующей на роль стандарта IETF . Стек технологий ECH добавят в Firefox в 2021 году.
Ключевое отличие ECH от ESNI в том, что в ECH вместо отдельного поля шифруется всё сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI. Для управления включением ECH в about:config предложены настройки "network.dns.echconfig.enabled " и "network.dns.use_https_rr_as_altsvc ", назначаем true , что позволит Firefox использовать ECH с серверами, которые его поддерживают.
Но, и здесь есть выход. На данный момент Firefox ESR продолжает поддерживать предыдущую функциональность Encrypted Server Name Indication . П араметр " network.security.esni.enabled" переключите на true и все кнопки станут зелеными. Фу... игра закончена.
Если не совсем понятно все изложил, можете почитать эту статью . Мне она понравилась больше всех прочитанных.
Да, чуть не забыл. А, как же единственный маркер в настройках Firefox, который мгновенно зашифрует поисковые запросы DNS. Перейдите в Настройки → Основные . Скрольте в самый низ страницы, чтобы найти Параметры сети. Нажимаем кнопку «Настроить ». Упсс... а там уже всё настроено:
Вы ставили маркер на Включить DNS через HTTPS ? Нет! И, я не ставил. Как же так? Все дело в параметре network.trr.mode - 2 , который настраивали ранее. Как только вы его в about:config поменяли с пятёрки на двойку, птичка в чикбокс, залетает на автомате.
Всё выше сказанное можно было пропустить, открыв в Firefox Параметры соединения → Далее, выбрать Используемого провайдера , например, Cloudflare (по умолчанию) → Кликнуть Ок .
Зачем целый час голову морочил, зачем водил по болотам и топям? С этого и надо было начинать. От твоего рассказа, одни мазоли на пальцах o(ٿ)o.
Подводим итог. На, чем следует сконцентрировать свое внимание, что в DoH самое важное?!
Важно... чтобы кнопочки были зелеными...