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

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

Я много рассказывал о безопасности 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, - это анонимность и защищенность передаваемых данных. Так ли это на самом деле? Давай разберемся.

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

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

Tor

Система Tor создавалась по федеральному заказу в Исследовательской лаборатории ВМС США. Позже исходный код был передан “в общее пользование” для ускорения развития системы. В результате было разработано клиент-серверное приложение с открытым кодом, работоспособность которого мог проверить любой.

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

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

Но, к сожалению, эта система не является панацеей и не способна на 100% защитить своих пользователей от вторжения в частную жизнь и дать им полную анонимность. Дело в том, что Tor скрывает cам факт связи между клиентом и сервером, но не обеспечивает полную защиту передаваемых данных так, как это, допустим, делает VPN.

Для 100%-ной безопасности требуется дополнительное шифрование как самих каналов связи (например, использования HTTPS при соединении с сайтами, OTR при общении в мессенджерах, PGP/GPG при пересылке электронных писем, FTPS при загрузке/выгрузке файлов, SSH/OpenSSH при организации удаленного доступа), так и передаваемых данных. Кроме того, Tor работает по протоколу SOKS, который поддерживается далеко не всеми приложениями, и наоборот - Tor поддерживает не все протоколы, которые используют популярные сервисы. Например, сеть не обеспечивает полную анонимность при использовании VoIP-сервисов и BitTorrent. Skype не будет по умолчанию корректно работать через Tor, а в браузере Tor по умолчанию деактивирован Flash, так как он может подключаться к удалённым серверам самостоятельно, выдавая таким образом данные о пользователе.

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

VPN

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

На сегодняшний день VPN является одним из самых надежных способов передачи данных благодаря тому, что в этой технологии реализован опыт двух серьезных компаний - Microsoft и Cisco. К примеру, совместная работа протокола РРТР (детище Microsoft) и GRE (продукт Cisco). А также еще более совершенный протокол L2TP и L2F- также являются разработками Microsoft и Cisco.

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

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

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

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

Итак, немного резюмируем.

  1. VPN соединяет вас с сервером, который вы сами выбрали, в нужной вам стране. Tor перебрасывает вас по разным серверам, расположенным в разных точках мира без вашего контроля над процессом.
  2. VPN скрывает ваше реальное местоположение и предоставляет новый IP-адрес - выбранного вами сервера. Tor скрывает ваш реальный IP и предоставляет случайный адрес последнего узла, к которому вы подсоединились.
  3. VPN шифрует ваши данные на всем пути до сервера и обратно. Tor посылает расшифрованные данные с последнего узла, к которому вы подключались, подвергая их риску.
  4. Выбирая для использования какой-либо VPN-клиент, вы доверяете свои данные конкретному VPN-провайдеру, поэтому должны быть в нем уверены. Выбирая Tor, вы, возможно, доверяете свои данные Американскому правительству и другим спонсорам проекта - спорно, но не исключено.
  5. VPN позволяет вам защищать переписку в VoIP-сервисах и пользоваться торрентами. Tor поможет, только если VoIP-приложение использует соответствующие протоколы.
  6. VPN может допускать утечку данных, если используются устаревшие технологии. Tor не может скрыть факт использования самого себя.
Таким образом, мы видим, что Tor и VPN имеют свои преимущества и недостатки и могут служить нам в разных ситуациях и для разных целей.

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

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

Примеров может быть масса.

Для максимальной защиты, если вы работаете с очень ценными данными, можно использовать связку Tor+VPN и не бояться никого и ничего:)

Я, допустим, пользуюсь Tor на компьютере, а на мобильных девайсах - . Также периодически для удобства подключаю в Google Chrome. Такая система меня пока не подводила.

Если мной не были учтены какие-либо преимущества или недостатки этих технологий - прошу в комментарии.

Похожие статьи