sonyps4.ru

Как скрыть dns провайдера linux. Что такое утечка DNS leak и как устранить

Некоторые интернет-пользователи предпочитают при работе использовать 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-сервера и отправлять обратно ответы .

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

Любой человек, который задумывается об анонимности в интернете знает отличный способ скрыть свой 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 с указанием серверов вашего провайдера, Яндекса, Гугла и т.д., что даст вам ощутимое ускорение интернет-серфинга.

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

Специализирующиеся на детектировании информации о пользователе сайты могут определять 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-серверов.

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



Загрузка...