Какая самая большая страна по потреблению vpn
Перейти к содержимому

Какая самая большая страна по потреблению vpn

  • автор:

Повышение прозрачности инфраструктуры для защиты доступности VPN сервисов и обеспечения производительности приложений

Как показывают два основных сценария, для решения большинства проблем обеспечение прозрачности имеет решающее значение:

  • Быстрое обнаружение и устранение источника проблемы с производительностью, вызывающего замедление передачи трафика и формирование «бутылочного горлышка» при работе через шлюзы VPN.
  • Точное определение основной причины таймаутов доступа к приложениям – отсутствие пропускной способности или массовая DDoS-атака.

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

Беспрецедентная и непредвиденная пандемия COVID-19 побудила правительства по всему миру издать распоряжения о самоизоляции, вызвав внезапную массовую миграцию рабочей силы из корпоративных офисов в «офисы на дому». Теперь виртуальные частные сети (VPN) становятся жизненно важной возможностью подключения удаленных сотрудников, которые не способны работать без возможности соединения своих ноутбуков, планшетов, телефонов и рабочих станций с критически важными бизнес-приложениями.

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

Проблема

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

Рисунок 1: Сети VPN стали важным звеном получения удаленными сотрудниками доступа к корпоративным ресурсам для выполнения своей работы.

Решение, включающее nGeniusONE® Service Assurance и Arbor Edge Defense (AED), позволит специалистам по информационным технологиям и безопасности быстро найти основную причину проблемы. Рассматривается следующее:

  • Проблемы, способные повлиять на работу удаленного сотрудника, не всегда являются внутренними. Наличие правильных показателей, позволяющих увидеть потерю пакетов за пределами шлюза VPN, является важным индикатором проблем с производительностью за пределами предприятия, например, у поставщика облачных услуг. Например, когда InfiniStreamNG получает данные до и после шлюза VPN, можно увидеть потерю пакетов у «входной двери».
  • Когда потребности пользователей превышают возможности сети, сети VPN могут давать сбои. Такой же эффект могут давать DDoS-атаки, в частности атаки истощения ресурсов состояний TCP. Специалисты должны иметь возможность видеть и способность определять оба эти состояния.
  • Не весь трафик критичен для бизнеса, и ИТ-специалистам нужны показатели для анализа различных приложений и служб, составляющих проходящий через сеть VPN объем трафика. Получаемые показатели также помогают компаниям разрабатывать и формулировать политики удаленного доступа. Например, такая простая вещь, как постоянное информирование о том, какие приложения требуют, а какие не требуют доступа к VPN, дают положительный эффект.
  • Показатели трафика позволяют организациям принимать более обоснованные решения. Например, в случае обнаружения такого трафика, как потоковое воспроизведение музыки, телепередач или фильмов, ИТ-отдел может принять решение либо увеличить емкость VPN, либо реализовать стратегию раздельного туннелирования, что позволит разгрузить подобный Интернет-трафик и сократить потребление ресурсов корпоративной сети.
  • Отражаются ли ограничения емкости вашего шлюза VPN на производительности или снижение производительности происходит при более низком, чем ожидалось, уровне использования? Если это так, ИТ-специалистам необходимо увидеть и понять, что приводит к такому насыщению и что можно сделать для его снижения.
  • Возможности постоянного оповещения о DDoS-атаках и их смягчение означают, что ИТ-специалистам не нужно ждать уведомление от облачного провайдера.

Воздействие

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

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

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

Рисунок 2: Диаграмма сети, показывающая видимость для nGeniusONE и AED линий доступа в Интернет и сетей VPN, входящих в центр обработки данных.

Пример контроля производительности – защита пользовательского опыта при работе через VPN

Чтобы защитить качество обслуживания при подключении работающих удаленно сотрудников к центрам обработки данных и общении через VPN по каналам интернет-провайдера (ISP), организации внедряют решение nGeniusONE Service Assurance. Благодаря проведению мониторинга и анализа в режиме реального времени платформа nGeniusONE и устройства InfiniStreamNG® (ISNG) обеспечивают необходимую прозрачность, которая позволяет быстро определить источник проблемы для скорейшего решения восстановления качества обслуживания конечных пользователей – сотрудников, партнеров и клиентов.

Проблема

Для отслеживания активности на стороне интернет-провайдеров рекомендуется развернуть устройства ISNG и завернуть на этот коллектор трафик с обоих сторон от VPN шлюза, со стороны интернет-провайдера и из внутренних сегментов шлюза VPN (смотрите рисунок 2). При таком варианте развертывания платформа nGeniusONE способна:

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

Проводимый платформой nGeniusONE анализ использования полосы пропускания в течение времени покажет увеличение объема трафика из-за недавнего перехода сотрудников на работу из дома в соответствии с требованиями правительства. В этом случае ИТ-отдел будет отслеживать активность, чтобы понять, смогут ли каналы интернет-провайдера и сети VPN поддерживать увеличившийся объем трафика. В последнее время трафик VPN увеличился более чем вдвое по сравнению с объемом трафика до COVID-19, что в пиковые часы потенциально может приводить к превышению пропускной способности. Проводимый платформой nGeniusONE мониторинг позволяет выявлять ранние признаки проблем и подавать соответствующие предупреждения. К примеру, отбрасываемые пакеты могут быть признаком перегрузки и/или превышения полосы пропускания.

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

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

Например, если известно, что трафик VPN увеличился из-за роста количества домашних пользователи, и платформа nGeniusONE обнаружила проблему с отбрасыванием пакетов, ИТ-специалисты изучат тип трафика, проходящего через VPN. При резком увеличении трафика через VPN и переходом пользователей на удаленную работу подключенная к сети VPN платформа nGeniusONE позволит анализировать распределение трафика пользовательских приложений и определять, является ли этот трафик бизнес-трафиком. В обоих этих примерах компании настроили полносвязные виртуальные частные сети и не реализовали раздельное туннелирование. В одном случае было обнаружено, что 20% полосы пропускания потребляется YouTube (смотрите рисунок 3). В другом случае платформа nGeniusONE показала, что большая доля пропускной способности потребляется такими потоковыми сервисами музыки, телевидения и кино, как Netflix, Comcast и YouTube.

Рисунок 3: Обнаруженное платформой nGeniusONE использование приложений во времени и сегментированное по определенным URL-адресам, показывает высокий уровень использования сервиса YouTube через корпоративные сети VPN.

Решение

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

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

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

Пример ИБ защиты: Блокировка доступа к корпоративным ресурсам

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

Рисунок 4: Многовекторные DDoS-атаки лишают легитимных удаленных сотрудников возможности доступа к корпоративным ресурсам, эффективно препятствуя ведению бизнеса.

Существует два типа DDoS-атак, которые предназначены для воздействия на шлюз VPN:

  • Атака истощения ресурсов состояний TCP — Шлюз VPN является устройством с отслеживанием состояния (stateful). Это означает, что он должен контролировать все проходящие через него TCP-соединения. Контроль достигается за счет постоянного обновления имеющей конечные размеры таблицы состояний TCP. Атака истощения ресурсов состояний TCP (например, TCP SYN Flood) специально предназначена для заполнения таблицы состояний TCP поддельными TCP-соединениями. Когда такое происходит в шлюзе VPN, легитимные пользователи не могут пройти через шлюз к находящимся за ним корпоративным ресурсам. Другими словами, с точки зрения удаленных/домашних пользователей корпоративные ресурсы не работают.
  • Атака на сетевом уровне — Обычно этот тип DDoS-атаки имеет форму UDP-флуда и предназначен для загрузки сетевого интерфейса шлюза VPN. Обычно, пропускная способность интерфейса шлюза VPN меньше пропускной способности интернет-канала. Этот означает, что DDoS-атака не должна быть такой же большой, как интернет-канал, но достаточно большой для перегрузки сетевых интерфейсов шлюза VPN. Когда это происходит, легитимные пользователи не могут пройти через шлюз к находящимся за ним совместно используемым ресурсам, то есть снова с их точки зрения похоже, что корпоративные ресурсы не работают.

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

Когда шлюз VPN работает плохо или не работает, это может стать сетевой проблемой. В данном случае, возможно, будет сложно определить причину проблемы с помощью традиционных сетевых инструментов управления и устранения неполадок. Для решения потребуется интеллектуальная прозрачность поступающего на шлюз VPN сетевого трафика, которая даст возможность обнаружить аномалии, указывающие на DDoS-атаку. Требуемым решением является разработанная компанией NETSCOUT система защиты Arbor Edge Defense (AED). AED — это встроенное (или виртуальное) устройство безопасности, развертываемое на периметре сети между интернет-маршрутизатором и шлюзом/брандмауэром VPN. Поскольку система AED использует запатентованную масштабируемую технологию обработки пакетов без сохранения состояния (stateless), то не зависит от атак, которые могут повлиять на шлюз VPN.

Рисунок 5: В этом примере система AED обнаружила атаку TCP SYN Flood.

Устранение последствий

Обнаружения DDoS-атаки недостаточно. Для поддержания производительности удаленных сотрудников требуется остановить атаку до того, как она повлияет на доступность шлюза VPN. Когда система AED находится в состоянии активной блокировки, то может автоматически устранять обнаруженные DDoS-атаки. Помимо блокировки атак система AED предоставляет подробную информацию в реальном времени и после атаки, например, о её типе, размере, скорости, стране/IP-хостах источника атаки, протоколах и многом другом, что позволяет пользователю взаимодействовать и по мере необходимости изменять меры защиты.

Возможности AED показаны ниже на рисунке ниже.

Рисунок 6: В этом примере на верхней панели показано, что система AED блокирует атаку 800M UDP Flood, а на нижней панели предоставлена подробная информация об атаке.

Рисунок 7: Появление нескольких стран-источников указывает на то, что это поддельная атака, исходящая из ботнета.

Рисунок 8: В этом примере AED показывает заблокированные хосты, которые являются частью атаки, на выделенной области показано, как законные пользователи могут быть легко занесены в белый список.

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

Заключение

Такие незапланированные события, как пандемия COVID-19, демонстрируют важность обеспечения прозрачности системы для того, чтобы сотрудники использовали ресурсы корпоративных приложений из дома столь же стабильно и качественно, как и при работе в своих офисах. В данном случае речь идет о поддержании работы предприятий и удовлетворении пользователей за счет предоставления ИТ-отделу необходимых для этого информации и инструментов. В мире, который изменился почти в мгновение ока. Платформа nGeniusONE и система безопасности AED – необходимые решения, которые помогут специалистам достичь этих важнейших целей.

У Pornhub теперь есть собственный сервис VPN

Один из крупнейших в мире порнографических ресурсов Pornhub сегодня запустил свой собственный сервис VPN. Сервис совершенно бесплатный и доступен для Windows, macOS, Android и iOS.

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

У Pornhub теперь есть собственный сервис VPN

Сервис будет работать во всех странах, исключая ряд тех, с которыми у США есть определённые трудности. В частности, VPN не будет работать в Мьянме, Кубе, Иране, Северной Корее, Судане и Сирии. Также разработчики сообщают, что имеются сообщения о возможной блокировке сервиса в Саудовской Аравии, Египте и Китае.

Защищённые прокси — практичная альтернатива VPN

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

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

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

В чём различие между VPN и прокси?

VPN — это общее название технологий для объединения внутренних сетей на уровне сетевых пакетов или кадров через соединение, установленное поверх другой сети (чаще всего публичной).

Прокси — это серверное приложение, осуществляющее соединения или запросы от своего имени и сетевого адреса в пользу подключившегося к нему клиента, пересылая в результате ему все полученные данные.

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

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

Преимущества прокси

  1. В условиях реальной сети с потерями практическая скорость прокси зачастую выше, чем у VPN-решений. Это вызвано тем, что при проксировании TCP-соединений ретрансмиты на участках клиент-прокси и прокси-целевой узел происходят независимо. Прокси имеет свои TCP-буферы и кратковременные задержки ввода-вывода в обе стороны не сказываются на передаче с противоположной стороны. VPN же работает только на сетевом уровне (IP) и потерянные сегменты TCP будут пересылаться по всей длине пути от VPN-клиента до целевого сервера.
  2. Гибкость. Проще настроить избирательное проксирование. Использование прокси можно ограничить конкретными приложениями, в браузере — конкретными доменами. Можно использовать несколько разных прокси для разных адресов назначения одновременно.
  3. Трудно обнаружить с помощью DPI, в том числе DPI осуществляющими активные пробы. Однако, для этого необходима некоторая донастройка. В случае с прокси через TLS, такое соединение можно выдать за обычное HTTPS-соединение. В случае с VPN факт его использования виден даже пассивному DPI. Даже если это Wireguard.
  4. Нет целого класса проблем с внезапно прервавшимся VPN-соединением. В худшем сценарии VPN-соединение может прерваться и пользователь не заметит, что его трафик уже не защищён и/или он уже работает со своего «домашнего» IP-адреса. В случае с прокси такие проблемы исключены.
  5. Нет принципиальной возможности проводить атаки, пускающие трафик мимо VPN-туннеля. Пример такой проблемы.
  6. Не нужны высокие привилегии в системе ни для клиента прокси, ни для сервера. Это может быть весьма полезно в случаях, когда у Вас нет высоких прав в системе.

Требования к прокси

Выбирая для себя реализацию защищённого прокси-сервера, я отметил несколько критериев, которым она должна удовлетворять:

  1. Обязательное шифрование и защита целостности данных внутри соединения.
  2. Надёжная и проверенная криптография. Доморощенные криптопротоколы крайне нежелательны.
  3. Устойчивость к DPI, в том числе к активным пробам. В идеале протокол должен внешне выглядеть неотличимо от протоколов, к которым обычно не возникает претензий. Например, как HTTPS.
  4. Отсутствие мультиплексирования нескольких TCP-соединений внутри одного. Причина этого требования такова: нежелательно, чтобы скорость нескольких соединений была ограничена скоростью одного TCP-соединения. Кроме того, при мультиплексировании нескольких соединений внутри одного приостановка получения данных из одного внутреннего (подвергнутого мультиплексированию) соединения может застопорить все остальные на неопределённое время. Для этого достаточно, чтобы со стороны прокси-сервера ожидало отправки больше данных, чем суммарный размер буфер отправки клиента-демультиплексора и буфер приёма сокета у застопорившего приём приложения. В частности такого эффекта можно иногда добиться, начав качать большой файл через SSH SOCKS5 прокси ( ssh -ND 1080 ), и поставив скачивание на паузу. При неудачном стечении обстоятельств никакой трафик через туннель больше не будет принят. Более подробно о проблеме head-of-line blocking.
  5. Отсутствие привязки к поставщику или сервису.
Наименование Резюме
OpenSSH dynamic port forwarding ( ssh -ND 1080 ) Использует мультиплексирование: низкая скорость, задержки
shadowsocks Провал DPI
obfs4 По внешнему виду он удовлетворяет всем требованиям, но есть моменты, вызывающие сомнения

Особенности obfs4

В спецификации протокола obfs4 есть места, которые вызывают вопросы. В рукопожатии со стороны клиента используется номер часа от начала эпохи UNIX, который потом участвует в HMAC-подписи. Сервер, принимая такой пакет от клиента проверяет его, подставляя номер часа по своему времени. Если всё верно, то отвечает своей частью рукопожатия. Для борьбы с разбросом часов сервер должен ещё проверять предыдущий и следующий час.

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

Судя по всему, автор со временем осознал эту проблему и в коде obfs4 реализована защита от обнаружения через воспроизведение. В спецификации она нигде не описана.

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

Следующий момент, вызывающий сомнения это формат «кадра» с данными. Выглядит он следующий образом:

+------------+----------+--------+--------------+------------+------------+ | 2 bytes | 16 bytes | 1 byte | 2 bytes | (optional) | (optional) | | Frame len. | Tag | Type | Payload len. | Payload | Padding | +------------+----------+--------+--------------+------------+------------+ \_ Obfs. _/ \___________ NaCl secretbox (Poly1305/XSalsa20) ___________/

Первые два байта каждого кадра это длина пакета, гаммированная с ключом, который вычисляется от предыдущих ключей. Как он вычисляется ключ не столь важно, главное, что настоящая длина пакета подвергается операции побитового исключающего ИЛИ каким-то ключом. Это значит, что можно инвертировать бит в этой части данных и подмена не будет сразу замечена. Если инвертировать младший значащий бит этого поля, то длина кадра станет либо на единицу меньше истинной, либо на единицу больше. В первом случае это приведёт к сбросу соединения через небольшое случайное время из-за ошибки распаковки 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-сессий для удовлетворения поступающих запросов подключения с минимальной задержкой.

Порядок работы с ним такой же, как у ssh -ND 1080 : на стороне клиента запускается локальный SOCKS5-прокси, принимающий соединения и напрявляющий их в туннель через SSH-сервер.

Следует особо отметить ключевую особенность: никакого стороннего ПО не нужно устанавливать на сервер — rsp работает как ssh-клиент с обычным сервером OpenSSH. Сервером может быть любая unix-подобная операционная система, а так же Windows и Windows Server (в новых версиях OpenSSH теперь доступен в компонентах системы).

Приведу сравнение скорости через сервер в США:

OpenSSH rsp
Speedtest - OpenSSH Speedtest - rsp

SOCKS5 внутри TLS

В случае с TLS очевидным решением было бы использовать stunnel или аналогичную TLS-обёртку для TCP-соединений с SOCKS5-сервером. Это действительно вполне хорошо работает, но возникает следующая проблема: рукопожатие TLS для каждого нового соединения занимает дополнительное время и появляется заметная на глаз задержка при установлении новых соединений из браузера. Это несколько ухудшает комфорт при веб-серфинге.

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

  1. Pooling TLS Wrapper
  2. steady-tun
  • Связка из реверс-прокси haproxy и SOCKS5-прокси dante, настроенная на защиту от активных проб со стороны клиентов, не прошедших аутентификацию по сертификату: github.com/Snawoot/ptw/tree/master/docker_deploy
  • Мой форк go-socks5-proxy со встроенной поддержкой TLS: github.com/Snawoot/socks5-server

HTTP-прокси внутри TLS aka HTTPS-прокси

Есть небольшая путаница в отношении сочетания слов «HTTPS» и «прокси». Есть два понимания такого словосочетания:

  1. Обычный HTTP-прокси без шифрования, который поддерживает метод HTTP CONNECT и через который может успешно работать HTTPS.
  2. HTTP-прокси, принимающий TLS-соединения.

Примечательно, что ни в одном браузере нет простой возможности задать в настройках HTTPS-прокси через пользовательский интерфейс (то поле HTTPS-прокси, которое там есть, как раз относится к первому случаю). Но это не представляет собой большой трудности.

Поперебирав различные готовые варианты, я решил написать свой HTTP(S) прокси-сервер: dumbproxy.

Ключевой особенностью получившегося решения является то, что современные браузеры (Firefox и семейство Chrome, включая новый MS Edge) могут работать с ним без какого-либо дополнительного ПО на клиенте (см. руководство по настройке клиентов).

Следует отметить особенности реализации в отношении противодействия активным пробам со стороны DPI. HTTP-прокси легко распознать, подключившись к нему и осуществив попытку какого-либо запроса стороннего ресурса. Если прокси имеет авторизацию, то по стандарту он должен отвергнуть запрос с кодом 407, специфичным именно для HTTP-прокси, и предложить возможную схему для авторизации. Если прокси работает без авторизации, то он выполнит запрос, чем так же себя выдаст. Есть как минимум два способа решения этой проблемы (и оба они реализованы в dumbproxy).

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

Второй способ заключается в том, чтобы скрыть от неавторизованных клиентов код ответа 407, возвращая вместо него любой другой ответ с ошибкой. Это вызывает другую проблему: браузеры не смогут понять, что для прокси требуется авторизация. Даже если браузер имеет сохранённый логин и пароль для этого прокси, ответ 407 важен для определения схемы авторизации, по которой эти учётные данные должны быть отправлены (Basic, Digest и т. д.). Для этого нужно позволить прокси генерировать ответ 407 на секретный запрос, чтобы браузер мог запомнить схему авторизации. В качестве такого секретного запроса используется настраиваемый секретный домен (не обязательно реально существующий). По умолчанию этот режим выключен. Подробности можно посмотреть в разделе об аутентификации.

Заключение

Я пользуюсь этими решениями уже один год и в итоге они мне полностью заменили VPN, вместе с этим сняв все проблемы, с которыми сопряжено его использование.

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

P.S. Если вам важна анонимность вашего адреса в интернете, не забудьте выключить WebRTC в своём браузере. Провериться на утечки IP-адреса можно здесь.

Все в порядке, но.

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

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

Если это ваш частный компьютер и вы пытаетесь зайти на сайт, например, из дома — мы рекомендуем вам проверить ваш компьютер на наличие вирусов.

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

  • © 2005-2023, «4PDA». 4PDA® — зарегистрированный товарный знак.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *