Анонимный VPN: смысл, риски и цена свободы. Настраиваем анонимный доступ в Сеть через Tor и VPN

Первое, что приходит в голову при упоминании 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-соединение было по-настоящему безопасным и анонимным.

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

Для начала давайте определимся с некоторыми постулатами:
1. Сеть Tor обеспечивает высокий уровень анонимности клиента при соблюдении всех обязательных правил её использования. Это факт: реальных атак в паблике на саму сеть, ещё не было.
2. Доверенный VPN-(SSH)-сервер обеспечивает конфиденциальность передаваемых данных между собой и клиентом.
Таким образом, для удобства в рамках данной статьи мы подразумеваем, что Tor обеспечивает анонимность клиента, а VPN - конфиденциальность передаваемых данных.

Tor через VPN. Сначала VPN, потом Tor

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

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

Стоит отметить, что специально для обхода запрета Tor интернет-провайдерами придумали так называемые bridges (мосты).
Мосты – это такие узлы сети Tor, которые не занесены в центральный каталог Tor, то есть не видны, например, или , а, следовательно, труднее обнаруживаются.
Как настроить мосты, подробно написано .
Несколько мостов может дать нам сам сайт Tor по адресу .
Можно также получить адреса мостов по почте, отправив на адрес [email protected] или [email protected] письмо с текстом: «get bridges». Обязательно отправлять это письмо с почты от gmail.com или yahoo.com
В ответ мы получим письмо с их адресами:
«Here are your bridge relays:
bridge 60.16.182.53:9001
bridge 87.237.118.139:444
bridge 60.63.97.221:443
»
Эти адреса нужно будет указать в настройках Vidalia – прокси-сервера Tor.
Иногда происходит так, что и мосты блокируются. Для обхода этого в Tor введены так называемые «obfuscated bridges». Не вдаваясь в подробности, их труднее обнаружить. Чтобы к ним подключиться, надо, например, скачать, Pluggable Transports Tor Browser Bundle .

Плюсы схемы:

  • мы скроем от Интернет-провайдера сам факт использования Tor (или подключимся к Tor, если его блокирует провайдер). Однако, для этого существуют специальные мосты;
  • скроем от входного узла Tor свой ip-адрес, заменив его адресом VPN-сервера, однако это не самое эффективное повышение анонимности;
  • в случае теоретической компрометации Tor, останемся за VPN-сервером.

Минусы схемы:

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

В таком случае VPN-сервер является постоянным выходным узлом в сеть Интернет.


Подобная схема подключения может использоваться для обхода блокировки узлов Tor внешними ресурсами, плюс она должна защитить наш траффик от прослушивания на выходном узле Tor.
Существует немало технических сложностей в установлении такого подключения, например, вы же помните, что цепочка Tor обновляется раз в 10 минут или то, что Tor не пропускает UDP? Самый жизнеспособный вариант практической реализации это использование двух виртуальных машин (об этом чуть ниже).
Важно также отметить, что любой выходной узел легко выделит клиента в общем потоке, так как большинство пользователей идут на разные ресурсы, а при использовании подобной схемы клиент идёт всегда на один и тот же VPN-сервер.
Естественно, что использование обычных прокси-серверов после Tor не имеет особого смысла, так как траффик до прокси не шифруется.

Плюсы схемы:

  • защита от прослушивания траффика на выходном узле Tor, однако сами разработчики Tor рекомендуют использовать шифрование на прикладном уровне, например, https;
  • защита от блокирования адресов Tor внешними ресурсами.

Минусы схемы:

  • сложная реализация схемы;
  • мы должны доверять выходному VPN-серверу.
Концепция Whonix

Существует множество дистрибутивов ОС, основной целью которых является обеспечение анонимности и защиты клиента в Интернете, например, Tails и Liberte и другие. Однако наиболее технологичным, постоянно развивающимся и эффективным решением, реализующим самые передовые техники по обеспечению безопасности и анонимности, является дистрибутив ОС .
Дистрибутив состоит из двух виртуальных машин Debian на VirtualBox, одна из которых является шлюзом, отправляющим весь траффик в сеть Tor, а другая – изолированной рабочей станцией, подключающейся только к шлюзу. Whonix реализует в себе механизм так называемого изолирующего прокси-сервера. Существует также вариант физического разделения шлюза и рабочей станции.

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


ОС Whonix, как утверждают разработчики, успешно прошла все возможные тесты на утечки . Даже такие приложения как Skype, BitTorrent, Flash, Java, известные своими особенностями выходить в открытый Интернет в обход Tor, также были успешно протестированы на предмет отсутствия утечек деанонимизирующих данных.
ОС Whonix реализует много полезных механизмов анонимности, я укажу наиболее важные:

  • весь траффик любых приложений идёт через сеть Tor;
  • для защиты от профилирования траффика ОС Whonix реализует концепцию изоляции потоков. Предустановленные в Whonix приложения настроены на использование отдельного Socks-порта, а так как каждый Socks-порт использует отдельную цепочку узлов в сети Tor, то профилирование невозможно;
  • обеспечивается безопасный хостинг сервисов «Tor Hidden services». Даже, если злоумышленник взломает web-сервер, то он не сможет украсть закрытый ключ «Hidden»-сервиса, так как ключ хранится на Whonix-шлюзе;
  • Whonix защищен от DNS-утечек, так как в своей архитектуре использует принцип изолированного прокси. Все DNS-запросы перенаправляются на DnsPort Tor’а;
  • Whonix поддерживает «obfuscated bridges», рассмотренные ранее;
  • применяется технология «Protocol-Leak-Protection and Fingerprinting-Protection». Это снижает риск идентификации клиента через создание цифрового отпечатка браузера или системы путем использования наиболее часто применяемых значений, например, имя пользователя – «user», временная зона – UTC и т.д.;
  • есть возможность туннелировать другие анонимные сети: Freenet, I2P, JAP, Retroshare через Tor, или работать с каждой такой сетью напрямую. Более подробные данные об особенностях таких подключений находятся по ссылке ;
  • важно отметить, что в Whonix протестированы, документированы и, главное, работают (!) все схемы комбинирования VPN/SSH/Proxy с Tor. Более подробную информацию об этом можно получить по ссылке ;
  • ОС Whonix – это полностью открытый проект, использующий свободное ПО.

Однако стоит отметить, что ОС Whonix имеет и свои недостатки:

  • более сложная настройка, чем Tails или Liberte;
  • требуются две виртуальные машины или отдельное физическое оборудование;
  • требует повышенного внимания к обслуживанию. Надо следить за тремя ОС вместо одной, хранить пароли, и обновлять ОС;
  • в Whonix кнопка «New Identity» в Tor не работает. Дело в том, что Tor-браузер и сам Tor изолированы по разным машинам, следовательно, кнопка «New Identity» не имеет доступа к управлению Tor. Чтобы использовать новую цепочку узлов, нужно закрыть браузер, изменить цепочку с помощью Arm, панели управления Тор, аналога Vidalia в Tor Browser, и запустить браузер снова.

Проект Whonix развивается отдельно от проекта Tor и иных приложений, входящих в его состав, следовательно Whonix не защитит от уязвимостей в самой сети Tor или, например, 0-day-уязвимости в межсетевом экране, Iptables.

Безопасность работы Whonix можно описать цитатой из его wiki : «And no, Whonix does not claim to protect from very powerful adversaries, to be a perfectly secure system, to provide strong anonymity, or to provide protection from three-letter agencies or government surveillance and such ».
Если вас ищут ведомства «их трёх букв», вас найдут 🙂

Вопрос дружбы Tor и VPN - неоднозначный. Споры на форумах по этой теме не утихают. Я приведу некоторые наиболее интересные из них:

  1. раздел о Tor и VPN с официальной страницы проекта Tor;
  2. раздел форума дистрибутива Tails по проблеме VPN/Tor с мнениями разработчиков Tails. Сам форум сейчас уже закрыт, но Гугл сохранил кеш обсуждения ;
  3. раздел форума дистрибутива Liberte по проблеме VPN/Tor с мнениями разработчиков Liberte.

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

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

Всем привет!

Вот мы и дошли до более интересных вещей. В этой статье мы рассмотрим варианты комбинирования Tor с VPN/SSH/Proxy.
Для краткости далее я буду писать везде VPN, ведь вы все - молодцы и уже знаете плюсы и минусы VPN, SSH, Proxy, которые мы изучили ранее и .
Мы рассмотрим два варианта подключений:

  • сначала VPN, потом Tor;
  • сначала Tor, а потом VPN.
Также я расскажу про дистрибутив ОС Whonix, реализующий самые передовые достижения в области сетевой анонимности, ведь в нём, помимо всего прочего, настроены и работают обе анализируемые схемы.
Предыдущие части здесь:
Часть 1: .
Часть 2: .
Часть 3: .

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


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

Стоит отметить, что специально для обхода запрета Tor интернет-провайдерами придумали так называемые bridges (мосты).
Мосты – это такие узлы сети Tor, которые не занесены в центральный каталог Tor, то есть не видны, например, или , а, следовательно, труднее обнаруживаются.
Как настроить мосты, подробно написано .
Несколько мостов может дать нам сам сайт Tor по адресу .
Можно также получить адреса мостов по почте, отправив на адрес [email protected] или [email protected] письмо с текстом: «get bridges». Обязательно отправлять это письмо с почты от gmail.com или yahoo.com
В ответ мы получим письмо с их адресами:
«Here are your bridge relays:
bridge 60.16.182.53:9001
bridge 87.237.118.139:444
bridge 60.63.97.221:443
»
Эти адреса нужно будет указать в настройках Vidalia – прокси-сервера Tor.
Иногда происходит так, что и мосты блокируются. Для обхода этого в Tor введены так называемые «obfuscated bridges». Не вдаваясь в подробности, их труднее обнаружить. Чтобы к ним подключиться, надо, например, скачать, Pluggable Transports Tor Browser Bundle .

Плюсы схемы:

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


Подобная схема подключения может использоваться для обхода блокировки узлов Tor внешними ресурсами, плюс она должна защитить наш траффик от прослушивания на выходном узле Tor.
Существует немало технических сложностей в установлении такого подключения, например, вы же помните, что цепочка Tor обновляется раз в 10 минут или то, что Tor не пропускает UDP? Самый жизнеспособный вариант практической реализации это использование двух виртуальных машин (об этом чуть ниже).
Важно также отметить, что любой выходной узел легко выделит клиента в общем потоке, так как большинство пользователей идут на разные ресурсы, а при использовании подобной схемы клиент идёт всегда на один и тот же VPN-сервер.
Естественно, что использование обычных прокси-серверов после Tor не имеет особого смысла, так как траффик до прокси не шифруется.

Плюсы схемы:

  • защита от прослушивания траффика на выходном узле Tor, однако сами разработчики Tor рекомендуют использовать шифрование на прикладном уровне, например, https;
  • защита от блокирования адресов Tor внешними ресурсами.
Минусы схемы:
  • сложная реализация схемы;
  • мы должны доверять выходному VPN-серверу.
Концепция Whonix
Существует множество дистрибутивов ОС, основной целью которых является обеспечение анонимности и защиты клиента в Интернете, например, Tails и Liberte и другие. Однако наиболее технологичным, постоянно развивающимся и эффективным решением, реализующим самые передовые техники по обеспечению безопасности и анонимности, является дистрибутив ОС .
Дистрибутив состоит из двух виртуальных машин Debian на VirtualBox, одна из которых является шлюзом, отправляющим весь траффик в сеть Tor, а другая – изолированной рабочей станцией, подключающейся только к шлюзу. Whonix реализует в себе механизм так называемого изолирующего прокси-сервера. Существует также вариант физического разделения шлюза и рабочей станции.

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


ОС Whonix, как утверждают разработчики, успешно прошла все возможные тесты на утечки . Даже такие приложения как Skype, BitTorrent, Flash, Java, известные своими особенностями выходить в открытый Интернет в обход Tor, также были успешно протестированы на предмет отсутствия утечек деанонимизирующих данных.
ОС Whonix реализует много полезных механизмов анонимности, я укажу наиболее важные:

  • весь траффик любых приложений идёт через сеть Tor;
  • для защиты от профилирования траффика ОС Whonix реализует концепцию изоляции потоков. Предустановленные в Whonix приложения настроены на использование отдельного Socks-порта, а так как каждый Socks-порт использует отдельную цепочку узлов в сети Tor, то профилирование невозможно;
  • обеспечивается безопасный хостинг сервисов «Tor Hidden services». Даже, если злоумышленник взломает web-сервер, то он не сможет украсть закрытый ключ «Hidden»-сервиса, так как ключ хранится на Whonix-шлюзе;
  • Whonix защищен от DNS-утечек, так как в своей архитектуре использует принцип изолированного прокси. Все DNS-запросы перенаправляются на DnsPort Tor’а;
  • Whonix поддерживает «obfuscated bridges», рассмотренные ранее;
  • применяется технология «Protocol-Leak-Protection and Fingerprinting-Protection». Это снижает риск идентификации клиента через создание цифрового отпечатка браузера или системы путем использования наиболее часто применяемых значений, например, имя пользователя – «user», временная зона – UTC и т.д.;
  • есть возможность туннелировать другие анонимные сети: Freenet, I2P, JAP, Retroshare через Tor, или работать с каждой такой сетью напрямую. Более подробные данные об особенностях таких подключений находятся по ссылке ;
  • важно отметить, что в Whonix протестированы, документированы и, главное, работают (!) все схемы комбинирования VPN/SSH/Proxy с Tor. Более подробную информацию об этом можно получить по ссылке ;
  • ОС Whonix – это полностью открытый проект, использующий свободное ПО.
Однако стоит отметить, что ОС Whonix имеет и свои недостатки:
  • более сложная настройка, чем Tails или Liberte;
  • требуются две виртуальные машины или отдельное физическое оборудование;
  • требует повышенного внимания к обслуживанию. Надо следить за тремя ОС вместо одной, хранить пароли, и обновлять ОС;
  • в Whonix кнопка «New Identity» в Tor не работает. Дело в том, что Tor-браузер и сам Tor изолированы по разным машинам, следовательно, кнопка «New Identity» не имеет доступа к управлению Tor. Чтобы использовать новую цепочку узлов, нужно закрыть браузер, изменить цепочку с помощью Arm, панели управления Тор, аналога Vidalia в Tor Browser, и запустить браузер снова.
Проект Whonix развивается отдельно от проекта Tor и иных приложений, входящих в его состав, следовательно Whonix не защитит от уязвимостей в самой сети Tor или, например, 0-day-уязвимости в межсетевом экране, Iptables.

Безопасность работы Whonix можно описать

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

Private Internet Access

Это наш любимый сервис, а судя по количеству наград, которые они собрали – и ваш тоже. PIA обеспечивает не только шифрование трафика, но и анонимизацию вкупе с отвязкой от регионального расположения. Вы можете выбрать выходной сервер из списка почти в 1000 штук (в 10 разных странах). PIA не хранит логи, не запрещает никакие протоколы и IP-адреса, и не хранит у себя информации о действиях пользователей. Также они поддерживают несколько методов авторизации, практически все операционки (мобильные и десктопные), а стоимость услуг начинается от $7 в месяц. Возможно подключение до пяти различных устройств.

TorGuard

Сервис предлагает на выбор разные типы серверов для разных типов действий. Сервера, поддерживающие торрент-протокол - для скачивания данных, сервера с шифрованием и анонимностью – для обеспечения безопасного и приватного посещения сети, и т.д. Особое внимание уделяется вопросу утечки DNS - они даже предлагают свой тест для проверок. Стоимость полного VPN сервиса начинается от $10/мес, а если вам нужны специализированные – они будут немного дешевле. У сервиса есть более 200 точек выхода в 18 странах, отсутствуют логи, и более того, они утверждают, что их сеть настроена таким образом, что они сами не имеют понятия, что их пользователи делают в данный момент. Также они поддерживают практически все операционки (мобильные и десктопные), а ещё они предлагают сервис зашифрованной электронной почты.

IPVanish VPN

Интересной особенностью сервиса является использование разделяемых ip-адресов. Благодаря этому действительно сложно установить, кто из пользователей чем занимается. Кроме того, у сервиса более ста выходных серверов в 47 разных странах и пользователь может выбирать выходной сервер, если ему, например, нужна конкретная страна. Софт поддерживает операционки OS X, Windows, Ubuntu, iOS и Android. В дополнение, сервис предоставляет настроечные утилиты, при помощи которых можно настраивать свой домашний роутер для работы с ним. Стоимость сервиса - $10/мес, и возможно подключение двух разных устройств, если они используют разные протоколы.

CyberGhost VPN

Сервис существует давно, и, как и остальные участники рейтинга, заявляет отсутствие логов и ограничений на типы протоколов и трафик. Сервис предлагает выбор из выходных серверов в 23 разных странах. Интересно, что сервис также предоставляет бесплатные услуги, и бесплатные пользователи не только могут пользоваться им без ограничений трафика, но даже и выбирать страну выходного сервера (бесплатный выбор состоит из 14 стран вместо 23, что тоже неплохо). Сервис поддерживает практически все операционки.
Единственное отличие бесплатных аккаунтов в том, что они отключаются через 3 часа работы и могут работать только с официальным клиентом. Стоимость услуги начинается с $7/мес, при необходимости подключения более чем одного устройства нужно будет доплатить.

Do-It-Yourself

Часть людей считает, что если нужно что-то сделать правильно, лучше это сделать самому; а те из них, кто достаточно подкован в вопросах IT, вполне могут сделать себе свой собственный VPN-сервер. Если вам не нужны выходные сервера в разных странах, вы можете организовать свой сервис с помощью OpenVPN или других вариантов с открытым кодом. Множество роутеров поддерживает протокол OpenVPN, а на другие можно ставить кастомные прошивки DD-WRT или Tomato. Такой вариант обеспечивает вам полный контроль над шифрованием, доступом и другими вопросами подключения.

Другие сервисы

Среди других сервисов можно отметить следующие:

Hideman VPN – кросс-платформенный, без ведения логов

Tunnelbear – среди прочего, предлагает аддон для браузеров

AirVPN – пожалуй, наиболее богатый возможностями сервис

VyprVPN – неплохой сервис, но они ведут логии активности пользователей

Mullvad – шведский провайдер, который для пущей анонимности принимает оплату в биткоинах. Стоимость услуг – 5 евро/мес, предоставляется выбор из четырёх стран для выходных серверов.

25% Private Internet Access
24% TorGuard
23% IPVanish
19% CyberGhost
09% DIY