Amnezia: всё будет забыто

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

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

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

image


Привет, хабровчане! Мы — небольшая команда, которая хочет внести вклад в обеспечение анонимности и приватности в интернете. Решение, которое мы создаем, не должно собирать и хранить данные о пользователях, должно быть безопасным, юзабельным, максимально простым в использовании, с удобным интерфейсом и приятным дизайном. Ранее мы участвовали в хакатоне Demhack, заняли первое место, а потом пошли в Privacy Accelerator, где и делаем этот продукт.

О проекте


Amnezia VPN — это бесплатный VPN-клиент с функционалом создания собственного сервера. В общих чертах: вы можете в клиент вбить реквизиты своего VPS, клиент подключится к нему по ssh, и настроит несколько Docker контейнеров с разными VPN сервисами.
На первом этапе у нас будут версии для Windows и macOS, а чуть позже — под Аndroid и iOS. Все результаты проекта будут опубликованы под одной из опенсорсных лицензий.

В клиенте можно выбрать режим использования: перенаправлять весь трафик через VPN сервер или осуществлять выборочную маршрутизацию (можно будет добавить IP-адрес или домен).
Пользователю необходимо будет только самостоятельно оплатить любой VPS любого провайдера (мы прорабатываем даже эту часть — создаём подробные пошаговые инструкции «Как купить VPS сервер») и наслаждаться своим собственным VPN-сервисом!

Дизайн и интерфейс


Мы хотим сделать продукт, максимально удобный для использования — никаких консолей для пользователей. Примерно это будет выглядеть вот так:
image

Фичи


Что планируется сделать на текущем этапе:

  • Серверная часть — это Docker контейнеры, никакого дополнительного компилируемого кода, только понятные скрипты.
  • Контейнер не будет использовать никакого постоянного хранилища, каждый раз при перезапуске инициализировать сервер заново. Это значит не будет никаких логов, не будет даже возможности их сохранять. При рестарте сервер генерирует новый корневой сертификат.
  • При каждом соединении клиент генерирует новую ключевую пару, отправляет на сервер запрос на подпись сертифката, получает подписанный сертификат, и подключается по нему. Никаких модных упрощений — типа сервер сам всё генерирует за клиента, клиент только скачивает сертификат.
  • Планируется поддержка нескольких протоколов (OpenVPN, ShadowSocks, WireGuard).
  • Планируем разобраться с утилитами obfs4, meek. Это утилиты, которые используются для маскировки трафика под обычный web-трафик. Как показали последние события в Беларуси, все популярные VPN-протоколы превращаются в тыкву в дни когда Интернет очень нужен.
  • Настраиваемая маршрутизация на стороне клиента. Предполагается 2 режима работы: загонять весь трафик в туннель или прописывать ip-адреса и домены ресурсов, для которых нужно гнать трафик через туннель (это очень удобно, если вам нужен обход блокировок только для пары сайтов).
  • У вас есть идеи или просто хотите помочь? You are welcome!

Предпосылки


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

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

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

И, конечно, мы сравнили наш проект с Outline VPN, созданном в инкубаторе Google. И мы видим проблемы Outline, которые нас очень досаждают:

  1. Outline собирает ip серверов — всегда.
  2. Outline может собирать логи — если вы настроите. https://support.getoutline.org/s/article/Data-collection
  3. Outline имеет только один протокол на борту.
  4. Outline можно автоматически установить только на DigitalOcean, Google Cloud, или Amazon, для остальных серверов нужна ручная установка — открыть консоль и вбить туда одну команду. Это непреодолимая задача для пользователей, не имеющих представления о консоли.
  5. Вы ведь догадываетесь, что везде, где есть след крупных компаний, там есть отслеживание?

image
Рис. 1. Ой! Outline VPN при каждом запуске пытается обновиться и отправляет уникальный параметр установки «x-user-staging-id» на сервер. Нини, они же не будут его использовать для отслеживания — это только для служебных технических целей. Подслушано через mitmproxy.

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

О нашем светлом будущем


А вы слышали, что закон, по которому будут шейпить трафик на неугодные ресурсы, медленно, но верно продвигается?

К чему всё это приведёт? Мы считаем, что борьба между теми, кто хочет всё заблокировать, и теми, кто хочет свободный интернет, только усилится. Это противостояние порождает всё более сложные технические решения, как с одной, так и с другой стороны. И, как нам кажется, это техническое противостояние может кардинально изменить интернет, привычки пользователей.

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

Опрос


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

Нам интересно:
Что вас устраивает/не устраивает в VPN-сервисе которым вы сейчас пользуетесь?
Почему вы ему доверяете или не доверяете? (Как вы понимаете, какому сервису можно доверять — рекомендации, источники и т. д.)

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

Спасибо всем, кто дочитал до конца!
Реализуем проект при поддержке:
PrivacyAccelerator
Теплица социальных технологий
Роскомсвобода

И ещё пара подробных опросов в конце.

© Habrahabr.ru