Анонимность DNS-запросов. Как скрыть свой DNS

Специализирующиеся на детектировании информации о пользователе сайты могут определять dns-сервер вашего провайдера (в практически любой операционной системе).
Мы видим несколько вариантов решения этой проблемы:

  1. Заменить "чувствительный" dns-сервер несуществующим. Для этого нужно открыть настройки сетевого подключения к Интернет, далее перейти к свойствам "Протокол Интернета (TCP/IP)" и в поле "Предпочитаемый DNS-сервер" указать, например, 127.0.0.1, а поле "Альтернативный DNS-сервер" оставить пустым.
    После окончания работы с VPN нужно будет вернуть настройки dns-серверов на прежние.
  2. Заменить "чувствительный" dns-сервер (настройка как в варианте 1) одним из публичных на постоянной основе.
    В этом случае после окончания работы с VPN менять настройки dns-серверов не нужно.

Нажмите Пуск , выберите Панель управления .

Windows XP – дважды кликните по пункту Сетевые подключения (если его нет, нажмите Переключение к классическому виду слева сверху).
Windows Vista и выше – дважды кликните по Центр управления сетями и общим доступом (если его нет, выберите в меню Просмотр справа сверху опцию Мелкие значки ), потом Изменение параметров адаптера .

Кликните правой кнопкой мыши по иконке вашего основного сетевого подключения и выберите Свойства из появившегося меню.

Если выбрано Получить адрес DNS-сервера автоматически , нажмите на пункт Использовать следующие адреса DNS-серверов . В поля Пердпочитаемый DNS-сервер и Альтернативный DNS-сервер введите необходимые адреса DNS-серверов.

Готово! Нажимайте ОК, пока все меню не закроются. Возможно, вам придется перезапустить браузер и переподключиться к Интернету, чтобы изменения вступили в силу.

При подключении к VPN серверу в некоторых ОС (например, Windows) не всегда запросы проходят через DNS сервер VPN подключения. В этом случае некоторые сайты могут узнать, что ваш IP адрес и DNS сервера находятся в разных странах, и ваша анонимность может оказаться под угрозой.

Что такое DNS сервер

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

Ниже представлен пример определения DNS серверов на сайте Whoer.net.


Из примера видно, что мы подключились к VPN и скрыли свой IP адрес (IP принадлежит Великобритании), но при этом DNS сервер выдает наше реальное местонахождение (США).

В данном случае, проблема лежит в принципе работы DNS службы Windows. При подключении к VPN по-умолчанию запрос посылается на DNS VPN сервера. Затем DNS служба Windows ждет 2 секунды, и если ответ не пришел, то посылает запрос на следующий DNS сервер, находящийся в списке ОС Windows. Как раз следующие DNS сервера и принадлежат вашему Интернет-провайдеру, но имеют меньший приоритет по сравнению с DNS VPN сервера.

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

Решение: принудительно использовать нужный нам DNS сервер. В этом случае мы однозначно укажем операционной системе, что нужно использовать только указанные DNS сервера и тогда в списке DNS службы Windows не будут значиться DNS сервера вашего реального провайдера.

Наш VPN клиент Secure Kit умеет защищать от утечки DNS leak автоматически. Узнайте подробнее про Secure Kit .

Как скрыть свой реальный DNS в Windows

Выполните следующие действия в любой версии Windows.




Кликните правой кнопкой мышки на сетевое подключение Windows и затем выберите "Свойства".



Укажите публичные DNS сервера Google или OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

Для полной анонимности мы рекомендуем использовать наши DNS сервера. В разделе "Мой аккаунт" указаны DNS сервера для каждого VPN направления. И уже в этом случае ваш DNS сервер будет всегда соответствовать вашему IP адресу (по стране).


После выполнения указанных действий, ваш реальный DNS сервер в Windows будет скрыт.

Как скрыть свой реальный DNS на Mac OS X

Для принудительной установки DNS на любой версии Mac OS X выполните следующие шаги:



В следующем окне внизу нажмите на иконку замка, чтобы разрешить редактирование настроек. Потребуется ввести пароль от учетной записи Mac OS X.


Выберите подключение, которое вы используете для получения Интернета. Обычно это либо Wi-Fi соединение, либо Ethernet. И затем нажмите на кнопку "Дополнительно".


Введите публичные DNS сервера Google или OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

Эти DNS сервера чаще всего определяются как США. В этом случае ни один сайт не будет выдавать ваши реальные DNS.

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


После выполнения указанных действий, ваш реальный DNS сервер на Mac OS X будет скрыт.

Как скрыть свой реальный DNS на Ubuntu

Для устранения DNS leak в операционной системе Ubuntu на базе Linux, откройте раздел Соединения.


Выберите ваше подключение к Интернету и нажмите Изменить.


Выберите:

  1. Вкладку Параметры IPv4
  2. Автоматически (DHCP, только адрес)
  3. Укажите DNS сервер. Например, можно использовать публичные DNS сервера от Google или OpenDNS

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220


В Linux необходимо перезапустить настройки сети, чтобы изменения вступили в силу.

Нажмите на Управление сетью.


Появится сообщение Соединение разорвано.


Затем нажмите на Управлению сетью еще раз, чтобы включить соединение.


После этих действий, ваш реальный DNS сервер будет скрыт.


Как скрыть свой реальный DNS на серверной Linux

Следующие действия выполняйте только в том случае, если вы считаете себя опытным пользователем Linux . Мы предупреждаем, что вносить изменения ручным способом опасно, если у вас мало знаний по администрированию Linux. Внимание: мы снимаем с себя ответственность за последствия.

Зайдите на сервер под root пользователем (или под обычным пользователем, но у вас должны быть привилегии исполнять команды под sudo).

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

Sudo nano /etc/resolv.conf

  1. Если у вас установлен resolvconf, то в этом файле будет сообщение, что после перезагрузки ОС все изменения в этом файле будут утеряны и настройки вернутся по умолчанию на 127.0.1.1. Так как мы меняем DNS сервер временно, то нас это устраивает.
  2. Запишите DNS сервер, указанный по умолчанию в этом файле. Затем измените DNS сервер. Например, можно взять DNS сервер от Google или OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220


Для сохранения в редакторе nano нажмите:

  1. Ctrl+X для выхода из редактора
  2. клавишу Y для сохранения изменений в файле
  3. клавишу Enter для подтверждения сохранения в тот же файл

Чтобы изменения вступили в силу, необходимо перезагрузить сетевой интерфейс.

  • для Debian и Ubuntu введите команду:
sudo /etc/init.d/networking restart
  • для CentOS и Red Hat Linux введите команду:
  • sudo /etc/init.d/network restart

    Сетевой интерфейс перезагрузится и DNS leak будет устранена.

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

    Многие пользователи стремятся скрыть IP своего компьютера в целях анонимности или для обхода блокировок. Обычно ваш или известен администраторам посещаемых сайтов. Теоретически эта информация конфиденциальна, но практически ничто не мешает злоумышленникам воспользоваться ей в преступных целях.

    Что такое DNS-сервер и зачем его скрывать?

    DNS (Domain Name System – система доменных имен) представляет собой систему для получения информации о домене. Чаще всего она служит для определения (получения) IP-адреса конкретного ресурса по его имени. DNS преобразует введенное название сайта (например, yandex.ru) в IP-адрес, по которому браузер открывает нужную страницу. Фактически сайт загружает именно IP-адрес, а не название (URL), тогда как название существует только для удобства пользователей. Гораздо легче запомнить и ввести «yandex.ru», нежели «213.180.193.3». DNS и является тем механизмом, который преобразует понятный человеку URL в понятный компьютеру IP.

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

    Скрытие DNS при помощи VPN-клиента

    Viscosity помогает установить связь с приобретенным VPN-сервером и безопасно обмениваться с ним данными без раскрытия DNS. Для настройки программы проделайте следующее:

    1. Скачайте приложение отсюда: http://www.sparklabs.com/viscosity/ и установите его (в OS X потребуется перетащить иконку приложения в папку «Applications »):

    2. Запустите программу и перейдите в настройки .

    3. На вкладке «Соединения » нажмите «+ » и выберите «Добавить соединение »:

    4. Выберите файл, полученный от VPN-службы после оплаты аккаунта (в данном примере это «Luxemburg-tcp.ovpn»):

    5. Импорт соединения закончен – нажмите «ОК ».

    6. На вкладке «Настройки » поставьте галочки, как на картинке (обратите внимание, что галочка на «Принимать настройки DNS одновременно» не стоит):

    7. На вкладке «Соединения » два раза нажмите на название импортированного файла (в OS X можно сделать так, как на скриншоте).

    Универсальные DNS

    Существуют полностью бесплатные DNS-серверы, самые распространенные из которых: Google и OpenDNS. С их помощью можно представиться пользователем из США или другой страны по вашему желанию. Для работы с универсальными DNS в среде Windows проделайте следующее :

    1. Откройте «Панель управления » в меню «Пуск ».

    2. На вкладке «Сетевые подключения » или «Просмотр состояния сети и задач » (для Windows 7, 8) откройте свое текущее соединение (сетевое или ) и нажмите «Свойства ».

    3. Нажмите два раза на пункте «Протокол Интернета версии 4 ».

    4. Поставьте внизу галочку на пункте «Использовать следующие адреса DNS-серверов ».

    5. В верхней строчки каждой ячейки по очереди вводите: 8.8.8.8 (DNS от Google) или 208.67.222.222 (OpenDNS) .

    6. В нижней строчке вводите: 8.8.4.4 (Google) или 208.67.220.220 (OpenDNS). Эти серверы можно комбинировать, вводя разные серверы в разные строки.

    7. Нажмите «ОК » и закройте окно.

    Для использования универсальных DNS на OS X проделайте следующее :

    1. В верхней части рабочего стола нажмите значок «Apple ».

    2. Выберите пункт «Системные настройки ».

    3. Нажмите на иконку «Сеть » и в появившемся окне нажмите на иконку замка.

    4. Выберите текущее соединение с Интернетом (обычно Ethernet или Wi-Fi) и нажмите «Дополнительно… » в правом нижнем углу.

    5. В настройки DNS вводите все так же, как в случае с Windows.

    Изменение DNS с помощью программы «dnsfixsetup» (Windows)

    В Windows для решения проблемы можно предпринять следующее:

    1. Перед подключением к VPN установите статические IP-адреса в настройках сетевого подключения, если вы используете DHCP для автоматического получения IP.

    2. После соединения с VPN удалите параметры DNS в настройках сетевого подключения.

    3. После отключения от VPN верните настройки обратно (т.е. в настройках сетевого подключения проставьте галочки на автоматическое получение IP и DNS).

    В Windows можно воспользоваться программой «dnsfixsetup.exe» для решения проблемы. После установки программа запустит три скрипта, выполняющие вышеперечисленные действия автоматически:

    1. bat – выполняется при инициировании соединения, но до установления соединения с VPN (вызывается внутренняя функция «pre.vbs»). Если в настройках указано автоматическое получение IP и DNS, программа переключит их на ручное (статическое) получение.

    2. bat – выполняется при установке соединения с VPN. Вызывает скрипт «up.vbs», который снимает DNS-серверы со всех активных подключений (кроме адаптера TAP32).

    3. bat – выполняется после разрыва соединения с VPN. Скрипт «down.vbs» устанавливает настройки по умолчанию.

    Еще один способ смены DNS ручным методом

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

    1. Запустите «cmd.exe», нажав на клавиатуре клавиши «Win+R» и вписав в появившееся окно «cmd».

    2. Перед подключением определите имя подключенного сетевого интерфейса путем ввода в появившееся окно (обычно черного цвета) «netsh interface show interface ». В нашем случае мы используем «Подключение по локальной сети» (Local Area Connection).

    3. Подключитесь к VPN. Если вы уже подключены, переходите к следующему шагу.

    4. Очистите кэш распознавания DNS, введя команду «ipconfig /flushdns ».

    5. Отключите текущие настройки DNS командой «netsh interface IPv4 set dnsserver «Local Area Connection» static 0.0.0.0 both ».

    6. Чтобы проверить DNS (остался ли он прежним или нет), можно перейти по адресу «https://www.dnsleaktest.com/index.html». Если здесь показано название вашей страны, повторите все шаги.

    7. После отключения от VPN перенастройте адаптер в соответствии с предыдущей конфигурацией DNS при помощи команды «netsh interface IPv4 set dnsserver «Local Area Connection» dhcp ».

    8. Вновь очистите кэш распознавания DNS, введя команду «ipconfig /flushdns ».

    Мы изменили параметры DNS-сервера. Теперь вы полностью уверены в том, что никто не сможет определить ваше реальное местоположение.

    Cпособ смены DNS-сервера на Android

    1. Нужно зайти в настройки Wi-Fi на своём телефоне.


    2. Выберите нужное подключение и в появившемся меню выберите «Изменить сеть».


    3. Нажмите «Дополнительно».

    Любой человек, который задумывается об анонимности в интернете знает отличный способ скрыть свой IP-адрес в интернете – это VPN-сервис. Однако даже при VPN-соединении зачастую запросы к DNS-серверу остаются незащищенными, и можно запросто отследить куда идут ваши DNS-запросы. По другому это называется “DNSleaks” или «утечка DNS».

    Давайте рассмотрим поподробнее что такое DNS и какие существуют проблемы.

    Как известно, каждый компьютер в сети Интернет имеет свой IP-адрес, не зная IP-адреса компьютера, невозможно отправить ему информацию или запрос. IP-адрес имеет вид 4-х байтового числа, разделенного точками (например, 162.234.12.110 или 78.31.54.226).

    Для простого человека запомнить большое количество IP-адресов не легко, поэтому в начале развития сети Интернет возникла необходимость в средстве, которое должно было бы облегчить жизнь пользователям Интернета. Таким средством стала ДНС — система доменных имен. ДНС сервер — это средство, которое позволяет определить IP-адрес по доменному имени.

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

    С одной стороны всё сделано удобно – вы просто воткнули кабель в сетевую карту, вам автоматически присвоили DNS-сервер провайдера с быстрым откликом и всё работает. Но с другой стороны есть две проблемы при такой схеме:

    1) Отсутствует шифрование соединения . Это значит что любой злоумышленник сможет перехватить ваш трафик и сделать подмену IP-адреса. Например, показать вам поддельную страницу интернет-банка. Также желательно скрыть этот трафик от провайдера или от правоохранительных органов (мало ли что J).

    2) DNS-сервера провайдеров по закону обязаны сохранять логи (с какого IP, на какие сайты заходили, и время соединения), а также по запросу от правоохранительных органов предоставлять эти логи (я надеюсь, все знали это? J). Скажу даже больше, 99% DNS-серверов мира пишут логи и не скрывают этого.

    Если вдруг вы не хотите чтобы ваши данные кто то перехватывал или читал логи ваших посещений есть надёжный вариант. Что нужно сделать:

    1) Нужно зашифровать соединение. Для этого существует программа DNSproxy. Она соединяется к DNS-серверу не напрямую, а зашифровано через DNS-резольвер (он просто редиректит запросы на DNS-сервер). В свою очередь резольвер передаёт данные DNS-серверу тоже по зашифрованному соединению. То есть таким образом с помощью снифферов (например WIreshark) можно лишь узнать IP-адрес резольвера. Но поскольку пакеты зашифрованы с помощью «Elliptic curve cryptography» (эллиптическая криптография), то с каким конкретно DNS-сервером мы обмениваемся данными определить невозможно.

    2) Нужно использовать DNS-сервера, которые не ведут логов. Как Вы сами понимаете, сервера провайдера сразу отпадают. Также для анонимности нельзя использовать DNS-сервера Гугла или Яндекса, поскольку они честно признаются в хранении информации (почитайте их Соглашения о Конфиденциальности). Но есть DNS-сервера, которые нам помогут. Это www.opennicproject.org . На сайте написано, что сервера не пишут никаких логов (ну что ж, поверим). Но, к сожалению, эти сервера нестабильны и иногда отваливаются. Для решения этой проблемы можно использовать программу «Acrylic DNS Proxy «. Она позволяет делать запросы не на один DNS-сервер, а на 10 сразу. И пакет с того сервера, который придёт быстрее всех будет принят программой. Следовательно мы решим сразу две задачи – минимизируем потерю скорости запросов (потому что наиболее быстрый обмен данными как правило происходит с DNS-серверами провайдера), и нивелируем нестабильность каких либо серверов.

    Итак, нам нужно зашифровать соединение на безопасные DNS сервера. Это пригодится не только для тех, кто не использует VPN (как можно решить проблему утечки DNS будет написано позднее). Начнём:

    2) В настройках вашего сетевого подключения нужно прописать вручную DNS-адрес. Заходим «Центр управление сетями и общим доступом» -> «Подключение по локальной сети» -> «Свойства» -> «Протокол интернета версии 4 TCP/IPv4». Там ставим 127.0.0.1. Вторую строчку нужно оставить пустой.

    3) Чтобы запустить AcrylicDNSProxy заходим через Пуск и нажимаем «Start Acrylic Service». Должно появиться сообщение об удачном запуске.

    4) Теперь проверяем наши DNS-сервера на сайте www.perfect-privacy.com/dns-leaktest . Должно быть примерно так как на скрине:


    Рис. 2

    Можете добавить файл AcrylicController.exe в автозагрузку.

    5) Теперь шифруем наши запросы к DNS-серверам с помощью программы DNScrypt.

    6) Распаковываем и запускаем dnscrypt-winclient.exe. Там выбираем свою сетевую карту и нажимаем Install. Теперь соединение с DNS-серверами зашифровано.

    7) Проверим что же теперь покажут нам наши сервисы проверки. Заходим на www.perfect-privacy.com/dns-leaktest . Ни один наш сервер не должен определиться.

    А если зайти на http://whoer.net , то единственное что он может показать – это адрес DNS-резольвера, через которые проходят DNS-запросы. Сами же сервера «неизвестны».


    Рис. 3

    VPN + DNS-шифрование

    На рисунке указана типичная схема вашего соединения, при подключении к VPN-серверам.


    Рис 4.

    Как видите, есть уязвимость – DNS-запросы могут отправляться одновременно и через VPN-сервер, и напрямую к указанному DNS-серверу вашего сетевого подключения.

    Казалось бы, можно просто вручную прописать DNS-сервер в настройках соединения как 127.0.0.1, чтобы не было никаких лишних запросов к DNS провайдера. Но, очевидно, что при отключении от VPN интернет работать не будет, поскольку при подключении к VPN используются их собственные DNS-сервера. Если же просто вписать два сервера проекта www.opennicproject.org , то это снизит скорость серфинга в интернете, когда VPNбудет отключен. В этом случае так же рекомендуется установить программу AcrylicDNSProxy, которая не позволит упасть скорости серфинга. Но раз установили AcrylicDNSProxy, то почему бы и не установить и DNScrypt?

    Если же вы 100% времени пользуетесь VPN-сервисами, то можете просто прописать один IP-адрес в настройках DNS: 127.0.0.1. Этого будет достаточно.

    Таким образом, была найдена интересная схема, позволяющая анонимизировать и скрыть DNS-запросы, что немного поможет если столкнётесь с «органами», и если местный злой хакер решит перенаправить DNS-запросы и показывать вашим детям сайты вместо «Ну погоди» — сайты для взрослых.

    Примечание: если же вам всё это ни к чему, просто установите AcrylicDNSProxy с указанием серверов вашего провайдера, Яндекса, Гугла и т.д., что даст вам ощутимое ускорение интернет-серфинга.

    Спасибо за внимание.