Утечки IP-адресов, или Как проверить, работает ли ваш VPN-сервис

IP leaks

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

А чтобы разобраться в теме утечек DNS и IP, нужно обратиться к базовым принципам работы интернета.

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

Операционная система обращается за проведением DNS-преобразования к той или иной службе, исходя из строго определенной приоритетности (например, к DNS-серверу, файлу HOST, Netbios и так далее). Собственно, этот момент сам по себе является темой обширнейших дискуссий. Вам же нужно знать, что выбор операционной системой службы для проведения преобразования — это очень важный момент. Когда вы используете VPN-сервис, DNS-преобразование должно выполняться на серверах, настроенных вашим VPN-сервисом. Увы, так получается не всегда. Если кому-то удастся узнать IP-адрес, для которого был отправлен запрос на DNS-преобразование, то сам смысл использования VPN-сервиса теряется полностью. Верно и следующее: если третья сторона получит доступ к вашим DNS-запросам (например, с помощью атаки через посредника), то она получит доступ к вашим данным, даже если вы используете специальный DNS-сервер. Чтобы защититься от такого развития событий, вам следует использовать сервис DNSCrypt, который шифрует трафик, идущий от вашей системы к DNS-серверу. Есть и другие способы избежать утечек DNS и IP:

1. Утечка IP через браузер

WebRTC в качестве виновника произошедшей утечки вашего IP-адреса — это одна из наиболее распространенных ситуаций. А что такое WebRTC? Это API (программный интерфейс приложения), с помощью которого веб-приложения вроде чатов и файлообменных сетей типа P2P могут работать без необходимости в установке плагинов или дополнений. Разумеется, не все так просто. Браузеры, поддерживающие WebRTC (например, Chrome и Firefox) используют так называемый STUN-сервер (сервер утилит прохождения сессий для NAT) для получения внешнего сетевого адреса. Сайт, который хочет узнать ваш настоящий IP-адрес, может без проблем использовать скрытый код для создания UDP-запросов к этому STUN-серверу, и тогда все эти запросы будут перенаправлены на все доступны сетевые интерфейсы.

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

  1. Настроить правила фильтрации трафика для файрвола, чтобы исключить возможность совершения запросов вне вашего VPN.
  2. Отключить поддержку WebRTC в браузере. У Firefox и Chrome этот процесс немного отличается, однако в сети вы найдете достаточно руководств по этому вопросу.

2. Утечка IP-адреса на стороне VPN-сервиса

У большинства хороших VPN-сервисов есть собственные выделенные DNS-серверы. И это верно, ведь рассчитывать на DNS-серверы вашего провайдера слишком опасно. Можно использовать общедоступные DNS-серверы (например, серверы Google), но если вы платите за услуги VPN-сервиса, то вы должны иметь доступ к выделенному DNS-серверу.

Но VPN-сервис может стать виновником утечки еще и в том случае, если он не поддерживает IPv6. Собственно, есть протокол IPv4, использующий 32-битные адреса (иными словами, этот протокол поддерживает 2 в 32-й степени уникальных публичных IP-адресов), и есть беспрецедентное развитие интернета, из-за которого адреса протокола IPv4 уже кончаются. Как следствие, был разработан протокол IPv6, использующий уже 128-битные адреса. Теперь IP-адресов может быть 2^128, что гораздо больше, чем у IPv4.

Увы, новый протокол довольно медленно входит в повседневность. Некоторые крупные сайты поддерживают оба протокола, можно даже сказать — популяризируют IPv6. Проблемы начинаются в тех случаях, когда сам VPN-сервис не поддерживает IPv6 и просто игнорирует этот протокол. Если такое случается, то в случае сайта, поддерживающего только IPv4, все работает замечательно. Но когда пользователь пытается зайти с помощью этого VPN-сервиса на сайт, работающий по протоколу IPv6, VPN-сервис не может создать туннель для запроса, и браузер отправляет данные как есть, совсем без защиты, из-за чего ваш настоящий IP-адрес и становится уязвимым. Исправить это можно следующим образом:

  1. Используйте VPN-сервис с выделенным DNS-сервером и встроенной защитой от утечек DNS.
  2. Используйте VPN-сервис, поддерживающий протокол IPv6. Как вариант, можно использовать сервис, который хоть и не умеет работать с IPv6, но предлагает способы решения этой проблемы (например, отключения этого прокола в ОС).
  3. Отключите IPv6 вручную в вашей операционной системе.

3. Утечка DNS на стороне операционной системы

Даже ваша собственная ОС может быть виновницей утечки IP-адреса или DNS. Сейчас мы коснемся самой распространенной ОС, а именно Windows. Тут не поспорить, большинство на рынке принадлежит именно Windows, и симпатии или антипатии тут ничего не меняют. Что важно, так это определенные нюансы, которые следует учитывать, работая с VPN-сервисом на компьютере под управлением Windows.

Как правило, DNS-преобразование выполняется в определенной последовательности в любой ОС. Например, есть файл HOST, в котором вы можете указать DNS-привязки сами. Сперва ваша ОС постарается обработать запрос, используя для этого локальные привязки. Если не получится, она обратится к настроенному DNS-серверу, а если и тут ничего не выйдет, то запрос отправится прямиком в Netbios. Что касается DNS-серверов, то есть определенный список основных серверов, который вы можете настроить. И если DNS-сервер с наивысшим приоритетом успешно обрабатывает запрос, то ОС не обращается к другим серверам списка. Но в случае Windows 10 есть тонкость: система посылает запрос всем серверам из списка и использует результат от того, который пришлет ответ первым. Иными словами, даже если вы подключились к VPN-сервису, запрос на DNS-преобразование все еще может отправляться на серверы вашего провайдера, что, по сути, сделает вас беззащитным.

Учесть стоит и обсуждавшийся чуть ранее вопрос с использованием адресов протокола IPv6. Windows использует туннелирование Teredo для поддержки адресов IPv6 для хостов в сетях IPv4, не поддерживающих нативно IPv6. Иными словами, это значит, что вы можете столкнуться с утечкой DNS. Справиться с этим можно так:

  1. Отключите туннелирование Teredo
  2. Отключите оптимизацию Windows 10,выключив smart-multi homed name resolution в редакторе правил доступа. К слову, в версии Windows 10 home basic вы не сможете вносить изменения в эти правила.

Как определить утечку

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

  1. Вам нужно будет отключиться от VPN и зайти на сайт-тестировщик. Запишите ваши основной IP-адрес и адрес DNS-сервера.
  2. Теперь подключитесь к VPN и снова зайдите на сайт. Если он показывает вам другой IP-адрес и DNS, то утечки нет. Если же ничего не изменилось, что что-то надо менять (см. выше)!

Проверить наличие у себя утечки IP-адреса можно с помощью нашего теста IP Leak.

Ниже вы найдете скриншот от vpnmentor.com, где изображена проверка на наличие утечки через WebRTC. Так как в графе «Основной IP-адрес» ничего нет, то это значит, что мой браузер не подвержен утечке WebRTC.

Теперь вы знаете, как защититься от утечек IP-адреса и DNS, а это значит, что вы можете работать в сети безопасно и анонимно!

Помогло? Поделитесь с другими!