Прятки DNS с провайдером
Многие из нас каждый день на постоянной основе имеют дело с чем-то, что не очень хочется показывать другим, и для этих целей используют прокси, vpn, tor и кучу другого
И вот мы все такие крутые обмазались с ног до головы этими штуками и думаем, что никто никогда не узнает что мы и когда делали, но как правило все кто недавно (а иногда и давно) занимается веселыми делами в интернете забывает про то как же на самом деле работают сетевые протоколы
Небольшое отступление для тех, кого слова IP, DNS, DHCP бросают в дрожь: каждый раз когда мы обращаемся к интернет ресурсам по имени, наша машинка стучится к таблице в которой записаны однозначные сопоставления url <=> IP адрес сервера куда должен улететь запрос. Эта служба называется DNS (Domain Name System «система доменных имён»). Как правило, вся база с сопоставлениями находится на ближайшем к нам DHCP сервере, а он в свою очередь принадлежит провайдеру
Вроде, ничего страшного не происходит. Ну спрашиваем мы у него куда нам слать пакеты, мы-то сидим за ssl/tls, провайдер же не прочтёт наш трафик. Но знание о том, куда ходит пользователи, и главное - когда. Это очень важно, и нередко может сыграть с вами злую шутку, начиная от продажи этих данных рекламодателям, и заканчивая актом в уголовном деле о взломе чьей-то системы
Что же тогда делать? Ну, самый простой вариант это принудительно в системе указать где же брать таблицу с сопоставлениями. Например, на 8.8.8.8 (google) или 1.1.1.1 (cloudflaer). И всё круто! Они, как заявляют сами поставщики услуг, не ведут логи и не отслеживают действия пользователей, но проблема в том, что общение с этими сервисами идёт по не защищенному каналу, и если у вас не очень честный с вами, но очень лояльный к службам безопасности провайдер, то перехватить всё это дело не вопрос
И вот именно тут нам на помощь приходит DNSCrypt, DNS по TLS и DNS по HTTPS. Эти протоколы обеспечивают шифрование между вами и службой, которая обеспечивает корректную работу. Из всех трёх я предпочитаю TLS по DNS и цепляюсь к cloudflaer
Для тех, кто хочет попробовать DNSCrypt есть Simple DNSCrypt для Windows и клиент для Apple iOS под названием DNS Cloak, но они не очень стабильные и периодически повисают
У DNS по TLS (Transport Layer Security) несколько преимуществ перед DNSCrypt. Во-первых, это предлагаемый стандарт IETF. Также он довольно просто работает по своей сути - принимает запросы стандартного формата DNS и инкапсулирует их в зашифрованный TCP-трафик. Я лично пользуюсь Stubby. Вот линк по тому, как это настраивать