Как зашифровать dns трафик
Используя VPN, ты думаешь, что за тобой никто не подсматривает и передаваемые данные защищены? Ты ошибаешься. Сейчас попробую объяснить почему.
При использовании HTTPS или SSL твой http-трафик зашифрован, то есть защищен. Когда ты используешь VPN, весь твой трафик шифруется (конечно, все зависит от настроек VPN, но, как правило, так оно и есть). Но иногда, даже когда используется VPN, твои DNS запросы незашифрованны, они передаются как есть, что открывает огромное пространство для "творчества".
DNSCrypt - это программа, позволяющая шифровать DNS-запросы. После установки этой программы на твой компьютер твои соединения также будут защищены и ты сможешь более безопасно бороздить просторы Интернета. Конечно, DNSCrypt - это не панацея от всех проблем, а только одно из средств обеспечения безопасности. Для шифрования всего трафика все еще нужно использовать VPN-соединение, но в паре с DNSCrypt будет безопаснее. Если тебя такое краткое объяснение устроило, можешь сразу переходить к разделу, где я буду описывать установку и использование программы.
Для настоящих параноиков
Попробуем разобраться глубже. Этот раздел предназначен для настоящих параноиков. Если ты ценишь свое время, тогда можешь сразу перейти к установке программы.
Рис. 1. Зашифрованное VPN-соединение (зеленая линия) и незашифрованное соединение с DNS-сервером провайдера (красная линия)
Описанная выше ситуация называется DNS leaking ("утечка DNS"). DNS leaking происходит, когда твоя система даже после соединения с VPN-сервером или Tor продолжает запрашивать DNS-серверы провайдера для разрешения доменных имен. Каждый раз, когда ты посещаешь новый сайт, соединяешься с новым сервером или запускаешь какое-то сетевое приложение, твоя система обращается к DNS провайдера, чтобы разрешить имя в IP. В итоге твой провайдер или любой желающий, находящийся на "последней миле", то есть между тобой и провайдером, может получить все имена узлов, к которым ты обращаешься. Приведенный выше вариант с подменой IP-адреса совсем жестокий, но в любом случае есть возможность отслеживания посещенных тобой узлов и использования этой информации в собственных целях.
При этом тебе не нужно никакое другое дополнительное программное обеспечение. Просто настрой свою систему на использование этих DNS-серверов. Но все равно остается проблема перехвата DNS-соединений. Да, ты уже обращаешься не к DNS провайдера, а к OpenDNS, но все еще можно перехватить пакеты и посмотреть, что в них. То есть при желании можно узнать, к каким узлам ты обращался.
Вот мы и подошли к DNSCrypt. Эта программулина позволяет зашифровать твое DNS-соединение. Теперь твой провайдер (и все, кто между тобой и ним) точно не узнает, какие сайты ты посещаешь! Еще раз повторяюсь. Эта программа - не замена Tor или VPN. По прежнему, остальные передаваемые тобой данные, передаются без шифрования, если ты не используешь, ни VPN, ни Tor. Программа шифрует только DNS-трафик.
DNS Leak
Сайт https://www.dnsleaktest.com позволяет определить "утечку" DNS и объясняет, как от нее избавиться. Просто зайди на этот сайт. Нажав кнопку Check for DNS leaks now, ты получишь список DNS-серверов, через которые могут проходить твои запросы. Следовательно, ты узнаешь, кто именно может узнать, какие сайты ты посещаешь (рис. 2).
Рис. 2. Список DNS-серверов
Как показано на рис. 2, владельцы 12 DNS-серверов имеют возможность записывать все посещенные мною сайты. Но поскольку я работаю через Tor, то меня этот вопрос мало беспокоит.
Установка и использование DNSCrypt
Первым делом качаем сам DNSCrypt:
Я сразу привел ссылку на GitHub, откуда можно скачать программу. Если хочешь получить о ней дополнительную информацию, тогда тебе сюда:
Используя VPN, TOR, и даже Tails Linux вы думаете что ваша анонимность надежно защищена. Но к сожалению это не так. Существует один очень важный канал утечки вашей приватной информации — служба DNS. Но к счастью на это тоже придумано решения. Сегодня я раскажу как зашифровать свой DNS трафик с помощью утилиты DNSCrypt.
Тут на помощь приходит опенсорсная утилита DNSCrypt, разработанная хорошо известными тебе создателями OpenDNS, — программа, позволяющая шифровать DNS-запросы. После ее установки на компьютер твои соединения также будут защищены и ты сможешь более безопасно бороздить просторы интернета. Конечно, DNSCrypt — это не панацея от всех проблем, а только одно из средств обеспечения безопасности. Для шифрования всего трафика все еще нужно использовать VPN-соединение, но в паре с DNSCrypt будет безопаснее. Если тебя такое краткое объяснение устроило, можешь сразу переходить к разделу, где я буду описывать установку и использование программы.
Попробуем разобраться глубже. Этот раздел предназначен для настоящих параноиков. Если ты ценишь свое время, тогда можешь сразу перей ти к установке программы.
Итак, как говорится, лучше один раз увидеть, чем сто раз услышать. Посмотри на рисунок.
Принцип работы DNSCrypt
Описанная ситуация называется DNS leaking («утечка DNS»). DNS leaking происходит, когда твоя система даже после соединения с VPN сервером или Tor продолжает запрашивать DNS серверы провайдера для разрешения доменных имен. Каждый раз, когда ты посещаешь новый сайт, соединяешься с новым сервером или запускаешь какое-то сетевое приложение, твоя система обращается к DNS провайдера, чтобы разрешить имя в IP. В итоге твой провайдер или любой желающий, находящийся на «последней миле», то есть между тобой и провайдером, может получить все имена узлов, к которым ты обращаешься. Приведенный выше вариант с подменой IP-адреса совсем жестокий, но в любом случае есть возможность отслеживать посещенные тобой узлы и использовать эту информацию в собственных целях.
При этом тебе не нужно никакое другое дополнительное программное обеспечение. Просто настрой свою систему на использование этих DNS-серверов.
Но все равно остается проблема перехвата DNS-соединений. Да, ты уже обращаешься не к DNS провайдера, а к OpenDNS, но все еще можно перехватить пакеты и посмотреть, что в них. То есть при желании можно узнать, к каким узлам ты обращался.
Вот мы и подошли к DNSCrypt. Эта программулина позволяет зашифровать твое DNS соединение. Теперь твой провайдер (и все, кто между тобой и им) точно не узнает, какие сайты ты посещаешь! Еще раз повторюсь. Эта программа не замена Tor или VPN. По-прежнему остальные передаваемые тобой данные передаются без шифрования, если ты не используешь ни VPN, ни Tor. Программа шифрует только DNS трафик.
DNS LEAK
УСТАНОВКА И ИСПОЛЬЗОВАНИЕ DNSCRYPT
Самый простой способ защитить свое DNS соединение — это использовать DNSCrypt.
Осталось только запустить dnscrypt-proxy. exe. В появившемся окне выбери сетевые адаптеры, которые нужно защитить, и нажми кнопку Start. Если все нормально, тогда возле кнопки Stop (в нее превратится кнопка Start) появится надпись DNSCrypt is running. Кстати, обрати внимание, что интерфейс для OS X выглядит несколько иначе (клиент для OS X можно взять здесь: bit.ly/rCNp01).
В КАЧЕСТВЕ ЗАКЛЮЧЕНИЯ
Статья получилась не очень большая, поскольку сама программа очень проста в использовании. Но она была бы неполной, если бы я не упомянул и о VPN. Если ты прочитал эту статью, тебя она заинтересовала, но ты еще не пользуешься услугами VPN-провайдера для шифрования своих данных, то самое время это сделать.
VPN-провайдер предоставит тебе безопасный туннель для передачи твоих данных, а DNSCrypt обеспечит защиту DNS-соединений. Конечно, услуги VPN провайдеров платны, но ведь за безопасность нужно платить?
Можно использовать, конечно, и Tor, но Tor работает относительно медленно, и это, как ни крути, не VPN — весь трафик «торифицировать» не получится. В любом случае (какой бы вариант ты ни выбрал) теперь твои DNS-соединения защищены. Осталось только определиться со средством шифрования трафика (если ты это еще не сделал).
С тех пор, как был развеян миф об анонимности в интернете, вопрос конфиденциальности пользователя пополнил список самых злободневных. Отслеживать вашу деятельность в сети могут не только поисковые системы и посещаемые сайты, но также и ваши собственные поставщики интернет-услуг. Технически это не так уже и сложно, если DNS выдается вам провайдером, а так чаще всего бывает, весь проходящий по DNS трафик может быть им отслежен, тем более, что DNS -запросы отправляются по незашифрованному соединению.
Понятно, что подмена перехваченных пакетов не составит особого труда даже при использовании вами VPN -сервисов.
Simple DNSCrypt укомплектована легким интуитивно понятным интерфейсом да к тому же на русском языке, так что вы без труда разберетесь что к чему. Основные настройки выполняются в разделе «Меню». Чтобы начать пользоваться программой, сразу после установки нажмите кнопку «Применить», а затем выберите внизу вашу сетевую карту, она должна быть отмечена галочкой, как показано на скриншоте. Переключатель «Служба DNSCrypt» должен быть активным.
Проверить, всё ли работает нетрудно. Выполните в окошке Run команду ncpa.cpl , откройте свойства вашего подключения, выберите в списке IP версии 4 (TCPIPv4) и откроете его свойства. Радиокнопка «Использовать следующие адреса DNS-серверов» должна быть активной, а в поле должен быть указан предпочитаемый DNS -сервер. У нас это 127.0.0.1 , у вас адрес может быть другим.
По умолчанию программа автоматически выбирает самый быстрый сервер, но вы можете изменить предпочтения, выбрав его самостоятельно в разделе «Резольверы».
Параметры раздела «Расширенные настройки» можно не менять, если вы не используете протокол IPv4 . В общих настройках можно включить дополнительные вкладки «Черный список доменов», «Журнал блокировки доменов», но это опять, если вы собираетесь работать с предлагаемыми в них функциями, в частности, составлять «черные» списки доменов.
Есть еще вкладки «Журнал блокировки адресов» и «Черный список адресов», но у нас они почему-то неактивны.
DNSCrypt шифрует DNS , а что насчет приватности вообще, может ли программа сделать работу в сети анонимной? Нет, задача DNSCrypt заключается в защите от подмены DNS -серверов злоумышленниками (при условии, что вы не редактировали файл HOSTS) , на анонимность она никак не влияет, но может использоваться в качестве вспомогательного инструмента приватности в случае подключения к интернету через VPN .
Стандартный протокол DNS во время передачи трафика не использует шифрование, что тем самым делает его уязвимым. Подобная передача трафика может использоваться в атаках и также является уязвимой.
Для шифрования DNS трафика установим программу Stubby. Stubby - программа с открытым исходным кодом, которая работает в качестве локального приватного DNS резолвера. Для шифрования трафика использует метод DNS поверх TLS.
Перейдем к установке программы.
Для Ubuntu и подобных дистрибутивов:
Для ArchLinux и подобных дистрибутивов
По умолчанию используется шифрование через резолверы Sinodun и другие. Если мы хотим поменять резолверы например на Cloudflare или Comss.one DNS, то нам нужно будет отредактировать конфигурационный файл.
Перейдем к редактированию конфигурационного файла программы:
А в случае Comss.one DNS добавляем следующие строки:
Сохраняем изменения комбинацией клавиш ctrl+o и ctrl+x.
Затем переходим в параметры сети и меняем DNS на следующее значение: 127.0.0.1
Если вы не используете systemd-resolved, и отключили его, например из-за утечки DNS в OpenVPN, то тогда вам нужно внести изменения в файл resolv.conf:
Заменяем строку nameserver на следующие две строки:
Сохраняем изменения комбинацией клавиш ctrl+o и ctrl+x. А так же сохраняем файл от дальнейшей перезаписи:
Запускаем приложение Stubby и включаем его службу:
Как проверить шифрование DNS трафика в GNU/Linux
Проверить шифрования DNS трафика в GNU/Linux можно с помощью следующих утилит Wireshark и Termshark. Мы воспользуемся Termshark.
Для работы Termshark необходимо установить следующий пакет:
для Ubuntu и подобных дистрибутивов:
для ArchLinux и подобных дистрибутивов:
Добавляем себя в группу wireshark:
Где username это имя пользователя.
Теперь можно скачать архив с файлом, который доступен по ссылке ниже.
Разархивируем архив, открываем терминал в папке с файлом и запускаем программу:
В строке Filter вводим слово DNS и нажимаем на кнопку Apply.
Читайте также: