Vpn и proxy в чем разница
Что такое VPN, Proxy, Tor? Разбор
Анонимность и конфиденциальность — это прекрасные понятия. Но в последнее время создается ощущение, что в сети оба понятия стили недостижимыми. Поэтому даже я, совсем не параноик периодически задумываюсь об инструментах, таких как VPN, Proxy и Tor. Вы наверняка слышали эти слова, а может быть даже регулярно пользуйтесь пользуетесь этими технологиями для сохранения анонимности, обхода блокировок, просмотра американского Netflix или банально для доступа к корпоративной сети.
Proxy
Среди троицы — VPN, Proxy, Tor — самая простая технология — это именно Proxy. С неё и начнём.
Proxy переводится с английского, как представитель, уполномоченный, посредник. Иными словами, прокси-сервер — это сервер-посредник.
Технология работает также просто как и звучит. Представьте, что ваш трафик в сети — это чемодан. Вы хотите доставить этот чемодан по определенному адресу, но не хотели бы делать это сами, раскрывая свое местоположение и имя. Поэтому вы нанимаете посредника, который сам доставит чемодан по нужному адресу не раскрывая вашу личность и настоящий адрес. Просто и удобно. Более того такие посредники достаточно многофункциональны и пригодятся не только для банального обеспечения конфиденциальности в сети:
Типы Proxy
Во-первых, сама по себе технология очень ограниченная. Прокси-серверы узкоспециализированы, поэтому на каждый тип интернет-соединения нужен свой тип прокси-сервера.
Например, для FTP-соединения (File Transfer Protocol) нужен FTP-прокси. Для HTTP и HTTPS также два отдельных HTTP- и HTTPS-прокси сервера.
Это серьёзное ограничение, поэтому еще есть отдельный тип прокси-серверов SOCKS-прокси.
Эта вариация протокола умеет работать с разными типами трафика. Но она работает медленнее, поэтому также подходит не для всех.
Безопасность Proxy
Но это половина беды. Все виды прокси объединяет главная, ключевая проблема — проблемы с безопасностью.
Потому как прокси-сервера дополнительно никак не шифруют трафик. То есть HTTP трафик вообще не будет никак шифроваться. А HTTPS будет зашифрован также как и при обычном интернет соединении: при помощи SSL-шифрования. А это огромная проблема. И чтобы представить масштаб трагедии, давайте вспомним аналогию с чемоданом.
Пользоваться прокси-сервером — это всё равно что передавать данные посреднику в чемодане без пароля. Делать такое можно только в случае если 100% доверяете посреднику. И конечно же стоит остерегаться бесплатных прокси-серверов с сомнительной репутацией. Ведь воспользоваться непроверенным бесплатным прокси, это все равно, что доверить доставить мешок бесплатному курьеру по объявлению на автобусной остановке.
Как же здорово, что во время блокировки Telegram мы все дружно пользовались проверенными надежными прокси. Так ведь?
Но есть технология, которая обладает большинством достоинств прокси и лишена большинства недостатков — это VPN или Virtual Private Network — виртуальная частная сеть.
Изначально эта технология задумывалась не как средство анонимизации трафика. Ее задачей было удаленно объединять компьютеры в единую сеть. Например, для доступа к локальной сети головного офиса из регионального филиала или из дома.
Принцип работы VPN похож на прокси. Трафик точно также, прежде чем попасть в интернет, сначала попадает на промежуточный сервер. Это с одной стороны позволяет вам, например, получить доступ к заблокированным ресурсам. Потому как для интернет провайдера, вы направляете запрос на VPN сервер, а не на запрещенный сайт.
С другой стороны, это позволяет вам сохранить анонимность, так как сайт, на который вы попали думает, что запрос пришел с IP-адреса VPN-сервера, а не вашего. Но прокси-серверы, делают по сути тоже самое, так в чем же тогда разница?
Ключевое отличие VPN от Proxy — это сквозное шифрование. Весь трафик проходящий через VPN-сервер защищен на всём пути от точки входа до точки выхода. А всё потому, что при включенном VPN между вашим устройством и VPN-сервером создается зашифрованный канал связи, который защищает все данные от хакерских атак.
Опять же если сравнивать с прокси, в первом случае мы передаем открытый чемодан с информацией посреднику, которого либо могут в любой момент обокрасть, либо он сам украдет данные. В случае VPN мы передаем данные по закрытому туннелю проникнуть в который крайне сложно. Более того VPN работает со всеми типами данных и шифрует вообще весь трафик со всех приложений, а не только трафик вашего браузера.
При этом в отличии от прокси, для работы VPN на вашем устройстве обязательно должен быть установлен VPN-клиент в виде отдельного приложения или расширения браузера.
Впрочем, поставить приложение для рядового пользователя куда проще, чем копаться в настройках прокси где-то в настройках браузера.
Бесплатные VPN-сервисы
Получается, что VPN во всем лучше прокси? Не всегда.
Дело в том, что не все VPN-сервисы одинаково полезны. Как и в случае с прокси, бесплатные VPN-сервисы не раз были пойманы в слежке за пользователями и продаже их данных.
Например, VPN-сервис Betternet, который насчитывал 38 миллионов пользователей использовал целых 14 библиотек для слежки за пользователями.
А сервис Hola продавал IP-адреса бесплатных пользователей злоумышленникам. То есть преступники могли использовать ваш IP-адрес для своих делишек.
SHADOWSOCKS
С другой стороны, не все прокси-сервисы плохие. Например, существует особый тип прокси, который называется Shadowsocks. По сути, это SOCKS-прокси на стероидах.
Тут есть и мощное шифрование, и скрытие трафика, и возможность обходить различные блокировки. Есть клиенты как для компьютера, так и для смартфона, позволяющие оставаться под защитой постоянно. А создана эта штука была нашим дружественным братским китайским народом с целью обхода великого китайского файерволла.
Отсюда и несколько приятных особенностей Shadowsocks. Например, для элегантного обхода блокировок, он умеет выборочно маскировать трафик. Вы сами выбираете что прятать, а что нет.
Например, находитесь вы в Китае и хотите проверь почту на Gmail, или свят-свят — посмотреть YouTube. Благодаря Shadowsocks, вы сможете сделать и это, и одновременно посещать сайты, доступные только из Китая.
В свою очередь, VPN-сервисы зашифровывают весь трафик, поэтому открыть сайты, доступные только в Китае, вы уже не сможете.
Но это не значит, что Shadowsocks лучше VPN. В отличие от VPN-сервисов, Shadowsocks не создан для защиты конфиденциальности и анонимности пользователя. При использовании Shadowsocks пакеты данных остаются без шифрования. Это сделано специально, чтобы ваши данные были больше похожи на обычный HTTPS-трафик и не вызывали подозрений. Поэтому Shadowsocks подходит только для обхода блокировок? но никак не для безопасности или подключения к корпоративной сети. В этом плане VPN — вне конкуренции. С поправкой на то, что пользоваться нужно только проверенными сервисами с хорошей репутацией.
И, наконец, самый хардкорный способ анонимизации в сети — Tor. Что это и правда ли, что Tor такой безопасный?
Tor расшифровывается как The Onion Router и он использует так называемую луковую маршрутизацию. Твои данные — это сердцевина луковицы, а их защита — слои вокруг. Что это значит?
Для анонимизации Tor, также как прокси и VPN, пропускает трафик через промежуточные серверы. Но Только в случае с Tor их не один, а три, и называется они узлами.
А вот теперь смотрите, ваш трафик проходит через три узла:
Во-первых, чтобы скрыть ваш IP-адрес. Каждый узел знает IP-адрес только узла, который стоит в цепочке перед. Поэтому пока ваш трафик дойдет до третьего узла, исходный IP потеяется.
Во-вторых, ваш трафик обернут в три слоя защиты. Поэтому первый и второй узел не видят вашего трафика, они только снимают слои защиты как, как кожуру с луковицы, а вот достает сердцевину и отправляет запрос в интернет только третий выходной узел.
Эти узлы разворачивают сами пользователи сети на своих компах. Чем больше пользователей, тем безопасней и тем быстрее работает сеть.
А доступ к сети осуществляется через специальный браузер Tor Browser, основанный на Firefox. Его улучшили дополнениями, запрещающими сайтам следить за тобой. Например браузер умеет отличать все скрипты на сайтах, фактически запрещая собирать любые данные пользователя, или заставляет сайты принудительно использовать шифрование. Звучит очень безопасно, но на практике, это не так.
Во-первых, Tor очень не любят правоохранительные органы, а сам факт использования Tor легко отследить. Поэтому, просто используя Tor Browser, вы уже можете привлечь лишнее внимание. Иными словами лучше использовать Tor в связке с VPN.
Во-вторых, владельцы выходных узлов очень рискуют. Ведь именно они несут ответственность за все действия, которые совершают пользователи сети.
В-третьих, те же владельцы выходных узлов видят весь ваш трафик, а значит они могут отследить вас по косвенным признакам. Именно поэтому выходные узлы больше всего любят создавать сотрудники правоохранительных органов.
Более того, из-за многослойного шифрования сеть Tor работает очень медленно, половина сайтов прост отказывается корректно работать через Tor Browser.
Итоги
Что в сухом остатке? Если вы беспокоитесь за свою безопасность в сети, то самым оптимальным способом защиты будет VPN. Но не забывайте, что использовать надо только надежные VPN-сервисы с хорошей репутацией. Часто информацию о надёжности того или иного сервиса можно найти в интернете, в специальных статьях. Также помните, что хороший VPN может стоить денег, вернее его создатели могут брать за его использования какую-либо сумму. Ведь бесплатный сыр бывает только в мышеловке.
Чем отличается VPN от прокси?
Использование VPN сервисов и прокси серверов стало распространённым явлением среди современных пользователей. С их помощью люди сохраняют анонимность при посещении сайтов и использовании программ, работают с мультиаккаунтами, а также обходят региональные ограничения на доступ к сайтам. Это происходит за счёт подмены IP адреса и сетевых сведений о пользователях, которые происходят при подключении к прокси или VPN. Пользователи постоянно сталкиваются с вопросом: «Чем же отличаются прокси от VPN?» Хотя их назначение сходно, принцип работы отличается.
Особенности подключения через VPN
Однако, при подключении к VPN, все пользователи используют единый IP адрес. По этой причине несложно установить, что вы используете подключение через VPN, делая его пригодным для интернет сёрфинга и сохранения анонимности, но бесполезным для работы с мультиаккаунтами и некоторыми программами, поскольку все аккаунты, работающие с одного VPN будут обнаружены и заблокированы.
Как правило, подключение к ВПН осуществляется при помощи расширений для браузера или отдельных приложений, что упрощает подключение и даёт возможность быстро менять страну, через которую вы хотите получить доступ к сайтам.
Минусом является то, что качественный VPN сервис стоит денег, более того, он намного дороже прокси сервера. Также использование VPN в браузере создаёт сильную нагрузку на ваш интернет, замедляя скорость соединения, и, соответственно, скорость загрузки страниц. Да и работу VPN на ПК назвать стабильной, поскольку при его использовании регулярно случаются сбои и неполадки, что вынуждает регулярно перезапускать программу, браузер или расширение.
Особенности подключения через прокси.
Для прокси не потребуется использование специализированных программ и приложений, поскольку подключение через прокси предусмотрена в самой ОС, программе или браузере. Для доступа необходим только IP адрес прокси, порт, а также логин и пароль, если используется аутентификация. Также степень анонимности прокси напрямую зависит от типа вашего подключения к прокси. Оно может быть не анонимным, анонимным и даже зашифрованным, если используется соответствующий протокол.
Помимо этого, подключение через прокси быстрее и стабильней, чем подключение через VPN, поскольку прокси, предназначены для индивидуального использования. Прокси стоят дешевле, чем VPN, да и при приобретении доступен выбор необходимого типа подключения, чтобы приспособить прокси под индивидуальные потребности каждого пользователя.
По сравнению с VPN, прокси также имеют недостатки. Например, скорость соединения зависит от удалённости прокси сервера, поэтому важно правильно подобрать гео прокси. Настраивать прокси слегка сложней, ч, да и быстро сменить страну, как в VPN у вас не получится, поскольку для этого потребуется приобретение другого прокси сервера.
VPN или прокси?
Если вы всё же решили купить анонимный веб прокси, то сделать это можно на нашем сайте. Оформите заказ, выберите необходимый вам тип подключения и активируйте его в личном кабинете. В случае возникновения проблем, мы обеспечим вас круглосуточной поддержкой, а также поможем подобрать подходящий тариф, если вы испытываете затруднения. Выбирайте наш сервис, мы всегда рады новым клиентам!
В чем разница между VPN и прокси?
VPN обеспечивает защищенное сетевое подключение, передавая данные через зашифрованный туннель, чтобы никто другой не смог отследить или перехватить конфиденциальную информацию. Его основная цель состоит в том, чтобы скрыть личность пользователя и его местоположение в интернете. В этом процессе используются протоколы виртуального туннелирования и шифрование трафика. VPN использует различные протоколы шифрования, такие как OpenVPN, IPSec, L2TP, PPTP, SSTP, которые играют здесь важную роль.
VPN приходит на помощь, когда вам необходимо разблокировать веб-сайты с ограниченным доступом или обойти интернет цензуру. Он полностью защищает вашу интернет-активность, идентичность, загрузки и текущее местоположение, шифруя передаваемую информацию, а затем перенаправляя ее через собственные удаленные серверы.
Прокси — это не что иное, как компьютерная система, действующая в качестве хаба между сервером, который используется для запроса услуги у пользователя, и конечным устройством, которое может быть ноутбуком или компьютером. Большинство интернет-запросов обрабатывается с помощью прокси-серверов. Это позволяет пользователю подключиться через один из этих серверов. Пользовательские запросы посылаются на прокси-сервер через хост-компьютер, который, в свою очередь, обрабатывает запрос и, наконец, посылает соответствующий результат обратно пользователю. Основным преимуществом использования прокси-сервера является его кэш-функция. Если он обнаруживает, что конкретный сайт часто запрашивается, то сохранит его в кэше прокси-сервера, чтобы уменьшить время отклика для пользователя.
Теперь рассмотрим типы прокси-серверов:
Основные различия между прокси и VPN
Как прокси-сервер, так и VPN-серверы используются для скрытия личности пользователя и спуфинга геоположения. Но и те, и другие сильно отличаются друг от друга.
Проще говоря, если пользователь хочет выполнить простые задачи, такие как просмотр заблокированного сериала, то лучшим вариантом будет использование прокси-серверов. А для задач, где требуется безопасное и надежное соединение, например, интернет-банкинг, больше подойдет VPN.
На видео: Какая разница между VPN и прокси? Рассмотрим детально
Чем отличается прокси-сервер от VPN
Прокси-сервер подключает вас к удаленному компьютеру, и VPN соединяет вас с удаленным компьютером. Раз они выполняют похожие функции, значит, они одинаковы? Не совсем. Давайте посмотрим, когда вы можете использовать их, и почему прокси-серверы являются плохой заменой VPN.
Выбор правильного инструмента критически важен
Практически раз в две недели где-нибудь публикуется большая новость о шифровании, утечке данных, отслеживании или других проблемах с цифровой конфиденциальностью. Многие из этих статей говорят о важности повышения безопасности вашего интернет-соединения, например, при использовании виртуальной частной сети (VPN), когда вы находитесь в общественном кафе Wi-Fi, но они часто освещены в деталях. Как точно прокси-серверы и VPN-соединения, о которых мы постоянно слышим, действительно работают? Если вы собираетесь вкладывать время и энергию в повышение безопасности, вы хотите быть уверены, что выбрали правильный инструмент для правильной работы.
Хотя они принципиально отличаются друг от друга, VPN и прокси имеют одну общую черту: они оба позволяют вам выглядеть так, как будто вы подключаетесь к Интернету из другого места. Однако, как они выполняют эту задачу, и степень, в которой они предлагают конфиденциальность, шифрование и другие функции, изменяется весьма дико.
Прокси скрывает ваш IP-адрес
Прокси-сервер — это сервер, который действует как посредник в потоке вашего интернет-трафика, так что ваши действия в Интернете, похоже, происходят откуда-то еще. Скажем, например, вы физически расположены в Нью-Йорке, и вы хотите войти на веб-сайт, который географически ограничен только людьми, расположенными в Соединенном Королевстве. Вы можете подключиться к прокси-серверу, расположенному в Великобритании, затем подключиться к этому веб-сайту. Трафик из вашего веб-браузера, похоже, исходит из удаленного компьютера, а не из вашего собственного.
Прокси-серверы отлично подходят для задач с низкими ставками, таких как просмотр видео с ограниченным доступом к региону, обход простых фильтров контента или обход ограничений на услуги на основе IP.
Например: несколько человек в нашей семье играют в онлайн-игру, где вы получаете ежедневный бонус в игре для голосования за игровой сервер на веб-сайте ранжирования серверов. Тем не менее, рейтинговый сайт имеет политику «один голос за IP» независимо от того, используются ли разные имена игроков. Благодаря прокси-серверам каждый человек может зарегистрировать свой голос и получить бонус в игре, потому что веб-браузер каждого человека, похоже, поступает с другого IP-адреса.
С другой стороны, прокси-серверы не так хороши для задач с высокими ставками. Прокси-серверы скрывают ваш IP-адрес и действуют как немой человек в середине для вашего интернет-трафика. Они не шифруют ваш трафик между вашим компьютером и прокси-сервером, они обычно не удаляют идентификационную информацию из ваших передач за пределы простой замены IP-адресов, и нет никаких дополнительных соображений конфиденциальности или безопасности.
Любой, у кого есть доступ к потоку данных (ваш интернет-провайдер, ваше правительство, парень, обнюхивающий трафик Wi-Fi в аэропорту и т. Д.), Может отслеживать ваш трафик. Кроме того, некоторые эксплойты, такие как вредоносные элементы Flash или JavaScript в вашем веб-браузере, могут показать вашу истинную личность. Это делает прокси-серверы непригодными для серьезных задач, таких как предотвращение кражи ваших данных злоумышленником злонамеренного Wi-Fi.
Наконец, соединения прокси-сервера настраиваются по отдельности, а не по всему компьютеру. Вы не настраиваете весь свой компьютер для подключения к прокси-серверу — вы настраиваете свой веб-браузер, клиент BitTorrent или другое прокси-совместимое приложение. Это здорово, если вы просто хотите, чтобы одно приложение подключалось к прокси-серверу (например, наша вышеупомянутая схема голосования), но не настолько велика, если вы хотите перенаправить свое интернет-соединение.
Двумя наиболее распространенными прокси-серверными протоколами являются HTTP и SOCKS.
Прокси HTTP
Самый старый тип прокси-сервера, HTTP-прокси разработаны специально для веб-трафика. Вы подключаете прокси-сервер в конфигурационный файл вашего веб-браузера (или используете расширение браузера, если ваш браузер не поддерживает прокси-серверы), и весь ваш веб-трафик маршрутизируется через удаленный прокси-сервер.
Если вы используете HTTP-прокси для подключения к любому типу конфиденциальной службы, например, к вашей электронной почте или банку, важно использовать браузер с включенным SSL и подключиться к веб-сайту, поддерживающему шифрование SSL. Как мы уже отмечали выше, прокси не шифруют какой-либо трафик, поэтому единственное шифрование, которое вы получаете при их использовании, — это шифрование, которое вы предоставляете сами.
Прокси SOCKS
Прокси-система SOCKS является полезным расширением прокси-системы HTTP в том, что SOCKS безразлична к типу трафика, который проходит через него.
Если HTTP-прокси могут обрабатывать только веб-трафик, сервер SOCKS будет просто передавать любой трафик, который он получает, будь то трафик для веб-сервера, FTP-сервера или клиента BitTorrent.
Недостатком прокси SOCKS является то, что они медленнее, чем чистые HTTP-прокси, поскольку у них больше накладных расходов и, подобно HTTP-прокси, они не имеют шифрования, кроме того, что вы лично применяете к данному соединению.
Виртуальные Приватные Сети шифруют ваше соединение
Виртуальные частные сети, такие как прокси, делают ваш трафик похожим на удаленный IP-адрес. Но в этом и заключается сходство. VPN настроены на уровне операционной системы, а VPN-соединение фиксирует все сетевое подключение устройства, на котором оно настроено. Это означает, что в отличие от прокси-сервера, который просто выступает в роли сервера «человек-в-середине» для одного приложения (например, вашего веб-браузера или клиента BitTorrent), VPN будут захватывать трафик каждого отдельного приложения на вашем компьютере, от вашего веб-браузер для ваших онлайн-игр даже для Windows Update, работающего в фоновом режиме.
Кроме того, весь этот процесс проходит через сильно зашифрованный туннель между вашим компьютером и удаленной сетью. Это делает VPN-соединение самым идеальным решением для любого типа использования сетей с высокими ставками, когда проблема конфиденциальности или безопасности является проблемой. С помощью VPN ни ваш интернет-провайдер, ни другие сторонники отслеживания не могут получить доступ к передаче между вашим компьютером и VPN-сервером. Например, если вы путешествуете в чужой стране, и вы беспокоились о том, чтобы войти в ваши финансовые веб-сайты, электронную почту или даже безопасно подключиться к вашей домашней сети издалека, вы можете легко настроить свой ноутбук на использование VPN.
Даже если вы не находитесь в командировке в сельской Африке, вы все равно можете воспользоваться VPN. С включенной поддержкой VPN вам никогда не придется беспокоиться о плохой практике безопасности Wi-Fi сети в кафе или о том, что бесплатный интернет в вашем отеле заполнен дырками безопасности.
Хотя VPN являются фантастическими, они не лишены своих недостатков. Чтобы получить шифрование всего соединения, вы платите за деньги и вычислительную мощность. Запуск VPN требует хорошего оборудования и, как таковые, хорошие услуги VPN не бесплатны (хотя некоторые провайдеры предлагают очень ограниченный бесплатный пакет). Ожидайте заплатить хотя бы несколько долларов в месяц за надежную службу VPN.
Таким образом, прокси-серверы отлично подходят для скрытия вашей личности во время тривиальных задач (например, «прокрадывание» в другую страну, чтобы посмотреть спортивный матч), но когда дело доходит до более задач (например, защищая себя от отслеживания), вам нужна VPN.
Защищённые прокси — практичная альтернатива VPN
В интернете есть достаточное количество информации по теме шифрования и защиты трафика от вмешательств, однако сложился некоторый перекос в сторону различных VPN-технологий. Возможно, отчасти он вызван статьями VPN-сервисов, которые так или иначе утверждают о строгом превосходстве VPN-решений перед прокси. При этом многие решения тех же VPN-провайдеров, не смотря на маркетинговое позиционирование в качестве VPN, технически являются прокси.
На практике прокси больше подходят для повседневной защиты веб-трафика, не создавая при этом неудобств в виде заметной потери скорости и неизбирательности туннелирования. То есть при использовании хорошего прокси не стоит необходимость его отключать для комфортного пользования интернетом.
В этой статье расказано о преимуществах защищённого прокси перед VPN и предложены различные реализации, готовые к использованию.
В чём различие между VPN и прокси?
VPN — это общее название технологий для объединения внутренних сетей на уровне сетевых пакетов или кадров через соединение, установленное поверх другой сети (чаще всего публичной).
Прокси — это серверное приложение, осуществляющее соединения или запросы от своего имени и сетевого адреса в пользу подключившегося к нему клиента, пересылая в результате ему все полученные данные.
VPN осуществляет пересылку полезной нагрузки, находящейся на третьем или втором уровне сетевой модели OSI. Прокси осуществляют пересылку полезной нагрузки между четвёртым и седьмым уровнями сетевой модели OSI включительно.
И VPN, и прокси могут иметь или не иметь шифрования между клиентом и сервером. Обе технологии пригодны для того, чтобы направить трафик пользователя через доверенный сервер, применяя шифрование по пути до него. Однако, подключение через прокси делает это более прямолинейным способом, не привнося дополнительную инкапсуляцию сетевых пакетов, серые адреса самой VPN сети и изменения таблицы маршрутизации, которые привносит VPN просто лишь для того, чтобы сетевой стек системы пользователя направил трафик через нужный сервер.
Преимущества прокси
Требования к прокси
Выбирая для себя реализацию защищённого прокси-сервера, я отметил несколько критериев, которым она должна удовлетворять:
Особенности obfs4
В спецификации протокола obfs4 есть места, которые вызывают вопросы. В рукопожатии со стороны клиента используется номер часа от начала эпохи UNIX, который потом участвует в HMAC-подписи. Сервер, принимая такой пакет от клиента проверяет его, подставляя номер часа по своему времени. Если всё верно, то отвечает своей частью рукопожатия. Для борьбы с разбросом часов сервер должен ещё проверять предыдущий и следующий час.
Зная такое характерное поведение, можно проверить сервер на границе следующего и послеследующего часа, воспроизведя одно из прошлых записанных рукопожатий со стороны клиента. Если сервер перестанет отвечать своей частью рукопожатия в это самое время, то это достаточное основание, чтобы судить, что сервер обслуживает протокол obfs4.
Судя по всему, автор со временем осознал эту проблему и в коде obfs4 реализована защита от обнаружения через воспроизведение. В спецификации она нигде не описана.
Однако, такая защита наоборот упрощает работу по блокировке протокола: сетевому фильтру достаточно в случае сомнений задержать отправку рукопожатия от клиента, перехватив её, а затем отправить сообщение с рукопожатием первым. Таким образом он спровоцирует защиту от воспроизведения уже против клиента, вынуждая сам сервер блокировать клиента.
Следующий момент, вызывающий сомнения это формат «кадра» с данными. Выглядит он следующий образом:
Первые два байта каждого кадра это длина пакета, гаммированная с ключом, который вычисляется от предыдущих ключей. Как он вычисляется ключ не столь важно, главное, что настоящая длина пакета подвергается операции побитового исключающего ИЛИ каким-то ключом. Это значит, что можно инвертировать бит в этой части данных и подмена не будет сразу замечена. Если инвертировать младший значащий бит этого поля, то длина кадра станет либо на единицу меньше истинной, либо на единицу больше. В первом случае это приведёт к сбросу соединения через небольшое случайное время из-за ошибки распаковки NaCl secretbox.
Второй случай более интересный: сервер будет ждать ещё один байт для того, чтобы начать распаковку криптобокса. Получив ещё ровно один байт он также сбросит соединение из-за ошибки распаковки криптобокса. Это поведение можно считать специфичным для obfs4 и можно судить, что мы с высокой вероятностью имеем дело с ним. Таким образом, удачно разрушив одно из соединений клиента, можно с примерно 50%-ным шансом обнаружить obfs4.
Конечно, определение границ одного кадра в потоке тоже может представлять непростую задачу, но нет чётких гарантий, что нерешаемую. В случае обмена короткими сообщениями границы одного кадра могут совпасть с границами TCP-сегмента.
Ну и последняя особенность заключается в том, что сам по себе протокол внешне не похож ни на один из общепринятых. Он спроектирован с предположением, что DPI играет по правилам и незнакомые протоколы просто не трогает. Суровая реальность может показать, что это не так.
По всем этим соображениям я воздержался от использования obfs4.
TLS и SSH в качестве криптографического транспорта
Разумно было бы воспользоваться стандартными защищёнными сетевыми протоколами вроде TLS или SSH для обёртывания соединений с прокси. Действительно, к таким протоколам обычно не возникает претензий со стороны DPI, потому что ими может быть зашифрован легетимный трафик. Что же касается активных проб со стороны DPI, этот вопрос можно решить в частном порядке, в зависимости от конкретного протокола прокси.
Ниже будут представлены несколько готовых решений на базе этих протоколов, пригодных для повседневной постоянной защиты трафика.
SOCKS5 внутри SSH
Вариант с использованием функции dynamic port forwarding у OpenSSH рассматривался выше, но он имеет большие проблемы со скоростью. Единственный способ избавиться от мультиплексирования соединений — это использовать альтернативную реализацию клиента SSH, который обеспечивал бы каждое проксируемое соединение отдельной SSH-сессией.
Я проделал такую работу и реализовал его: Rapid SSH Proxy. Эта реализация обеспечивает каждое проксируемое соединение отдельной SSH-сессией, поддерживая пул подготовленных SSH-сессий для удовлетворения поступающих запросов подключения с минимальной задержкой.
Следует особо отметить ключевую особенность: никакого стороннего ПО не нужно устанавливать на сервер — rsp работает как ssh-клиент с обычным сервером OpenSSH. Сервером может быть любая unix-подобная операционная система, а так же Windows и Windows Server (в новых версиях OpenSSH теперь доступен в компонентах системы).
Приведу сравнение скорости через сервер в США:
SOCKS5 внутри TLS
В случае с TLS очевидным решением было бы использовать stunnel или аналогичную TLS-обёртку для TCP-соединений с SOCKS5-сервером. Это действительно вполне хорошо работает, но возникает следующая проблема: рукопожатие TLS для каждого нового соединения занимает дополнительное время и появляется заметная на глаз задержка при установлении новых соединений из браузера. Это несколько ухудшает комфорт при веб-серфинге.
Для того, чтобы скрыть эту задержку, я подготовил специализированную замену stunnel на клиенте, которая поддерживает пул уже установленных, готовых к запросу TLS-соединений. Даже целых два — первый из них послужил прототипом:
HTTP-прокси внутри TLS aka HTTPS-прокси
Есть небольшая путаница в отношении сочетания слов «HTTPS» и «прокси». Есть два понимания такого словосочетания:
Примечательно, что ни в одном браузере нет простой возможности задать в настройках HTTPS-прокси через пользовательский интерфейс (то поле HTTPS-прокси, которое там есть, как раз относится к первому случаю). Но это не представляет собой большой трудности.
Поперебирав различные готовые варианты, я решил написать свой HTTP(S) прокси-сервер: dumbproxy.
Ключевой особенностью получившегося решения является то, что современные браузеры (Firefox и семейство Chrome, включая новый MS Edge) могут работать с ним без какого-либо дополнительного ПО на клиенте (см. руководство по настройке клиентов).
Следует отметить особенности реализации в отношении противодействия активным пробам со стороны DPI. HTTP-прокси легко распознать, подключившись к нему и осуществив попытку какого-либо запроса стороннего ресурса. Если прокси имеет авторизацию, то по стандарту он должен отвергнуть запрос с кодом 407, специфичным именно для HTTP-прокси, и предложить возможную схему для авторизации. Если прокси работает без авторизации, то он выполнит запрос, чем так же себя выдаст. Есть как минимум два способа решения этой проблемы (и оба они реализованы в dumbproxy).
Первый способ заключается в том, чтобы использовать аутентификацию клиентов по сертификатам ещё на этапе TLS-рукопожатия. Это самый стойкий метод, и это действительно корректная причина, по которой любой обычный веб-сервер мог бы отвергнуть клиента.
Второй способ заключается в том, чтобы скрыть от неавторизованных клиентов код ответа 407, возвращая вместо него любой другой ответ с ошибкой. Это вызывает другую проблему: браузеры не смогут понять, что для прокси требуется авторизация. Даже если браузер имеет сохранённый логин и пароль для этого прокси, ответ 407 важен для определения схемы авторизации, по которой эти учётные данные должны быть отправлены (Basic, Digest и т. д.). Для этого нужно позволить прокси генерировать ответ 407 на секретный запрос, чтобы браузер мог запомнить схему авторизации. В качестве такого секретного запроса используется настраиваемый секретный домен (не обязательно реально существующий). По умолчанию этот режим выключен. Подробности можно посмотреть в разделе об аутентификации.
Заключение
Я пользуюсь этими решениями уже один год и в итоге они мне полностью заменили VPN, вместе с этим сняв все проблемы, с которыми сопряжено его использование.
Надеюсь, что эта статья добавит к арсеналу читателей новые подходы к защите трафика и будет им полезной.