Анонимность DNS-запросов. Что такое утечка DNS leak и как устранить

При подключении к 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. Нажмите «Дополнительно».

    Некоторые интернет-пользователи предпочитают при работе использовать VPN-сервисы, чтобы скрыть свой настоящий IP-адрес и зашифровать данные. Как правило, на такой шаг их толкает желание сохранить свою онлайн-конфиденциальность, а также ряд других причин. Тем не менее, все это будет зря, если ваши личные данные «утекают» в сеть из-за уязвимостей системы безопасности . Есть два основных вида таких утечек: утечка DNS и утечка WebRTC (IP).

    Что такое утечка DNS?

    Если вы хоть раз заходили в интернет, то вы сталкивались с системой доменных имен (Domain Name System, DNS), пусть даже сами о том не подозревая. DNS поддерживает базу данных доменных имен (например, vpnmentor.com) и переводит их в соответствующий числовой адрес (Internet Protocol, IP). Именно по этим адресам браузеры и находят сайты в сети. По сути, IP-адреса и доменные имена похожи на телефонную книжку, где у каждого человека есть имя и номер телефона.

    Собственно говоря, доменные имена нужны только людям, тогда как компьютеры работают только с числами в формате Человеку может быть сложно запомнить адрес вроде 168.212.226.204, а вот запомнить доменное имя такого сайта может оказаться куда проще. Вот что происходит, когда ваш браузер открывает страницу сайта: ваш компьютер отправляет запрос DNS-серверам вашего интернет-провайдера и получает в ответ IP-адрес нужной веб-страницы. Но когда вы используете VPN-сервис, то запрос уходит на DNS-серверы не провайдера, а самого VPN-сервиса .

    Как происходит утечка?

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

    Все это позволяет провайдеру узнать, какие сайты посещает пользователь . А если вы используете VPN-сервис и вдруг узнали, что сидите под своим настоящим IP-адресом, то это значит лишь одно: все ваши DNS-запросы тоже попадают не на серверы VPN-сервиса, а прямо к провайдеру. К слову, некоторые провайдеры используют технологию Transparent DNS proxy («Прозрачный DNS-прокси»), которая заставляет устройства пользователя обращаться с DNS-запросами к серверам провайдера даже в том случае, когда вы выставили иные настройки DNS.

    Что такое утечка WebRTC (IP)?

    В 2015 году специалист по интернет-безопасности Дэниэль Рёслер (Daniel Roesler) сообщил об уязвимости, которая позволяет злоумышленникам перехватывать настоящий IP-адрес пользователя с помощью API (интерфейса программирования приложений), встроенного в большинство современных браузеров -Web Real Time Communication (WebRTC). Перехватить можно было даже данные тех пользователей, которые подключались к VPN-сервису. Отметим, что WebRTC используется в разных сетях для обмена данными между браузерами, обмена файлами по модели P2P, видео-звонков и не только.

    Как происходит утечка?

    Чтобы заставить WebRTC выдать ваш настоящий IP-адрес, нужно всего лишь несколько строчек кода. Все дело в так называемом STUN-сервере (сервере утилит прохождения сессий для NAT). STUN-сервер позволяет компьютерам и устройствам из вашей внутренней сети находить свои публичные IP-адреса (по сути, их интернет-адреса) . VPN-сервисы тоже используют STUN-сервер для перевода вашего внутреннего сетевого адреса в публичный интернет-адрес и наоборот. Для этого STUN-сервер хранит базу данных, в которой собраны записи о ваших локальных и публичных IP-адресах.

    Эта утечка вообще никак не связана с VPN-сервисами, от степени из защищенности в данном случае ничего не зависит. Проблема кроется в уязвимости вашего браузера - точнее, в WebRTC . Когда модуль WebRTC браузера принимает запросы от STUN-сервера, он отправляет обратно сообщение, в котором содержатся оба ваших IP-адреса (внутренний и публичный), а также другие данные.

    Содержимое сообщения, то есть реальный IP-адрес пользователя, можно узнать, если написать крохотную программу на JavaScript. Для нее нужно лишь одно: чтобы в браузере поддерживался WebRTC (ну и саму программу еще написать надо, конечно). И если WebRTC включен в вашем браузере, то он будет принимать запросы от STUN-сервера и отправлять обратно ответы .

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

    Специализирующиеся на детектировании информации о пользователе сайты могут определять 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 не всегда в состоянии защитить DNS-запросы вашего устройства, даже если весь остальной трафик надежно защищен туннелем VPN. Это называется «утечкой DNS». Если происходит утечка DNS-запросов, то третьи лица, например ваш интернет-провайдер или оператор DNS-сервера, могут видеть, какие веб-сайты вы посещаете и какими приложениями пользуетесь.

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

    Что такое DNS

    Как мне проверить, защищает меня VPN-сеть или нет?

    Если приложение ExpressVPN настроено правильно, то оно защищает вас от утечки DNS. Тест на утечку DNS на этой странице позволяет убедиться, что ExpressVPN выполняет поставленную задачу.

    Как ExpressVPN предотвращает утечку DNS?

    Без VPN устройство обычно использует службу DNS, предоставляемую интернет-провайдером. Но когда вы подключаетесь к ExpressVPN, ваше устройство использует только DNS-серверы ExpressVPN. Это дает многочисленные преимущества, потому что:

    • DNS-серверы ExpressVPN работают очень быстро
    • ExpressVPN не хранит журналы онлайн-активности и подключений
    • Весь трафик между вашим устройством и DNS-серверами полностью шифруется

    Вот как это работает. Чтобы открыть веб-страницу, вы вводите URL-адрес или щелкаете ссылку в браузере. Этот URL-адрес отправляется через зашифрованный туннель ExpressVPN к собственному DNS-серверу ExpressVPN. DNS-сервер ищет IP-адрес и отправляет его серверу ExpressVPN, который получает доступ к нужной странице. В одно мгновение ExpressVPN возвращает эту страницу вам. Весь трафик остается под надежной защитой VPN-туннеля.

    Если я уже использую VPN, зачем мне нужно проверять, имеется ли утечка DNS?

    Может произойти одно из двух:


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

    Что вызывает утечку DNS-запросов при использовании VPN?

    Утечки DNS могут происходить по многим причинам. Вот некоторые из них:

    1. Ваша VPN-сеть настроена вручную. Если вы вручную настраиваете VPN-соединение, риск утечки DNS-запросов увеличивается и зависит от конфигурации вашей операционной системы. Использование приложений ExpressVPN устраняет многие из опасностей.
    2. Ваш роутер контролируется злоумышленником , например, оператором Wi-Fi в кафе. Злоумышленник может сделать так, чтобы ваше устройство отправляло DNS-запросы за пределы туннеля VPN. Приложения ExpressVPN защищают от утечки DNS, но другие приложения и ручные настройки могут быть уязвимыми.
    3. Ручная настройка DNS. Вы (или программное обеспечение на вашем устройстве) дали команду операционной системе не использовать DNS-серверы ExpressVPN. Опытные пользователи могут запросить конкретную службу DNS, но большинству людей по соображениям безопасности лучше этого не делать.