Настраиваем анонимный доступ в Сеть через Tor и VPN. Пять лучших VPN-сервисов. Преднамеренно вызываем утечку VPN-трафика

Я много рассказывал о безопасности Mac, но практически обошёл стороной такую интересная тему как VPN, хоть и пользуюсь этой штукой более года. Технология VPN предназначена для защиты вашего интернет-соединения. Это особенно актуально в публичных WiFi-сетях, которыми мы пользуемся в кофейнях и ресторанчиках.

Когда защиты нет, то любой подкованный школьник за соседним столиком может «слушать» трафик внутри сети. При определённой усидчивости из него можно выловить данные для входа на различные интернет-ресурсы. Если у вас есть сайт на WordPress, то логин и пароль от него «утекут» очень быстро.

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

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

Что такое VPN?

VPN - это зашифрованное подключения к компьютеру/серверу, которое изначально использовалось для удалённого подключения к корпоративным сетям. Например, уехав в другую страну, сотрудник мог подключится к внутренней сети компании и получить доступ ко всем локальных ресурсам: файлам, календарям, принтерам и т.п. Если в это время загрузить какую-то страничку или файл из глобальной паутины, то это произойдёт от имени рабочего сервера, а потом по зашифрованному каналу отправится удалённому пользователю (нашему сотруднику).

Картинка с Хабра

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

VPN-соединение нужно с чем-то устанавливать. Если у вас есть собственный сервер, то «поднять» его можно прямо там. Для всех остальных существует множество платных услуг, которые за 7-10 $ дадут даже больше возможностей, чем «самопальный» VPN.

Преимущества VPN

Каким же образом VPN-сервер делает подключения к сети безопаснее? Как я уже говорил, сервер выступает в виде прокладки, которая пропускает весь интернет трафик через себя, причём трафик зашифрован на стороне «вы-сервер-вы».

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

Если вы не просто «читаете» интернет, а заходите в свои аккаунты с использованием логина и пароля (форумы, свои сайты, социальные сети, электронные кошельки, мобильный банкинг) в том числе и скачиваете что-то с торрентов, то анонимность и безопасность, которые даёт VPN очевидны.

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

У VPN есть ещё несколько дополнительных преимуществ. Подключаясь к удалённому серверу вы получаете IP-адрес страны, в которой он находится. Во-первых, это маскирует ваше реальное месторасположение, а во-вторых, даёт возможность пользоваться внутренними ресурсами этих стран.

Например, в сезон я смотрю Формулу 1 на британском BBC (для жителей Великобритании это бесплатно). Подключившись к американскому серверу можно слушать Pandora или сделать себе американский аккаунт в App Store. Из некоторых азиатских стран меня не пускало в онлайн-банкинг. Это тоже лечится при помощи смены IP-адреса благодаря VPN. Во всех этих случаях сайты будут «думать», что конечный пользователь не вы, а ваш VPN-север.

Разумеется, такое преимущества есть только а том случае, если вы вручную можете выбирать один из нескольких VPN-серверов. Как правило, такими преимуществами обладают лишь платные сервисы. Для конечного пользователя весь это выбор сводится лишь к выбору города (страны), к которому он хочет подключится: Лондон, Гамбург, Токио и т.п.

Недостатки VPN

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

Ну и вторая особенность - вам нужно доверять вашему VPN-провайдеру. Ведь всегда есть вероятность, что на том конце есть кто-то из ФБР, ФСБ или СБУ.

На что обратить внимание перед покупкой?

  1. Количество и месторасположение серверов. Чем их больше, тем легче найти самый быстрый сервер. От этого зависит стабильность и скорость подключения. Широкий выбор серверов в разных странах более отказоустойчив. Если не работает один - всегда можно подключиться к другому.
  2. Количество одновременно подключённых устройств. Многие VPN провайдеры позволяют иметь лишь два активных подключения. Например, MacBook и iPad. В этом случае подключить iPhone получится лишь отключив один из них. Вроде бы и ерунда, но на практике это порой доставляет неудобства. Ведь хочется просто включить VPN везде и забыть.
  3. Метод авторизации на iOS. Тут два варианта. Первый - авторизация через PPTP/L2TP. В этом случае надо лезть в настройки, создавать там новое VPN-подключение и руками вводить ваш логин и пароль. Но самая главная особенность в том, что VPN-соединение нужно будет активизировать самостоятельно через Настройки каждый раз, когда вы захотите воспользоваться им. Второй способ - авторизация через SSL-сертификат. Может быть звучит сложно, но на самом деле это самый простой и удобный способ. Как правило, надо будет поставить небольшое приложение для iOS, которое все установит за вас парой кликов. Мало того, оно ещё служит для мониторинга состояния вашего аккаунта. Это удобно, когда трафик не безлимитный. Ну и самое главное, только при использовании сертификата становится доступной функция «Подключаться по запросу» в настройках VPN, которая автоматически установит соединение с сервером как только вы заходите зайти в сеть.
  4. Клиент для Mac. Найти что-то органично вписывающееся в стиль OS X оказывается не так уж и просто. Одни просто страшные, вторые постоянно весят в Dock… Кроме того, хороший клиент может выполнять дополнительные функции, например блокировать любое подключения в незнакомых сетях и автоматически включать VPN.
  5. Как долго хранится логи вашей активности. Каждый сервис всегда хранит историю ваших действий. Как правило, это адреса посещённых ресурсов и количество переданной информации. При возникновении спорной ситуации эти данные могут быть переданы в правоохранительные органы по решению суда той страны, в которой зарегистрирован VPN-провайдер. Время хранения логов у всех варьируется и может быть от одного дня, до нескольких недель.
  6. Протокол подключения настольного компьютера. Как правило, это TCP или UDP. В технические подробности вдаваться не буду, но для серфинга в сети, потокового видео, Skype и т.п., наш выбор - UDP.

Выбираем VPN

Я долго читал тематически статьи на Хабре, но ничего внятно-понятного для обычного пользователя не нашёл. Многие поставщики VPN, попадавшиеся мне, находились а США, а это сильно влияет на скорость подключения. Гонять весь трафик через другой континент нет никакого смысла.

При более детальном поиске мне таки удалось найти несколько интересных решений. Например, два «наших» VPN-провайдера: Kebrum и ruVPN, а также американский Cloak, у которого есть несколько серверов в Европе. Если вы не хотите много читать, то сразу переходите к впечатлениям от Cloak, именно на нем я и остановил свой выбор.

Kebrum VPN (сайт)

Компания зарегистрирована на Сейшелах и хранит историю ваших действий в сети на протяжении 3 дней. Есть маленький (и кривенький) клиент для Mac, который позволяет подключатся к VPN в один клик и также выбирать нужные сервера. Его главная проблема оказалась в назойливой иконке в Dock, которую невозможно спрятать. Конечно, для этого есть специальный трюк, но морочиться в этом случае мне не хочется. Включать VPN придётся вручную через Dock или Menubar.

Что касается доступных серверов, то всего их девять, из которых я оставил для себя лишь четыре:

  • Амстердам
  • Лондон
  • Люксембург
  • Кёльн

На одном аккаунте можно одновременно иметь два активных подключения к сети (TCP или UDP). Например, дома и на работе (если вы забыли выключить домашний компьютер). При желании, можно даже подключить к VPN свой iPhone или iPad (протоколы PPTP или L2TP/IPSec). За 7 $ в месяц трафик не ограничен, так что можно практически всегда работать через VPN-сервер.

В качестве альтернативного клиента я использовал Tunnelblick. Он гораздо удобнее стандартного, но выглядит также страшненько.

Сам Kebrum работает весьма неплохо. Но иногда подключение падает намертво, из-за чего приходится вручную менять сервер. Подключение через iOS не поддерживает функцию «Подключатся по запросу», VPN-соединение приходится запускать вручную, что сводит на нет всю его полезность на мобильных устройствах, так это долго да и банально забываешь это сделать.

С Kebrum я проработал достаточно долго, около 5 месяцев и в целом могу сказать, что это неплохое решение за свою цену. Его главные преимущества: безлимитный трафик, много серверов и низкая цена.

ruVPN (сайт)

Сразу бросается в глаза наличие тарифов. У всех их трафик не ограничен, но есть ограничения по скорости. Базовый пакет на 20 МБит/сек обойдётся вам в 10 $ ежемесячно.

Оказалось, что в эту стоимость не входит подключение мобильных устройств. Если вы хотите подключить ещё iPhone или iPad на такой же скорости, то придётся выложить ещё 10 $. И того, 20 $ за один Mac и одно мобильно устройство - не дёшево.

Компания ruVPN зарегистрирована в Норвегии, там же находятся сервер. Так что, послушать послушать Pandora через США или посмотреть Formula 1 на британском BBC не получится.

В защиту ruVPN скажу, что работает быстро и гораздо стабильнее Kebrum. Но цена уж слишком великовата при реальном достоинстве в виде лишь SSL-сертификата.

Cloak VPN (сайт)

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

Итак, начну с того, что авторизация на мобильных устройствах идёт через SSL-сертификат, для установки которого также надо поставить из App Store бесплатную программу, залогиниться через неё и установить сертификат нажатием одной кнопки.

Cloak пока работает только на Mac, iPhone и iPad, но не имеет абсолютно никакого ограничения по количеству одновременно подключённых устройств. Если взять аккаунт за 9.99 $ с неограниченным пакетом трафика, то можно пересадить на VPN всю семью, дедушек и бабушек.

Сервера у Cloak находятся в восьми странах, причём клиент для OS X автоматически умеет подключаться к самому быстрому из них на основе внутреннего теста. При желании страну можно задать вручную. Логи на сервере хранятся в течение 16 дней.

Особенно хочу похвалить качественный клиент для OS X. Во-первых, он красивый и сделан для людей, а не гиков. Его нужно просто поставить и нажать кнопочку Secure my connection.

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

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

Что касается тарифных планов, то их поначалу было три, но буквально пару недель назад осталось всего два. Первый стоит 2.99 $ с ограничением 5 Гб в месяц, второй - 9.99 $ за полный безлимит. Сам же я поначалу остался на тарифном плане 25 Гб за 7.99 $, но вчера перебрался на безлимитный.

Ещё один огромный плюс - наличие пробной версии Cloak без каких-то ограничений. После регистрации вас сразу перекинут на пакет Mini с 5 Гб трафика на 30 дней. Вполне достаточно чтобы оценить удобство клиентов и скорость работы. А если вы ещё что-то твитнете про Cloak, то получите бесплатно 20% от вашего тарифного плана, то есть 1 Гб.

Кстати, о скорости - она не просто хороша: подключение к VPN не замечаешь. Если с Kebrum мне периодически приходилось бороться с серверами и искать приемлемый по скорости, то тут все работает как часы. Вот несколько замеров в разных местах и разное время (сервер выбирался автоматически).

Скорость в кофейне в центре города, 14:45

Скорость дома, 19:20

Из тестов хорошо видно, что при работе с локальными ресурсами скорость передачи падает достаточно существенно. Но, при работе с зарубежными - потери не существенны. Лично мне её вполне, тем более - подключение очень стабильно. Если же вам этого мало, то стоит присмотреться к ruVPN.

В завершение

VPN – штука необходимая абсолютно всем, кто выходит в сеть из публичных сетей. Он не сделает вас полностью анонимным, но «спрячет» вашу активность в сети от любопытных глаз и убережёт ваши данные от перехвата. Все это по нажатию одной кнопки.

VPN придётся весьма кстати и тем, кто периодически балуется торрентами. Если же балуетесь много, то обязательно присмотритесь ещё и к облачному торрент-клиенту put.io. Это не только безопасно, но ещё и гораздо быстрее.



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

Предпосылки использовать Tor и VPN одновременно

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

Пример из жизни, в 2011 году ФБР арестовала хакера Cody Kretsinger, который пользовался достаточно известным британским сервисом HideMyAss для взлома Sony. Переписка хакера в IRC попала в руки федералов, даже не смотря на то, что сервис в своём лицензионном соглашении утверждает, что они собирают только общую статистику и не записывают IP-адреса клиентов и их трафик.

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

Это не просто теоретические выкладки, в 2016 году ученые из университета Northeastern опубликовали исследование в котором всего за 72 часа нашли 110 вредоносных выходных узлов, шпионящих за пользователями анонимной сети. Логично предположить, что таких узлов на самом деле больше, а учитывая общее небольшое количество узлов (всего около 7000 на июнь 2017) ничто не мешает соответствующим организациям анализировать значительную часть Tor трафика.

Также много шуму наделала недавняя история с эксплойтом для браузера Firefox который ФБР использовала для деанонимизации пользователей Tor. И хотя разработчики активно работают над устранением подобных проблем, никогда нельзя быть уверенным в том, что не существуют уязвимости не известные широкой общественности.

Не смотря на то, что Tor предполагает более высокий уровень анонимности чем VPN, за это приходится платить скоростью соединения, невозможностью использовать p2p сети (Torrent, Gnutella) и проблемы с доступом к некоторым ресурсам интернет, так как часто админы блокируют диапазон IP адресов Tor.

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

В такой конфигурации вы сначала подключаетесь к VPN серверу, а потом используете сеть Tor поверх VPN соединения.

Получается следующая цепочка:


Ваше устройство -> VPN -> Tor -> Интернет


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

Достоинства Tor через VPN:

  • Ваш провайдер не будет знать, что вы используете Tor (однако он будет видеть, что вы подключены к VPN), в некоторых ситуациях это может помочь избежать атаки по времени (см. ниже).
  • Входящий узел Tor не будет знать ваш настоящий IP адрес, вместо этого он будет видеть адрес вашего VPN сервера. Это дополнительный уровень защиты (при условии, что вы пользуетесь анонимным VPN который не ведет логи).
  • Сохраняется доступ к анонимным сервисам сети Tor (домен.onion).
Недостатки Tor через VPN:
  • Ваш VPN провайдер знает ваш реальный IP адрес.
  • Нет защиты от вредоносных выходных узлов Tor, не зашифрованный трафик может быть перехвачен и проанализирован.
  • Выходные узлы Tor часто заблокированы по IP.
Важно отметить, что для сокрытия факта использования Tor от глаз провайдера можно использовать не только VPN, но и Obfsproxy.

Данная конфигурация предполагает сначала соединение с сетью TOR, а потом использование VPN поверх Tor для выхода в сеть.

Цепочка соединений выглядит следующим образом:

Ваше устройство -> VPN-> Tor -> VPN -> Интернет


Достоинства VPN через Tor:
  • Так как вы соединяетесь с VPN сервером через Tor, VPN провайдер не может узнать ваш реальный IP адрес, он видит только адрес выходного узла сети Tor. Настоятельно рекомендуем использовать анонимный метод оплаты (например, пропущенные через миксер биткоины) и Tor для доступа к сайту VPN провайдера в момент приобретения VPN подписки.
  • Защита от вредоносных узлов Tor, так как данные дополнительно зашифрованы с помощью VPN.
  • Доступ к сайтам которые блокируют соединения из Tor
  • Возможность выбора местонахождения сервера
  • Весь трафик направляется через Tor
Недостатки
  • VPN сервис может видеть ваш трафик, хотя и не может ассоциировать его с вами
  • Ваш интернет провайдер видит, что трафик направляется в сторону одного из узлов Tor. Это немного повышает риск атаки по времени.

Чтобы настроить VPN через Tor можно пойти двумя путями:

  • Использовать стандартный Tor браузер. Недостаток такого подхода заключается в том, что придется запускать и держать постоянно включенным браузер Tor при работе с VPN.
  • Установить Tor Expert Bundle как службу Windows. Такая настройка несколько сложнее, но зато вы получите постоянно работающий Tor на вашем компьютере и перед подключением VPN отпадает необходимость запускать Tor браузер

Настройка VPN через Tor с помощью браузера Tor.

1. Запустите Tor браузер, перейдите в меню настроек (Options), далее Advanced -> Network -> Settings . Перед вами откроется окно настроек Прокси. Здесь нет особой необходимости что-то менять. Видно, что пока включен Tor браузер ваш компьютер работает как SOCKS v5 прокси и принимает соединения на порту номер 9150.

2. Далее осталось указать нашему VPN клиенту использовать Tor прокси запущенный на вашем компьютере. В случае с OpenVPN это делается в настройках программы как на снимке экрана. Тоже самое можно сделать в файле конфигурации OpenVPN указав директиву socks-proxy 127.0.0.1 9050

Настройка VPN через Tor с помощью Expert Bundle.

Позаботьтесь о надежном VPN, попробуйте , при этом Вы получите полное отсутствие лог файлов, более 100 серверов, чистый OpenVPN и никаких сторонних приложений. Сервис зарегистрирован в Гонконге, а все сервера оформлены на подставных лиц.

Оставляйте свои комментарии и вопросы ниже, а также подписывайтесь на нас в социальных сетях

Первое, что приходит в голову при упоминании VPN, - это анонимность и защищенность передаваемых данных. Так ли это на самом деле? Давай разберемся.

Когда необходимо получить доступ к корпоративной сети, безопасно передать важную информацию по открытым каналам связи, скрыть свой трафик от бдительного взора провайдера, скрыть свое реальное местоположение при проведении каких-либо не совсем законных (или совсем не законных) действий, обычно прибегают к использованию VPN. Но стоит ли слепо полагаться на VPN, ставя на кон безопасность своих данных и собственную безопасность? Однозначно - нет. Почему? Давай разбираться.

WARNING

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

VPN нам нужен!

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

Утечка VPN-трафика

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

Корень зла

Сосуществование двух протоколов - IPv4 и IPv6 - имеет множество интересных и тонких аспектов, которые могут приводить к неожиданным последствиям. Несмотря на то что шестая версия протокола IP не имеет обратной совместимости с четвертой версией, обе эти версии как бы «склеены» вместе системой доменных имен (DNS). Чтобы было понятней, о чем идет речь, давай рассмотрим простенький пример. Например, возьмем сайт (скажем, www.example.com), который имеет поддержку IPv4 и IPv6. Соответствующее ему доменное имя (www.example.com в нашем случае) будет содержать DNS-записи обоих типов: А и АААА. Каждая А-запись содержит один IPv4-адрес, а каждая АААА-запись содержит один IPv6-адрес. Причем для одного доменного имени может быть по несколько записей обоих типов. Таким образом, когда приложение, поддерживающее оба протокола, захочет взаимодействовать с сайтом, оно может запросить любой из доступных адресов. Предпочитаемое семейство адресов (IPv4 или IPv6) и конечный адрес, который будет использоваться приложением (учитывая, что их существует несколько для четвертой и шестой версий), будет отличаться от одной реализации протокола к другой.

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

VPN и двойной стек протоколов

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

Основная причина проблемы кроется в том, что, хотя IPv4 и IPv6 - два разных протокола, несовместимых друг с другом, они тесно используются в системе доменных имен. Таким образом, для системы, поддерживающей оба стека протоколов, невозможно обеспечить безопасность соединения с другой системой, не обеспечив безопасность обоих протоколов (IPv6 и IPv4).

Легитимный сценарий утечки VPN-трафика

Рассмотрим хост, который поддерживает оба стека протоколов, использует VPN-клиент (работающий только с IPv4-трафиком) для подключения к VPN-серверу и подключен к dual-stacked сети. Если какому-то приложению на хосте нужно взаимодействовать с dual-stacked узлом, клиент обычно запрашивает и А-, и АААА-DNS-записи. Так как хост поддерживает оба протокола, а удаленный узел будет иметь оба типа DNS-записей (А и АААА), то одним из вероятных вариантов развития событий будет использование для связи между ними IPv6-протокола. А так как VPN-клиент не поддерживает шестую версию протокола, то IPv6-трафик не будет отправляться через VPN-соединение, а будет отправляться в открытом виде через локальную сеть.

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

Преднамеренно вызываем утечку VPN-трафика

Атакующий может преднамеренно вызвать подключение по протоколу IPv6 на компьютере жертвы, посылая поддельные ICMPv6 Router Advertisement сообщения. Подобные пакеты можно рассылать при помощи таких утилит, как rtadvd , SI6 Networks’ IPv6 Toolkit или THC-IPv6 . Как только соединение по протоколу IPv6 установлено, «общение» с системой, поддерживающей оба стека протоколов, может вылиться, как рассмотрено выше, в утечку VPN-трафика.

И хотя данная атака может быть достаточно плодотворной (из-за растущего числа сайтов, поддерживающих IPv6), она приведет к утечке трафика, только когда получатель поддерживает обе версии протокола IP. Однако для злоумышленника не составит труда вызвать утечки трафика и для любого получателя (dual-stacked или нет). Рассылая поддельные Router Advertisement сообщения, содержащие соответствующую RDNSS-опцию, атакующий может прикинуться локальным рекурсивным DNS-сервером, затем провести DNS-спуфинг, чтобы осуществить атаку man-in-the-middle и перехватить соответствующий трафик. Как и в предыдущем случае, такие инструменты, как SI6-Toolkit и THC-IPv6, могут легко провернуть такой трюк.

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

  1. Если VPN-клиент сконфигурирован таким образом, чтобы отправлять весь IPv4-трафик через VPN-соединение, то:
  • если IPv6 VPN-клиентом не поддерживается - отключить поддержку шестой версии протокола IP на всех сетевых интерфейсах. Таким образом, у приложений, запущенных на компьютере, не будет другого выбора, как использовать IPv4;
  • если IPv6 поддерживается - убедиться, что весь IPv6-трафик также отправляется через VPN.
  1. Чтобы избежать утечки трафика, в случае если VPN-соединение внезапно отвалится и все пакеты будут отправляться через default gateway, можно:
  2. принудительно заставить весь трафик идти через VPN route delete 0.0.0.0 192.168.1.1 // удаляем default gateway route add 83.170.76.128 mask 255.255.255.255 192.168.1.1 metric 1
  • воспользоваться утилитой VPNetMon , которая отслеживает состояние VPN-соединения и, как только оно пропадает, мгновенно завершает указанные пользователем приложения (например, торрент-клиенты, веб-браузеры, сканеры);
  • или утилитой VPNCheck , которая в зависимости от выбора пользователя может либо полностью отключить сетевую карту, либо просто завершить указанные приложения.
  1. Проверить, уязвима ли твоя машина к утечке DNS-трафика, можно на сайте , после чего применить советы, как пофиксить утечку, описанные .

Расшифровка VPN-трафика

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

Ахиллесова пята

При VPN-соединениях на базе протокола PPTP (Point-to-Point Tunneling Protocol) аутентификация пользователей проводится по протоколу MS-CHAPv2, разработанному компанией Microsoft. Несмотря на то что MS-CHAPv2 устарел и очень часто становится предметом критики, его продолжают активно использовать. Чтобы окончательно отправить его на свалку истории, за дело взялся известный исследователь Мокси Марлинспайк, который на двадцатой конференции DEF CON отчитался, что поставленная цель достигнута - протокол взломан. Надо сказать, что безопасностью этого протокола озадачивались и ранее, но столь долгое использование MS-CHAPv2, возможно, связано с тем, что многие исследователи концентрировались только на его уязвимости к атакам по словарю. Ограниченность исследований и широкое число поддерживаемых клиентов, встроенная поддержка операционными системами - все это обеспечило протоколу MS-CHAPv2 широкое распространение. Для нас же проблема кроется в том, что MS-CHAPv2 применяется в протоколе PPTP, который используется многими VPN-сервисами (например, такими крупными, как анонимный VPN-сервис IPredator и The Pirate Bay’s VPN).

Если обратиться к истории, то уже в 1999 году в своем исследовании протокола PPTP Брюс Шнайер указал, что «Microsoft улучшил PPTP, исправив основные изъяны безопасности. Однако фундаментальная слабость аутентификации и шифрования протокола в том, что он безопасен настолько, насколько безопасен выбранный пользователем пароль». Это почему-то заставило провайдеров поверить, что ничего страшного в PPTP нет и если требовать от пользователя придумывать сложные пароли, то передаваемые данные будут в безопасности. Сервис Riseup.net настолько проникся этой идеей, что решил самостоятельно генерировать для пользователей пароли длиной в 21 символ, не давая им возможности установить свои. Но даже такая жесткая мера не спасает от расшифровки трафика. Чтобы понять почему, давай поближе познакомимся с протоколом MS-CHAPv2 и посмотрим, как же Мокси Марлинспайк сумел его взломать.

Протокол MS-CHAPv2

Как уже было сказано, MSCHAPv2 применяется для аутентификации пользователей. Происходит она в несколько этапов:

  • клиент посылает запрос на аутентификацию серверу, открыто передавая свой login;
  • сервер возвращает клиенту 16-байтовый случайный отклик (Authenticator Challenge);
  • клиент генерирует 16-байтовый PAC (Peer Authenticator Challenge - равный отклик аутентификации);
  • клиент объединяет PAC, отклик сервера и свое user name в одну строку;
  • с полученной строки снимается 8-байтовый хеш по алгоритму SHA-1 и посылается серверу;
  • сервер извлекает из своей базы хеш данного клиента и расшифровывает его ответ;
  • если результат расшифровки совпадет с исходным откликом, все ОK, и наоборот;
  • впоследствии сервер берет PAC клиента и на основе хеша генерирует 20-байтовый AR (Authenticator Response - аутентификационный ответ), передавая его клиенту;
  • клиент проделывает ту же самую операцию и сравнивает полученный AR с ответом сервера;
  • если все совпадает, клиент аутентифицируется сервером. На рисунке представлена наглядная схема работы протокола.

На первый взгляд протокол кажется излишне сложным - куча хешей, шифрование, случайные challenge. На самом деле все не так уж и сложно. Если присмотреться внимательней, то можно заметить, что во всем протоколе остается неизвестной только одна вещь - MD4-хеш пароля пользователя, на основании которого строятся три DES-ключа. Остальные же параметры либо передаются в открытом виде, либо могут быть получены из того, что передается в открытом виде.


Так как почти все параметры известны, то мы можем их не рассматривать, а остановить свое пристальное внимание на том, что неизвестно, и выяснить, что это нам дает.


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

Имея на руках перехваченный трафик, можно попробовать его расшифровать. Есть несколько инструментов (например, asleap), которые позволяют подобрать пароль пользователя через атаку по словарю. Недостаток этих инструментов в том, что они не дают стопроцентной гарантии результата, а успех напрямую зависит от выбранного словаря. Подбирать же пароль простым брутфорсом тоже не очень эффективно - например, в случае с PPTP VPN сервисом riseup.net, который принудительно устанавливает пароли длиной в 21 символ, придется перебирать 96 вариантов символа для каждого из 21 символов. Это в результате дает 96^21 вариантов, что чуть больше, чем 2^138. Иными словами, надо подобрать 138-битный ключ. В ситуации же, когда длина пароля неизвестна, имеет смысл подбирать MD4-хеш пароля. Учитывая, что его длина равна 128 бит, получаем 2^128 вариантов - на данный момент это просто нереально вычислить.

Разделяй и властвуй

MD4-хеш пароля используется в качестве входных данных для трех DES-операций. DES-ключи имеют длину 7 байт, так что каждая DES-операция использует 7-байтовый фрагмент MD4-хеша. Все это оставляет возможность для классической атаки divide and conquer. Вместо того чтобы полностью брутить MD4-хеш (а это, как ты помнишь, 2^128 вариантов), мы можем подбирать его по частям в 7 байт. Так как используются три DES-операции и каждая DES-операция абсолютно независима от других, это дает общую сложность подбора, равную 2^56 + 2^56 + 2^56, или 2^57.59. Это уже значительно лучше, чем 2^138 и 2^128, но все еще слишком большое число вариантов. Хотя, как ты мог заметить, в эти вычисления закралась ошибка. В алгоритме используются три DES-ключа, каждый размером в 7 байт, то есть всего 21 байт. Эти ключи берутся из MD4-хеша пароля, длина которого всего 16 байт.

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

Так как третий ключ имеет эффективную длину всего лишь два байта, то есть 2^16 вариантов, его подбор занимает считаные секунды, доказывая эффективность атаки divide and conquer. Итак, можно считать, что последние два байта хеша известны, остается подобрать оставшиеся 14. Также разделив их на две части по 7 байт, имеем общее число вариантов для перебора, равное 2^56 + 2^56 = 2^57. Все еще слишком много, но уже значительно лучше. Обрати внимание, что оставшиеся DES-операции шифруют один и тот же текст, только при помощи разных ключей. Можно записать алгоритм перебора следующим образом:

Но так как текст шифруется один и тот же, то правильнее сделать вот так:

То есть получается 2^56 вариантов ключей для перебора. А это значит, что безопасность MS-CHAPv2 может быть сведена к стойкости одного DES-шифрования.

Взлом DES

Теперь, когда диапазон подбора ключа известен, для успешного завершения атаки дело остается только за вычислительными мощностями. В 1998 году Electronic Frontier Foundation построила машину Deep Crack, которая стоила 250 тысяч долларов и позволяла взламывать DES-ключ в среднем за четыре с половиной дня. В настоящее время Pico Computing, специализирующаяся на построении FPGA-оборудования для криптографических приложений, построила FPGA-устройство (DES cracking box), которое реализует DES как конвейер с одной DES-операцией на каждый тактовый цикл. Обладая 40 ядрами по 450 МГц, оно позволяет перебирать 18 миллиардов ключей в секунду. Обладая такой скоростью перебора, DES cracking box в худшем случае взламывает ключ DES за 23 часа, а в среднем за полдня. Данная чудо-машина доступна через коммерческий веб-сервис loudcracker.com . Так что теперь можно взломать любой MS-CHAPv2 handshake меньше, чем за день. А имея на руках хеш пароля, можно аутентифицироваться от имени этого пользователя на VPN-сервисе или просто расшифровывать его трафик.

Для автоматизации работы с сервисом и обработки перехваченного трафика Мокси выложил в открытый доступ утилиту chapcrack. Она парсит перехваченный сетевой трафик, ища MS-CHAPv2 handshake’и. Для каждого найденного «рукопожатия» она выводит имя пользователя, известный открытый текст, два известных шифртекста и взламывает третий DES-ключ. Кроме этого, она генерирует токен для CloudCracker, в котором закодированы три параметра, необходимые, чтобы сервис взломал оставшиеся ключи.

CloudCracker & Chapcrack

На случай, если тебе понадобится взломать DES-ключи из перехваченного пользовательского трафика, приведу небольшую пошаговую инструкцию.

  1. Скачиваем библиотеку Passlib , реализующую более 30 различных алгоритмов хеширования для языка Python, распаковываем и устанавливаем: python setup.py install
  2. Устанавливаем python-m2crypto - обертку OpenSSL для Python: sudo apt-get install python-m2crypto
  3. Скачиваем саму утилиту chapcrack , распаковываем и устанавливаем: python setup.py install
  4. Chapcrack установлена, можно приступать к парсингу перехваченного трафика. Утилита принимает на вход cap-файл, ищет в нем MS-CHAPv2 handshake’и, из которых извлекает необходимую для взлома информацию. chapcrack parse -i tests/pptp
  5. Из выводимых утилитой chapcrack данных копируем значение строки CloudCracker Submission и сохраняем в файл (например, output.txt)
  6. Идем на cloudcracker.com, на панели «Start Cracking» выбираем File Type, равный «MS-CHAPv2 (PPTP/WPA-E)», выбираем предварительно подготовленный на предыдущем шаге файл output.txt, нажимаем Next -> Next и указываем свой e-mail, на который придет сообщение по окончании взлома.

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

Что делать?

Хоть Microsoft и пишет на своем сайте, что на данный момент не располагает сведениями об активных атаках с использованием chapcrack, а также о последствиях таких атак для пользовательских систем, но это еще не значит, что все в порядке. Мокси рекомендует всем пользователям и провайдерам PPTP VPN решений начинать миграцию на другой VPN-протокол. А PPTP-трафик считать незашифрованным. Как видишь, налицо еще одна ситуация, когда VPN может нас серьезно подвести.


Заключение

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

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

Psiphon

Данный сервис использует технологии VPN, SSH и HTTP прокси для решения проблемы доступа к заблокированным ресурсам. Psiphon позволяет обойти цензуру, получить доступ к интересующей вас информации и защищает ваши аккаунты и пароли от взлома.

Betternet

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

Поддерживает платформы: Firefox, Chrome, IOS, Android, Windows

CyberGhost VPN

Этот сервис легко устанавливается и обеспечивает безопасный и неограниченный доступ к любому ресурсу в интернете независимо от точки, в которой вы находитесь. CyberGhost VPN предлагает и анонимность без риска для вашей конфиденциальности в интернете.

SurfEasy

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

Поддерживает платформы: Windows, Mac OS, IOS, Android

Hide.me

Hide.me сделает вас по-настоящему анонимным в сети, скрывая вашу личную информацию и местонахождение. Он шифрует ваши действия, защищая от хакеров и вредоносной активности. Данный сервис VPN обходит цензуру и открывает доступ к любой информации в сети интернет.

Поддерживает платформы: Windows, Android

FinchVPN

FinchVPN представляет простую в использовании панель управления с множеством серверов VPN в различных точках мира. Разработчики утверждают, что сервис не ведет никаких наблюдений за вашей деятельностью.

Поддерживает платформы: Windows, Mac OS, Linux, Android

proXPN

proXPN скрывает вашу информацию от посторонних лиц и маскирует личность и местоположение. Сервис защищает от взломов и других вредоносных действий. А также позволяет избавиться от цензуры и видеть страницы такими, какие они есть.

Поддерживает платформы: Windows, Mac OS

ZenMate

ZenMate шифрует и обеспечивает подключение к интернету, чтобы защитить вашу информацию во время просмотра веб-сайтов. Данный сервис дает возможность анонимно просматривать контент всемирной паутины.

Поддерживает платформы: Chrome, Firefox, Opera, IOS, Android

ZPN

Надежный и быстрый VPN сервис. Он предоставляет 10 Гб бесплатного трафика в месяц и выступает в качестве виртуального брандмауэра. С ним можно подключаться к общественным Wi-Fi точкам без риска.

Поддерживает платформы: Windows, IOS, Android

SecurityKISS

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

Поддерживает платформы: Windows, Mac OS, Linux, IOS, Android

Hideman VPN

Hideman VPN обеспечивает шифрование данных и анонимность для интернет-сессий. Он предлагает бесплатное пользование с ограничением по времени и трафику (Не более 2Гб в месяц) . Использует различные адреса серверов многих стран мира, тем самым увеличивая вашу безопасность.

Поддерживает платформы: Windows, Mac OS, IOS, Android

ZenVPN

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

Поддерживает платформы: Windows, Mac OS, IOS, Android

GetPrivate

GetPrivate гарантирует безопасность вашему интернет-соединению по всему миру. Сервис обеспечивает неограниченную пропускную способность для всех посещаемых ресурсов и открывает доступ к закрытым сайтам.

Поддерживает платформы: Windows

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

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

Какие есть способы анонимизации пребывания в сети?
Если говорить про обособленные единицы анонимизации (ведь есть еще схемы в виде комбинирования того или иного средства анонимности), то можно выделить следующие:
1) Прокси-серверы — бывают разных видов, со своими особенностями. По ним есть отдельный FAQ и другие топики на форуме;
2) VPN-сервисы — тоже работают по разным протоколам, которые предлагают провайдеры на выбор, их различия и особенности см. ниже;
3) SSH-туннели , изначально создавались (и функционируют по сей день) для других целей, но также используются для анонимизации. По принципу действия довольно схожи с VPN’ами, поэтому в данной теме все разговоры о VPN будут подразумевать и их тоже, но сравнение их все же будет позже;
4) Dedicated-серверы — самое основное преимущество в том, что пропадает проблема раскрытия истории запросов узла, с которого проводились действия (как это может быть в случае с VPN/SSH или прокси);
5) Великий и ужасный Tor ;
6) — анонимная, децентрализованная сеть, работающая поверх интернета, не использующая IP-адресацию (подробнее см. ниже);
7) Иные средства — анонимные сети, анонимайзеры и др. В силу пока недостаточной популярности они еще не изучены (а следовательно не имеют относительной гарантии надежности) сообществом, но достаточно перспективны, о них также см. ниже;

Что стоит скрывать, или какие есть деанонимизирующие данные и методы их получения?
Сразу отмечу, что все (основные по крайней мере) средства и методы для сокрытия данных в ниже представленном списке будут освещены в остальных вопросах этого FAQ’a. Еще хочу обратить внимание на один интересный ресурс , который посвящен вопросам, какую информацию мы оставляем о себе в сети, заходя в разных устройств;
1) IP-адрес , или самый популярный идентификатор в интернете. Дает возможность найти провайдера юзера и узнать у него точный адрес через тот же IP;
2) IP DNS провайдера , который можно «потерять» через метод, называемый (утечки DNS ). Важно отметить, что эта утечка может произойти при связке HTTP/SOCKS4 (5 в некоторых случаях) + Tor! Поэтому тут надо быть особенно внимательными;
3) Если большая часть траффика долго выходит в интернет через один узел, например, тот же Tor, то можно провести так называемое профилирование — отнести определенную активность к определенному псевдониму, который можно сдеанонить через другие каналы;
4) Прослушивание трафика на выходном узле или (man in the middle);
5) Одновременное подключение к анонимному и открытому каналам может в некоторых ситуациях создать непрятности, например, при обрывании соединения у клиента, оба канала перестанут функционировать, и на сервере можно будет определить нужный адрес, сопоставив время отсоединения пользователей (правда, это довольно геморный и далеко неточный способ деанонимизации);
6) Деанонимизирующая активность в анонимном сеансе — пользвоание публичными сервисами, особенно теми, на которых уже есть информация об этом пользователе;
7) MAC-адрес , который получает WiFi точка при подключении к ней (или он может быть бэкапнут коммутаторами одной из локальных сетей, через которую был осуществлен выход в интернет);
8) Информация из браузеров:

  • Cookies — это текстовые файлы c какими-либо данными (как правило, уникальными для каждого пользователя), хранимые приложением (часто — браузером) для разных задач, например, аутентификации. Часто бывает, что клиент сначала посетил ресурс из открытого сеанса, браузер сохранил cookies, а потом клиент соединился из анонимного сеанса, тогда сервер может сопоставить cookies и вычислить клиента;
  • Flash, Java, Adobe Reader — первые три плагина вообще можно выделить, как отдельные приложения на базе браузера. Они могут обходить прокси (DNS leaks ), засвечивать IP (IP leaks ), создавать свои подобия долгоживущих cookies и др. Также все три (в особенности этим грешит Flash) часто служат подспорищем для эксплуатации каких-нибудь 0-day или 1-day уязвимостей, позволяющих порой проникнуть в саму систему;
  • JavaScript — исполняется на стороне клиента, не обладает таким широким спектром возможности в плане деанона, хотя может предоставить точную информацию об ОС, виде и версии браузера, а также имеет доступ к некоторым технологиям браузера, которые могут также, например, слить IP-адрес ;
  • Browser fingerprint или отпечаток браузера — совокупность данных, которые браузер постоянно предоставляет серверу при работе с ним, что может сформировать достаточно уникальный «цифровой отпечаток», по которому можно будет найти юзера даже в анонимном сеансе или позже, по выходу из него;

Чем VPN отличается от прокси?
1) Трафик между клиентом и прокси передается в открытом виде, при использовании VPN уже идет шифрование;
2) Стабильность — при создании VPN соединения как правило постоянная, редко создаются разъединения, у прокси они происходят относительно чаще. Но все зависит от провайдера;
3) Кроме шифрования соединения VPN предоставляет более анонимный сервис в том плане, что используются DNS сервера VPN сервиса и не может произойти раскрытия приватных данных типа DNS leak , что ни чуть не хуже, чем раскрытие IP-адресаю Правда у SOCKS5 и SOCKS4a-прокси есть такая же возможность переложить DNS сервис на прокси-сервер;
4) VPN сервисы не ведут журналов или ведут на очень короткие сроки и неподробно (по крайней мере они так говорят), большинство прокси-серверов не дают таких обещаний;

Насколько эффективна цепочка из прокси-серверов?
Скорее она неэффективна, если ориентироваться по соотношению прироста времени деанонимизации на уменьшение скорости соединения от конечного ресурса к клиенту. К тому же, почти все недостатки деанонимизации, присущие прокси-серверам не исчезают при построении из них подобных цепочек. Поэтому можно сделать вывод, что данным методом при достижении анонимности лучше не пользоваться.

В FAQ’e про прокси-серверы не сказано о SOCKS4a, зачем он нужен?
Это промежуточная версия между 4 и 5 SOCKS’ами, в которой все функционирует аналогично 4, за исключением того, что SOCKS4a принимает только доменное имя вместо IP-адреса ресурса и сам его резолвит.

Можно поподробнее об особенностях, плюсах и минусах аренды dedicated-серверов?
Выделенный сервер предназначается далеко не для анонимизации, а для хостинга приложений, сервисов и всего другого, чегу заказчик посчитает нужным. Важно отметить, что арендатору предоставляется отдельная физическая машина, что дает ему некий гарант полного контроля этого узла и созадет важное преимущество для анонимности — уверенность в том, что история запросов никуда не утечет.
Учитывая вышесказанное и другие моменты можно выделить ряд преимуществ данного средства с точки зрения анонимизации:
1) Настройка HTTP/SOCKS-прокси или SSH/VPN-соединения на выбор;
2) Контроль истории запросов;
3) Спасает при атаке через Flash, Java, JavaScript, если использовать удаленный браузер;
Ну и недостатки тоже присутствуют:
1) Сильно дорогой метод;
2) В некоторых странах априори не может предоставлять анонимность, потому что арендатор обязан предоставить о себе данные: паспорт, кредитка и др;
3) Все соединения с выделенныем сервером логируются у его провайдера, так что тут возникает доверенность немного другого плана;

Через какие протоколы идет работа в VPN и какие у них есть особенности?
Лучше сразу рассматривать существующие сейчас варианты VPN, то есть какие связки и технологии предлагают провайдеры, если мы конечно не ставим цель поднять знания теории сетевых протоколов (хотя есть варианты с использоавнием одного единственного протокола, что мы также рассмотрим).
SSL (Secure Socket Layer ) протокол защищенных сокетов — использует защиту данных с открытым ключом для подтверждения подлинности передатчика и получателя. Поддерживает надежность передачи данных за счет использования корректирующих кодов и безопасных хэш-функций. Один из наиболее простых и «низкоанонимных» протоколов для VPN-соединений, использоуется в основном прилоежниями-клиентами для VPN. Чаще является частью какой-нибудь свзяки при создении VPN-соединения.
PPTP (Point-to-Point Tunneling Protocol ) — используется наиболее часто, довольно быстрый, легко настраивается, но считается наименее защищённым относительно других своих собратьев.


L2TP (Layer 2 Tunneling Protocol ) + IPSec (часто IPSec опускают в названии, как вспомогательный протокол). L2TP обеспечивает транспорт, а IPSec отвечает за шифрование. Данная связка имеет более сильное шифрование, чем PPTP, устойчива к уязвимостям PPTP, обеспечивает также целостность сообщений и аутентификацию сторон. Есть VPN на основе только протокола IPSec или только L2TP, но, очевидно, что L2TP + IPSec дают больше возможностей в защите и анонимизации, чем по отдельности.



OpenVPN — безопасный, открытый, а следовательно, распространённый, позволяет обходить многие блокировки, но требует отдельного программного клиента. Технически это не протокол, а реализация технологии VPN. проводит все сетевые операции через TCP или UDP транспорт. Также возможна работа через большую часть прокси серверов, включая HTTP, SOCKS, через NAT и сетевые фильтры. Для обеспечения безопасности управляющего канала и потока данных OpenVPN использует SSLv3/TLSv1 .
SSTP — такой же безопасный, как и OpenVPN, отдельного клиента не требует, однако сильно ограничен в платформах: Vista SP1, Win7, Win8. Инкапсулирует PPP-кадры в IP-датаграммы для передачи по сети. Для управления туннелем и передачи PPP-кадров данных протокол SSTP использует TCP-подключение (порт 443). Сообщение SSTP шифруется каналом SSL протокола HTTPS .


Отдельно стоит отметить сервисы, предоставляющие такие услуги как «DoubleVPN», когда перед достижением нужного узла траффик проходит 2 разных VPN-сервера в разных регионах. Или существует еще более жесткое решение — «QuadVPN», когда используется 4 сервера, которые пользователь может выбрать сам и расположить в нужном ему порядке.

Какие минусы есть у VPN?
Конечно же, не такая анонимность, как у некоторых других сервисов типа Tor’a, и не только потому, что алгоритм и схема другие. Также при использовании VPN все таки в критических ситуациях придется больше полагаться на добросовестное исполнение обязанностей этого сервиса (минимальное журналирование, работа без бэкапов трафика и пр.).
Следующий момент состоит в том, что хоть VPN и скрывает IP в большинстве случаев, а также предотвращает DNS leak , но есть ситуации, при которых и этот метод анонимизации даст сбой. А именно:
1) IP leak через WebRTC — на хроме и мозилле работает гарантированно и реализовывается через обычный JavaScript;
2) Утечка IP через Flash, инициировавший соединение с сервером и передавший ему IP клиента в обход VPN (правда работает не всегда);
Хотя эти случае можно предотвратить выключив у себя в браузере JS, Flash и Java;
3) При использовании клиентских настроек по умолчанию при разрыве соединения, в отличие от прокси-серверов, серфинг в сети будет продолжаться напрямую, уже не через виртульный канал, то есть будет полное палево;
Но этого можно избежать подкорректировав таблицу маршрутизации, где в качестве основного шлюза по умолчанию указать только шлюз VPN-сервера или перенастроить файрвол.

В чем различие между SSH-тунелями и VPN?
SSH-туннель ни что иное, как шифруемое по протоколу SSH соединение, где данные шифруются на стороне клиента и расшифровываются у получателя (SSH-сервера ). Создается для удаленного защищенного управления ОС, но как уже было написано выше, применяется еще для анонимизации. Поддерживает 2 варианта работы: посредством реализации приложением HTTP/SOCKS-прокси для направления траффика через локальный прокси-сервер в SSH-туннель. Или происходит создание практически полноценного (можно скзазать аналогичного, если брать последние версии SSH и OpenSSH) VPN-соединения.


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


То есть кроме технических мелких аспектов принципы функционирования схожи. А основное отличие состоим в том, что SSH-туннель — это соединение точка-точка, а VPN-соединение — это соединение устройство-сеть (хотя спецы могут и перенастроить по своему усмотрению).

Как работает Tor со стороны клиента?
В сети море вариаций ответов на этот вопрос, но хочу попробовать изложить основы как можно более просто и лаконично, избавив читателя от копания в горах аналитической и сложной информации.
Tor — система маршрутизаторов, доступных только клиентам самого Tor’a, через цепочку которых клиент соединяется с нужным ему ресурсом. При дефолтных настройках количество узлов — три. использует многоуровневое шифрование. Опираясь на эти особенности, можно кратко описать общую схему доставки пакета данных от клиента к запрашиваемому ресурсу через 3 узла (то есть при настрйоках по умолчанию): предварительно пакет последовательно шифруется тремя ключами: сначала для третьего узла, потом для второго и в конце, для первого. Когда первый узел получает пакет, он расшифровывает «верхний» слой шифра (как при очистки луковицы) и узнаёт, куда отправить пакет дальше. Второй и третий сервер поступают аналогичным образом. А передача зашифрованных данных между промежуточнимы маршрутизаторами осуществляется через SOCKS-интерфейсы, что обеспечивает анонимность в купе с динамичным переконфигурированием маршрутов. И в отличие от статических прокси-цепочек, конфигурации луковых маршрутизаторов может меняться чуть ли не скаждым новым запросом, что только усложняет деанон.

Какие преимущества и недостатки есть у Tor’a?
Из преимуществ стоит выделить:
1) Один из самых высоких уровней анонимности (при должной конфигурации), особнно в комбинации с другими способами типа VPN;
2) Простота в использовании — скачал, пользуйся (можно даже без особых настроек);
Недостатки:
1) Относительно низкая скорость, так как трафик идет через цепочку узлов, каждый раз происходит расшифровка и может проходить вообще через другой континент;
2) Выходной трафик может прослушиваться, а если не использовать HTTPS , то и прекрасно фильтроваться для анализа;
3) Может не спасти при включенных плагинах — Flash, Java и даже от JavaScript’a , но создатели проекта рекомендуют эти дела отключать;
4) Наличие урпавляющих серверов;

Если сайт детектит Tor, то я никак не могу зайти на этот сайт анонимным используя его?
Попасть на такой сайт можно двумя способами. При помощи более изощренной схемы, которая де-факто делает это посещение еще более анонимным: связка Tor ⇢ VPN , можно Tor ⇢ Proxy , если не нужна дополнительная анонимность, а только факт сокрытия использования Tor для сервера сайта, но надо исползьовать именно в этой последовательности. Так получается, что сначала запрос идет через луковые хосты, затем через VPN/Proxy , а на выходе выглядит, как будто просто VPN/Proxy (или вообще обычное соединение).
Но стоит заметить, что взаимодействие этих связок вызывает бурные обсуждения на форумах, вот раздел о Tor и VPN на сайте лукового проекта.


Либо можно использовать так называемые мосты (bridges ) — это узлы, не занесенные в центральный каталог Tor’a, как их настраивать можно посмотреть .

Можно ли как-то скрыть от провайдера факт использования Tor’a?
Да, решение будет почти полносью аналогичное предыдущему, только схема пойдет в обратном порядке и VPN соединение «вклинивается» между клиентов Tor’a и сетью луковых маршутизаторов. Обсуждение реализации такой схемы на практике можно найти на одной из страниц документации проекта.

Что следует знать о I2P, и как эта сеть работает?
I2P — распределенная, самоорганизующаяся сеть, основанная на равноправии ее участников, отличающаяся шифрованием (на каких этапах оно происходит и какими способами), переменнами посредниками (хопами), нигде не используются IP-адреса . В ней есть свои сайты, форумы и другие сервисы.
В сумме при пересылке сообщения используется четыре уровня шифрования (сквозное, чесночное, туннельное , а также шифрование транспортного уровня ), перед шифрованием в каждый сетевой пакет автоматически добавляется небольшое случайное количество случайных байт, чтобы ещё больше обезличить передаваемую информацию и затруднить попытки анализа содержимого и блокировки передаваемых сетевых пакетов.
Весь трафик передается по туннелям — временные однонаправленные пути, проходящие через ряд узлов, которые бывают входящими или исходящими. Адрессация происходит на основе данных из так называемой сетевой базы NetDb , которая распределена в той или иной мере по всем клиентам I2P . NetDb содержит в себе:

  • RouterInfos — контактные данные роутеров (клиентов), используются для построения туннелей (упрощая, они представляют собой криптографические идентификаторы каждого узла);
  • LeaseSets — контактные данные адресатов, используются для связи исходящих и входящих туннелей.

Принцип взаимодействия узлов этой сети.
Этап 1. Узел «Kate» строит исходящие туннели. Он обращается к NetDb за данными о роутерах и строит туннель с их участием.


Этап 2. «Boris» строит входной туннель аналогично тому, как и строится исходящий туннель. Затем он публикует свои координаты или так называемый «LeaseSet» в NetDb (здесь отметьте, что LeaseSet передается через исходящий туннель).


Этап 3. Когда «Kate» отправляет сообщение «Boris’у», он запрашивает в NetDb LeaseSet «Boris’а». И по исходящим туннелям пересылает сообщение к шлюзу адресата.


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

Какие есть преимущества и недостатки у I2P сети?
Преимущества:
1) Высокий уровень анонимности клиента (при любых разумных настрйоках и использовании);
2) Полная децентрализация, что ведёт к устойчивости сети;
3) Конфиденциальность данных: сквозное шифрование между клиентом и адресатом;
4) Очень высокая степень анонимности сервера (при создании ресурса), не известен его IP-адрес;
Недостатки:
1) Низкая скорость и большое время отклика;
2) «Свой интернет» или частичная изолированность от интернета, с возможностью туда попасть и повышением вероятности деанона;
3) Не спасает от атаки через плагины (Java, Flash ) и JavaScript , если не отклчить их;

Какие еще есть сервисы/проекты по обеспечению анонимности?

  • Freenet — одноранговая сеть распределенного хранения данных;
  • GNUnet — скоординированный набор софта для peer-to-peer соединения, не нуждающегося в серверах;
  • JAP — John Donym , в основу взят Tor;
  • — кроссплатформенный софт для бессерверного обмена письмами, мгновенными сообщениями и файлами с помощью шифрованной одноранговой F2F (friend-to-friend) сети;
  • Perfect Dark — японский клиент под винду для файлового обмена. Анонимность сети Perfect Dark базируется на отказе от использования прямых соединений между конечными клиентами, неизвестности IP-адресов и полном шифровании всего, что только можно;

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

  • Netsukuku — Networked Electronic Technician Skilled in Ultimate Killing, Utility and Kamikaze Uplinking ;
  • B.A.T.M.A.N — Better Approach To Mobile Ad-hoc Networking ;

Есть ли какие-то комплексные решения по обеспечению анонимности?
Кроме связок и комбинаций различных методов, вроде Tor+VPN , описанных выше можно воспользоваться дистрибутивами линукса, заточенными на эти потребности. Преимущество такого решения в том, что в них уже есть большинство этих комбинированных решений, все настройки выставленны на обеспечение максимального количества рубежей для деанонимизаторов, все потенциально опасные службы и софт вырезаны, полезные установлены, в некоторых помимо документации есть всплывающие подсказки, которые не дадут поздним вечером потерять бдительность.
По своему опыту и некоторых других знающих людей я бы выбрал дистрибутив Whonix , так как он содержит в себе самые новые техники по обеспечению анонимности и безопасности в сети, постоянно развивается и имеет очень гибкую настройку на все случаи жизни и смерти. Также имеет интересную архитектуру в виде двух сборок: Gateway и Workstation , которые в функционируют в связке. Основное преимущество этого состоит в том, что если в результате появления какой-нибудь 0-day в Tor или самой ОС, через которую попробуют раскрыть прятавшегося пользователя Whonix , то будет «деанонимизирована» только виртуальная Workstation и атакующий получит «очень ценную» информацию типа IP 192.168.0.1 и Mac address 02:00:01:01:01:01 .


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

Есть еще какие-нибудь моменты при достижении анонимности?
Да, есть. Существует ряд правил, которых желательно придерживаться даже в анонимном сеансе (если стоит цель достичь практически полной анонимности, конечно) и мер, которые необходимо предпринять перед входом в этот сеанс. Сейчас о них будет написано подробнее.
1) При использвоании VPN, Proxy и пр. всегда в настрйоках устанавливать использование статических DNS-серверов провайдера сервиса, дабы избежать утечек DNS. Или выставлять должные настройки в барузере или межсетевом экране;
2) Не использовать постоянные цепочки Tor, регулярно менять выходные узлы (VPN-серверы, прокси-серверы);
3) При пользовании браузером отключать по возможности все плагины (Java, Flash, еще какие-нибудь Adobe’вские поделки) и даже JavaScript (если задача полностью минимализировать риски деанона), а также отрубать использование cookies, ведение истории, долгосрочного кэширования, не разрешать отправлять HTTP-заголовки User-Agent и HTTP-Referer или подменять их (но это специальные браузеры для анонимности нужны, большинство стандартных не позволяют такую роскошь), использовать минимум браузерных расширений и тд. Вообще есть еще один ресурс , описывающий настройки для анонимности в различных браузерах, к которому тоже при желании стоит обратиться;
4) При выходе в анонимном режиме в сеть следует исопльзовать «чистую», полностью обновленную ОС с самыми последними стабильными версиями ПО. Чистая она должна быть — чтобы было сложнее отличить «отпечатки» ее, браузера и другого софта от среднестатистических показателей, а обновленная, чтобы понижалась вероятность подхватить какую-нибудь малварь и создать себе определенных проблем, ставящих под угрозу работу всех сосредоточенных для анонимизации средств;
5) Быть внимательным при появлении предупреждений о валидности сертификатов и ключей, для предотвращения Mitm-атак (прослушки незашифрованного трафика);
6) Не допускать никакой левой активности в анонимном сеансе. Например, если клиент из анонимного сеанса заходит на свою страницу в соц. сети, то его интернет-провайдер об этом не узнает. Но соц. сеть, несмотря на то, что не видит реальный IP-адрес клиента, точно знает, кто зашел;
7) Не допускать одновременного подключения к ресурсу по анонимному и открытому каналу (описание опасности было приведено выше);
8) Стараться «обфусцировать» все свои сообщения и другие продукты авторского интеллектуального производства, так как по жаргону, лексике и стиллистике речевых оборотов можно с довольно большой точностью определить автора. И уже есть конторы, которые делают на этом целый бизнес, так что не надо недооценивать этот фактор;
9) Перед подключением к локальной сети или беспроводной точке доступа предварительно менять MAC-адрес ;
10) Не использовать любое недоверенное или непроверенное приложение;
11) Желательно обеспечить себе «предпоследний рубеж», то есть какой-то промежуточный узел до своего, через который вести всю активность (как это делается с dedicated-серверами или реализовано в Whonix ), чтобы в случае преодоления всех предыдущих преград или заражения рабочей системы третие лица получали доступ к болванке-посреднику и не имели особых возможностей продвигаться в вашу сторону дальше (или эти возможности были бы карйне дороги или требовали затраты очень большого количества времени);

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

Last updated by at Январь 18, 2016 .