Установка DNSCrypt (dnscrypt-proxy) в Windows, Linux и MacOS. Увеличиваем интернет-безопасность с помощью DNScrypt

Эта статья написана по просьбе одного из читателей блога. И должен сказать - тема весьма интересная.

В наше время, всё более остро встаёт вопрос о защите передаваемого трафика в сети Интернет. Очень многие могут позариться на ваши данные - от злоумышленников, который всеми силами будут хотеть заполучить ваши пароли к различным сервисам, до спецслужб, которые хотят знать всё о каждом вашем шаге. И на данное время, существует большое количество "средств самообороны" в Интернете. Об одном таком простом, но весьма эффективном средстве, пойдёт речь в этой статье - DNScrypt .

Существует такой замечательный ресурс, под названием OpenDNS , который предоставляет свои публичные DNS-сервера . OpenDNS предлагает DNS-решения для пользователей и предприятий, как альтернативу использованию DNS-сервера, предлагаемого их провайдером. Размещение серверов компании в стратегически важных районах и использование большого кэша доменных имен приводит к тому, что OpenDNS, как правило, выполняет запросы гораздо быстрее, тем самым увеличивая скорость открытия страницы. Результаты DNS-запросов некоторое время кэшируются в операционной системе и/или приложениях, так что эта скорость может быть заметна не при каждом запросе, а только при тех запросах, которые не кэшированы.

Так как трафик между DNS-сервером и вашим компьютером не шифруется , это создаёт серьёзную опасность перехвата трафика. Шифрование DNS-трафика позволит защитить клиента от атак "человек посередине" , при которых злоумышленник вклинивается в канал связи и притворяется DNS-сервером. Кроме того, шифрование предотвращает наблюдение за трафиком и блокирует активность злоумышленников, связанную с подбором идентификаторов пакетов или отправкой фиктивных DNS-ответов. Проще говоря: шифрование DNS предотвратит фишинговые атаки, когда вместо желаемой страницы, открывается её вредоносная копия, где вы вводите свои данные. Со всеми вытекающими. Плюс ко всему, провайдеру станет гораздо тяжелее узнать, какие сайты вы посещали (ибо в логах не будет информации о запросах на разрешение имён). Чтобы всё это организовать, проект OpenDNS выпустил замечательную утилиту с открытым исходным кодом - DNScrypt .

Эта утилита будет шифровать весь передаваемый трафик между вашим компьютером и OpenDNS-серверами. Если ваш провайдер блокирует какой-нибудь сайт по его доменному имени - теперь этот сайт заработает! Ещё один плюс. Данная утилита доступна на великом множестве систем. Опишу установку и настройку на примере Debian и Ubuntu/Linux Mint .

В Ubuntu 14.04 и Debian 8 , этой утилиты нет. Варианта 2: собирать самому или использовать сторонние репозитории. В случае Ubuntu, это будет PPA-репозиторий:

sudo add-apt-repository ppa:xuzhen666/dnscrypt
sudo apt-get update
sudo apt-get install dnscrypt-proxy

В случае Дэбиана, достаточно скачать пакет dnscrypt-proxy из репозитория тестового выпуска . И установить с помощью GDebi , либо командой sudo dpkg -i dnscrypt-proxy_1.6.0-2_amd64.deb .

Для самостоятельной сборки:

wget https://raw.github.com/simonclausen/dnscrypt-autoinstall/master/dnscrypt-autoinstall.sh && chmod +x dnscrypt-autoinstall.sh && ./dnscrypt-autoinstall.sh

В процессе установки будет предложено выбрать DNS-сервер. Выбирайте OpenDNS.

Дополнительной настройки не требуется, в пакете есть всё необходимое. Всё что вам нужно - слега перенастроить подключение к сети. Открываем настройку сетевых соединений, выбираем своё, идём на вкладку IPv4, меняем Авто (Auto) на Автоматически (только адреса) (Auto (Address only) и указываем DNS-адрес 127.0.2.1

Перезагружаемся, подключаемся и переходим по

Корпорация по управлению доменными именами и IP-адресами (ICANN) готовится к замене криптографических ключей защиты DNS-серверов 11 октября. Если что-то пойдет не так, у миллионов пользователей возникнут проблемы с интернетом.

Система адресации Всемирной паутины устроена таким образом, чтобы нам не приходилось запоминать цифровые IP сайтов - достаточно знать URL на естественном языке (например, сайт вместо 80.93.184.195). DNS-сервер (от англ. Domain Name System) выполнит задачу переводчика за нас и определит, какой веб-ресурс мы ищем, набирая тот или иной адрес или кликая по строке выдачи поисковика.

С тех пор как Сеть стала площадкой для бизнеса, с каждым годом росло число жертв кибермошенников, которые перехватывали запрос пользователя к DNS-серверу и вместо нужного сайта перенаправляли его на подставной, порой визуально неотличимый от оригинала. Поэтому в 2010 году ICANN ввела систему ключей KSK (от англ. Key Signing Key) - расширений безопасности системы доменных имен (DNS Security, или DNSSEC), срок замены которых давно истек.

Зоны корневых DNS-серверов

Источник: Википедия.

Ключевая дата

KSK используются для дополнительной защиты запросов пользователей к системе DNS. Они устанавливаются в конфигуратор (якорь доверия) на серверы корневых (валидирующие резолверы) и локальных (рекурсивные резолверы) доменных зон и обеспечивают гарантию соответствия указанного в запросе URL подлинному IP-адресу. KSK по регламенту подлежат замене каждые пять лет. Но поскольку срок полномочий правительства США по управлению доменными именами истек, а многие крупные операторы оказались не готовы, решили не спешить.

Всерьез про обновление ключей заговорили в июле 2016 года, а на днях корпорация объявила готовность номер один - 11 октября запланирована деактивация действующей версии KSK и переход к новой. Поскольку у операторов было достаточно времени на обновление конфигураторов резолверов, смена ключей должна пройти автоматически и незаметно для остального мира. Более того, двое из каждых трех пользователей интернета вообще не имеют отношения к DNSSEC.

Безопасность ценой риска

Однако, по оценке самой ICANN, существует вероятность, что некоторые резолверы по каким-то причинам оставят в якоре доверия старые ключи - в таком случае DNS-сервер просто не сможет понять, какой сайт у него запрашивают. При этом в силу особенностей валидации ключей корневой доменной зоны так называемыми авторитетными DNS-серверами (отвечающими за домены первого порядка, например, зону.ru) последствия могут проявиться спустя двое суток.

Криптографические офицеры ICANN предупреждают, что для 750 млн рядовых пользователей это может обернуться непредсказуемыми ошибками доступа к странице в браузере (типа «server failure» и SERVFAIL) или загрузкой сайта без картинок, сбоями при обмене почтой, битыми сообщениями и общим замедлением быстродействия Сети. Более серьезные последствия грозят автоматизированным системам и сервисам, подключенным к DNSSEC - сломается не просто синхронизация времени, а весь электронный документооборот.

Помимо этого, ICANN ожидает существенный рост вычислительной нагрузки на всю иерархию DNS из-за увеличения числа запросов на обновление KSK от операторов со старыми ключами. Результаты мониторинга ситуации обещают публиковать на сайте корпорации.

DNSCrypt - это спецификация, реализованная в программном обеспечении unbound, dnsdist, dnscrypt-wrapper и dnscrypt-proxy.

2. Сохраните копию исходного файла конфигурации example-dnscrypt-proxy.toml и настройте согласно вашим требованиям как .

Наш пример настройки файла . Список общедоступных DNS-резольверов доступен по этой ссылке .

3. Убедитесь, что другие приложения и сервисы не прослушивают 53 порт в вашей системе и запустите приложение dnscrypt-proxy в командной строке Windows в режиме администратора устройства. Измените ваши настройки DNS для настроенного IP-адреса.

В нашем случае необходимо настроить DNS на 127.0.0.1 (указанное значение для параметра listen_addresses в конфигурационном файле) в параметрах протокола TCP/IP. Как это сделать для Windows рассказывается в статье настройка DNS на компьютере с ОС Windows . Приведем скриншот настройки для нашего случая:

4. Установите системную службу.

Установка системной службы dnscrypt-proxy (Windows, Linux, MacOS)

В командной строке, запущенной с правами администратора, введите следующую команду dnscrypt-proxy -service install для регистрации dnscrypt-proxy в качестве системной службы, а затем введите команду dnscrypt-proxy -service start для запуска службы.

В Windows данный шаг не требуется. Просто дважды щелкните по файлу server-install.bat для установки службы.

Служба будет автоматически запускаться при каждой перезагрузке.

Процедура установки совместима с операционными системами Windows, Linux (systemd, Upstart, SysV) и macOS (launchd).

Другие полезные команды: stop , restart (полезна при изменении конфигурации) и uninstall .

Установка dnscrypt-proxy в Ubuntu 18.04, 17.10

sudo add-apt-repository ppa:shevchuk/dnscrypt-proxy
sudo apt update
sudo apt install dnscrypt-proxy
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Раскомментируем (убираем значок #) строку server_names (и заменяем имена серверов на нужные нам). Для сохранения изменений нажимаем CTRL+O соглашаемся на изменения и затем CTRL+X для закрытия. Либо от имени Администратора в текстовом редакторе правим файл dnscrypt-proxy.toml расположенный в /etc/dnscrypt-proxy/.

В настройках сети - IPV4 - DNS - отключаем Автоматический и ставим 127.0.0.1

Sudo sed -i "s/127.0.2.1/127.0.0.1/g" /lib/systemd/system/dnscrypt-proxy.socket
sudo systemctl daemon-reload
sudo systemctl stop dnscrypt-proxy.socket
sudo systemctl enable dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

Перезагружаем систему.

Установка системной службы dnscrypt-proxy (Arch Linux)

В AUR репозитории Arch linux поддерживается 2 версия пакета.

1. Выполните установку:

Yaourt -S dnscrypt-proxy-go

2. Активируйте и запустите службу:

Systemctl enable dnscrypt-proxy.service
systemctl start dnscrypt-proxy.service

3. Проверьте, был ли успешен запуск службы:

Systemctl status dnscrypt-proxy.service

4. Посмотрите содержимое журнала:

Dnscrypt-proxy is ready - live servers:

Теперь dnscrypt-proxy будет прослушивать 127.0.0.1:53

Запуск в Linux без root

Следующая команда добавляет необходимые атрибуты для файла dnscrypt-proxy, делая возможным его запуск без root прав:

Sudo setcap cap_net_bind_service=+pe dnscrypt-proxy

Проверка работы

Проверьте, что все работает корректно. DNS-запрос для resolver.dnscrypt.info должен возвращать один из выбранных DNS-серверов вместо серверов вашего провайдера

Вы можете проверить информацию о DNS с помощью сервиса DNSLeak.com . Данные сайты возвращают информацию о вашем IP-адресе и владельце используемого DNS сервера. Если в результатах отображается сервис вашего Интернет-провайдера, то происходит утечка DNS.

Simple DNSCrypt для Windows

Для Windows также можно использовать - инструмент для настройки шифрования DNSCrypt на компьютерах Windows с помощью простого в использовании интерфейса.

Нашли опечатку? Нажмите Ctrl + Enter

В браузерах, а в этой статье речь пойдет об утечке DNS-трафика. Которая затрагивает всех, и даже тех кто использует VPN-сервисы и считает, что находится за каменной стеной.

Здравствуйте друзья! Сегодня я расскажу что такое утечка DNS, почему вы должны об этом знать и как от этого защититься используя бесплатную утилиту DNSCrypt.

  • Предисловие
  • Что значит утечка DNS
  • Как проверить утечку DNS
  • Как исправить утечку DNS используя DNSCrypt
    • Скачивание DNSCrypt
    • Установка DNSCrypt
    • Использование DNSCrypt
  • DNSCrypt в Yandex браузере
  • DNSCrypt в роутере
  • Заключение
  • Оценка и отзывы

Что значит утечка DNS?

При использовании HTTPS или SSL ваш HTTP трафик зашифрован, то есть защищен (не идеально, но защищен). Когда вы используете VPN, весь ваш трафик полностью шифруется (разумеется уровень и качество защиты зависит от правильной настройки VPN, но обычно все настроено и работает правильно).

Но бывают ситуации в которых даже при использовании VPN, ваши DNS-запросы передаются в открытом незашифрованном виде. Это открывает злоумышленнику большие возможности для творчества. может перенаправить трафик, применить MITM-атаку (человек посередине) и сделать еще кучу других вещей, которые могут поставить под угрозу вашу безопасность и анонимность в сети.

Давайте попробуем разобраться в этом вопросе поглубже. Если вас не интересует теория, но волнует безопасность, можете сразу переходить к следующей главе. Если хотите знать побольше, усаживайтесь поудобнее, сейчас я вам вынесу мозг.

В нашем примере на рисунке ниже вы видите как пользователь (компьютер) пытается обратиться к сайту www.. Для того чтобы попасть на сайт он должен сначала разрешить символьное имя узла в IP-адрес.

Если же конфигурация сети такова, что используется DNS-сервер провайдера (незашифрованное соединение, отмечено красной линией), то разрешение символьного имени в IP-адрес происходит по незашифрованному соединению.

Что в этом страшного?

Во-первых, в такой ситуации провайдер может просмотреть историю DNS и узнать какие сайты вы посещали. Он конечно не узнает какие именно данные передавались, но адреса сайтов он сможет просмотреть запросто.

Во-вторых, есть большая вероятность оказаться жертвой хакерской атаки. Такой как: DNS cache snooping и DNS spoofing.

Что такое DNS снупинг и спуфинг?

Вкратце для тех кто не в курсе.

DNS снупинг — с помощью этой атаки злоумышленник может удаленно узнавать какие домены были недавно отрезолвлены на DNS-сервере, то есть на какие домены недавно заходила жертва.

DNS спуфинг — атака, базируется на заражении кэша DNS-сервера жертвы ложной записью о соответствии DNS-имени хоста, которому жертва доверяет.

Так как запросы не шифруются, кто-то между вами и провайдером может перехватить и прочитать DNS-запрос, после чего отправить вам поддельный ответ..com или vk.com, вы перейдете на поддельный или как еще говорят хакера (поддельным будет не только вид страницы, но и урл в адресной строке), после чего вы введете свой логин и пароль, ну а потом сами понимаете что будет. Данные авторизации будут в руках злоумышленника.

Описанная ситуация называется утечка DNS (DNS leaking). Она происходит, когда ваша система для разрешения доменных имен даже после соединения с VPN-сервером или сетью Tor продолжает запрашивать DNS сервера вашего провайдера. Каждый раз когда вы попытаетесь зайти на сайт, соединится с новым сервером или запустить какое-нибудь сетевое приложение, ваша система будет обращаться к DNS серверам провайдера, чтобы разрешить имя в IP-адрес. В итоге какой-нибудь хакер или ваш провайдер смогут узнать все имена узлов, к которым вы обращаетесь.

Если вам есть что скрывать, тогда я вам предлагают использовать простое решение — DNSCrypt. Можно конечно прописать какие-нибудь другие DNS-сервера и пускать трафик через них. Например сервера Гугла 8.8.8.8 или того же OpenDNS 208.67.222.222, 208.67.220.220. В таком случае вы конечно скроете от провайдера историю посещения сайтов, но расскажите о своих сетевых путешествиях Гуглу. Кроме этого никакого шифрования DNS трафика не будет, а это большой недостаток. Не знаю как вас, но меня это не возбуждает, я лучше установлю DNSCrypt.

Как проверить утечку DNS

Перед тем как мы перейдем к самой утилите, я бы хотел познакомить вас со специальными онлайн-сервисами. Они позволяют проверить утечку DNS.

Для работы программы требуется Microsoft .NET Framework 2.0 и выше.

Скачать DNSCrypt для Mac OS X вы можете по ссылке с Гитаб или с файлообменка по ссылке выше.

Разработчик программы OpenDNS.

Установка DNSCrypt

В этой статье мы разберем работу с консольной версией утилиты. Настраивать ДНСКрипт будем на Windows 10. Установка на других версиях винды не отличается.

Итак, скачанный архив распаковываем и помещаем содержимое папки dnscrypt-proxy-win32 в любое место на компьютере. В моем примере я расположил в папке “C:\Program Files\DNSCrypt\”.

После чего откройте от имени администратора командною строку.


Запуск командной строки от имени администратора в Windows 10

Теперь в командной строке перейдите в папку DNSCrypt. Сделать это можно с помощью команды:

cd "C:\Program Files\DNSCrypt"

Кликаем , если не можете скопировать команды.

После этого подготовимся к установке службы прокси. Для начала необходимо выбрать провайдера DNS. В архив я положил файл dnscrypt-resolvers.csv. Этот файлик содержит список большинства DNS провайдеров, которые поддерживает DNSCrypt. Для каждого отдельного провайдера есть название, описание, расположение и поддержка DNSSEC и Namecoin. Кроме этого файл содержит необходимые IP-адреса и открытые ключи.

Выберите любого провайдера и скопируйте значение в первом столбце. В моем случае я буду использовать CloudNS, поэтому я скопировал “cloudns-can”. Теперь необходимо убедится, что прокси может подключиться. Сделать это можно с помощью этой команды:

dnscrypt-proxy.exe -R "cloudns-can" --test=0

Если у вас не получилось, попробуйте выбрать другого провайдера и повторить попытку еще раз.

Если все прошло успешно, продолжим установку и введем следующую команду:

dnscrypt-proxy.exe -R cloudns-can --install

Если все правильно работает, вы увидите следующие выходные данные:

Скрин того как это должно выглядеть в командой строке:

После чего необходимо зайти в параметры протокола TCP/IP Windows и изменить настройки DNS на 127.0.0.1.

Для удаления службы ДНСКрипт необходимо вернуть сетевые настройки DNS в начальное состояние. Делается это с помощью этой команды:

dnscrypt-proxy --uninstall

Данная команда также может использоваться для смены провайдера DNS. После применения нужно повторить установку с параметрами другого провайдера.

Если у вас после всей этой процедуры по какой-то причине во время проверки все еще определяться IP-адрес DNS вашего интернет-провайдера, кликните по кнопке «Дополнительно», которая находится под прописанным IP 127.0.0.1. В появившемся окне «Дополнительные параметры…», перейдите на вкладку «DNS» и удалите все адреса DNS-серверов кроме «127.0.0.1».

Все, теперь утечка DNS устранена.

Вас также может заинтересовать статья « », в которой рассказывалось об удалении записей DNS на компьютере.

DNSCrypt в Яндекс Браузере

С недавнего времени в браузере от Яндекс появилась поддержка ДНСКрипт. Ну что сказать, ребята из Яндекса работают и пытаются защитить пользователя — это здорово, но в отличие от утилиты DNSCrypt защита у Яндекса реализуется только на уровне браузера, а не уровне всей системы.

DNSCrypt в роутере

Также поддержка ДНСКрипт реализована в популярных прошивках OpenWrt. Подробнее об установке и другой дополнительной информации вы можете узнать на странице.

Заключение

Конечно же утилита ДНСКрипт и шифрование DNS в целом не является панацеей, да и вообще в информационной безопасности нет такого понятия как панацея. Мы только можем максимально улучшить нашу безопасность и анонимность, но сделать наше присутствие в сети неуязвимым на все 100% к сожалению не получится. Технологии не стоят на месте и всегда найдутся лазейки. Поэтому я предлагаю вам подписаться на наши новости в социальных сетях, чтобы всегда быть в курсе. Это бесплатно.

На этом все друзья. Надеюсь эта статья помогла вам решить проблему утечки DNS. Удачи вам в новом 2017 году, будьте счастливы!

Оценка утилиты DNSCrypt

Наша оценка

DNSCrypt - бесплатная утилита для защиты DNS-трафика Путем шифрования DNS-трафика и использования серверов DNS. Наша оценка - очень хорошо!

Оценка пользователей: 4.25 (36 оценок)

Лайкнуть

Лайкнуть

Твитнуть

Введение

Расскажу о программе, которой пользуюсь уже много лет. Она немного улучшает сетевую безопасность, защищая от подмены сайтов при работе через небезопасные Wi-Fi сети.

Углубляться в технические подробности я не буду. Сжато расскажу суть проблемы, которую начали решать только в последние лет 5, но с помощью DNSCrypt можно защититься уже сегодня.

Небезопасные DNS запросы

Для общения устройств используется способ передачи данных TCP/IP. Это не протокол или набор программ, а концепция (модель) того, как это общение должно происходить.

У TCP/IP много недостатков, но, так как модель «пластичная», её латают и дорабатывают на протяжении более 40 лет своего существования. Например, чтобы никто не видел, что вы вводите на сайтах и получаете в ответ, многие сайты массово перешли на шифрованный протокол

К сожалению, уязвимостей в TCP/IP пока предостаточно. Одно из больных мест - система доменных имён (D omain N ame S ystem, DNS).

Когда вы открываете в адресной строке сайт, компьютеру нужно узнать, на какой сервер послать запрос. Для этого он обращается к серверам DNS, хранящих записи о том, на какой цифровой IP-адрес сервера обратиться, чтобы получить нужную страничку.

Проблема в том, что компьютеры безоговорочно доверяют серверам DNS. Если вы подключитесь к публичной Wi-Fi сети в кафе, владелец которой поднял собственный сервер с ложными адресами, есть шанс, что вместо Вконтакте вы откроете обманку, собирающую пароли.

Способов защитить запросы к серверам имён несколько, но операционные системы их не используют. Нужно дорабатывать ОС самостоятельно с помощью отдельных программ.

Simple DNSCrypt

Simple DNSCrypt позволяет легко и просто изменить настройки сетевой карты так, чтобы все запросы шли к DNS серверам с поддержкой DNSSEC. Эта технология позволяет избежать подмены IP-адресов. Как бонус, будут использоваться только уважающие приватность серверы имён, т.е. не сохраняющие обращения пользователей.

Программа ставится просто. Главное правильно выбрать 32- или 64-битную версию, смотря какой разрядности у вас Windows. Разрядность можно посмотреть в Панели управления - Система (в Windows 10 - Параметры - Система - О программе).

После установки и запуска с ярлыка на Рабочем столе настройки менять не нужно. Просто нажмите кнопку «Применить».

Вы увидите, что переключатель пункта «Служба DNSCrypt» установится в зелёное положение «Вкл». Значит, в Windows запустилась новая служба, суть которой - выступать прокси-сервером всех DNS-запросов, перенаправляя их на безопасные сервера (их список есть на вкладке «Резольверы», там ничего трогать не надо).

После нужно лишь щёлкнуть мышью по всем сетевым картам, видимым в нижней части окна, чтобы на них появилась галочка справа вверху.

На этом всё! Защита запросов заработает сразу. Программа будет работать сама по себе.

Если вы продвинутый пользователь и хотите проверить, работает ли DNSCrypt на вашем компьютере, откройте свойства протокола TCP/IPv4 сетевого соединения. DNS-сервер должен быть локальный - 127.0.0.1.

Если при использовании сервера имён 127.0.0.1 сайты открываются - утилита dnscrypt-proxy работает, никто ваши запросы не пишет и провайдер запросы не отслеживает.

Удаляется программа, как и все остальные - через Панель управления.

DNSCypt ≠ полная приватность

Не путайте шифрование DNS с шифрованием всего трафика между вами и сайтами.

DNSCrypt поможет

  • защититься от подмены серверов DNS злоумышленниками,
  • зашифровать DNS запросы.

Утилита не поможет

  • сохранить приватность в интернете,
  • получить доступ к заблокированным в вашей стране сайтам,
  • защитить от подмены, если отредактирован файл hosts на компьютере.

Если вы обеспокоены вопросами конфиденциальности, DNSCrypt выступит лишь вспомогательным инструментом. Для анонимного сёрфинга в интернете используются технологии VPN и/или Tor, тогда шифрование DNS станет дополнительной защитой на случай, если какая-то программа на вашем компьютере запросит IP-адрес домена в обход VPN.

Если использовать DNSCypt без VPN, провайдер по-прежнему будет видеть, что вы обращаетесь к серверу с таким-то IP, и если на сервере с одним IP-адресом хостится несколько сайтов, то определить, на какой именно вы зашли, у него получится с помощью анализа запросов (запись Server Name Indicator передаётся открытым текстом даже при использовании HTTPS).

Другие операционные системы

Шифрование DNS должно работать по умолчанию в любой операционной системе. Но этой функции там нет! Ни в Windows, ни в Linux, ни в Android, нигде нет поддержки DNSCrypt или аналогичной технологии «из коробки».