НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН И (ИЛИ) РАСПРОСТРАНЕН ИНОСТРАННЫМ АГЕНТОМ «РОСКОМСВОБОДА» ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА «РОСКОМСВОБОДА». 18+

Рассказываем о том, как развивается self-hosted сервис для развёртывания собственной VPN. 

Amnezia VPN — простое и бесплатное приложение для запуска self‑hosted VPN (для самостоятельного развертывания VPN‑сервера) с высокими требованиями к приватности. Это приложение разработано на основе открытого исходного кода (не только клиентской, но и серверной части). По словам разработчиков, их решение позволяет получать доступ к заблокированному контенту, не раскрывая конфиденциальность даже провайдерам VPS (виртуального сервера) — благодаря отсутствию логирования и сбора различных метрик. Последний пункт зашифрован и в названии: AmneziaVPN — это сервис, который ничего «не помнит» о пользователях. Таким образом, продукт решает две задачи: помогает получить доступ к заблокированным ресурсам и при этом максимально сохраняет приватность пользователей.

Инструмент не является VPN‑сервисом, подчёркивают создатели проекта. Работает он следующим образом: необходимо указать IP‑адрес, логин и пароль виртуального сервера, и программа автоматически всё настроит для подключения через VPN.

«Вы не подключаетесь к нашим серверам и не платите нам ничего. Для подключения используете свой или приобретаете любой [сервер] VPS у любого провайдера. Приложение также бесплатное. Вы полностью контролируете свои данные. Приложение не собирает и не передаёт никакой статистики, логов и другой информации о пользователях и их данных», — поясняется на главной странице проекта.

Пришёл «просто так», но имел опыт по теме

Идея AmneziaVPN появилась на хакатоне Demhack осенью 2020 года. Организовывала его «Роскомсвобода» — первая российская общественная организация, называющая своей миссией защиту цифровых прав.

Основатель проекта — разработчик, эксперт в области VPN — Mazay Banzaev тогда пришёл на хакатон «просто так», увидев рекламу на «Хабре». Цифровыми правами он не интересовался, но думал о социальной значимости проекта — и делал его «как для себя». Для него было важно использовать в проекте эффективные инструменты для обхода блокировок и реализовать их простую установку. По его словам, в странах с очень высоким уровнем интернет-цензуры пользователям приходится постоянно искать рабочий коммерческий VPN или создавать свой VPN на базе виртуального сервера, что делает свободный интернет практически недоступным для десятков миллионов пользователей. 

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

До создания AmneziaVPN Mazay Banzaev занимался коммерческими VPN проектами в разных компаниях.

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

Менторы хакатона помогли Mazay Banzaev доработать идею. Вместе с ними он проанализировал аудиторию проекта и основные функции, которые необходимы сервису. Прежде всего разработчик рассмотрел достоинства и недостатки имеющихся на рынке решений (в частности, Outline) и пришёл к следующим выводам:

  • в клиентский софт часто встраивается код для сбора информации о компьютере или, хуже того, вредоносный код;

  • в коммерческих VPN нет анонимности (оплата чаще всего происходит банковской картой);

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

Вместе с тем Mazay Banzaev изучил и предложения по самостоятельной настройки VPN/Proxy. Такой подход обеспечивает высокий уровень приватности, но требует от пользователей глубоких знаний в области установки/настройки программного обеспечения. А значит, подобный сервис подойдёт не всем.

Нужен ли мне VPN-сервис и как его выбрать?

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

Решение должно было дать возможность:

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

  2. Повысить уровень анонимности и приватности пользователя. Для этого было решено добавить поддержку всех самых современных и проверенных VPN‑протоколов с открытым исходным кодом и надёжной системой шифрования, а также замаскировать DNS‑сервер, чтобы пользователя нельзя было отследить по DNS‑адресу. Кроме того, сам сервис AmneziaVPN не должен собирать никаких данных пользователей, включая логи и аналитику, и должен иметь открытый исходный код, который при желании мог бы проверить любой желающий.

Все это впоследствии удалось реализовать.

Почему «Роскомсвобода» защищает право на приватность?

Жюри оценило идею очень высоко — проект победил и получил финансирование на развитие open‑source разработки от двух НКО‑фондов.

Позднее Mazay Banzaev принял участие в Privacy Accelerator, где при поддержке менторов решал разные задачи, которые стоят перед стартапом, как с точки зрения технической разработки, так и с точки зрения маркетинга. Он разработал дальнейшую концепцию развития и снова получил экспертную поддержку по маркетингу, кастдеву и бизнес‑девелопменту, в том числе помощь с поиском финансирования.

В акселераторе Mazay Banzaev, помимо этого, закончил разработку юзер‑френдли клиентов для различных систем (Windows, Android, MacOS.), чтобы инструмент был удобным, бесплатным и понятным каждому.

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

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

«Проект находится на этапе разработки. Потом будет этап поддержки. Его развитие зависит не столько от наличия времени, сколько от наличия денег», — заключает Mazay Banzaev.

Соперник Outline?

Продуктов, подобных Amnezia VPN, не так много. Пожалуй, можно вспомнить только

Outline с возможностью создания персонального VPN. От Outline Amnezia VPN отличается двумя вещами: более простой настройкой и бóльшим количеством протоколов. К слову, простоту настройки символизировало и первоначальное название проекта VPN123 — «раз, два, три — и готово».

По поводу протоколов Mazay Banzaev поясняет следующее: «Amnezia VPN старается быть более устойчивой к блокировкам. Разные протоколы по‑разному блокируются. Поэтому их должно быть много».

Технические эксперты «Роскомсвободы», впрочем, отмечают, что Outline ещё будут дорабатывать и улучшать. Но сейчас проект использует Shadowsocks, который в будущем могут блокировать в России, и в плане self‑hosted VPN Amnezia действительно пока единственный относительно простой продукт на активной стадии развития.

На текущий момент Amnezia VPN использует большой набор стек протоколов (OpenVPN, WireGuard, ShadowSocks, Cloak). Проект работает с применением технологий с открытым исходным кодом, он также успешно прошёл аудит безопасности компании 7ASecurity. Это известный аудитор кода приложений, который качественно выискивает проблемы безопасности, отмечают технические специалисты «Роскомсвободы».

«Нахожу Amnezia VPN вполне эффективным и достигающим своих целей сервисом. Пользоваться им легко, а развивается он по мере сил: сказывается отсутствие финансирования», — отзывается о продукте один из его пользователей Илья, наблюдающий за развитием проекта с 2020 года.

Всё динамично и гибко

Изначально в команде был только один человек — сам Mazay Banzaev. Теперь — до 10 человек (преимущественно программисты), бóльшая часть которых часто меняется, поскольку у для каждой задачи выбирается человек с соответствующими компетенциями (например, разработать платформу для Windows, затем — для Apple). Текучка большая: за 2,5 года в команде сменилось 20–25 разработчиков.

«Задачи сложные. Я смотрю, кто подходит или не подходит проекту. Допустим, если человек может решить задачу только за полгода, ищу другого. Стартап вообще — про гибкость и динамичность», — комментирует Mazay Banzaev.

В ядре команды вместе с ним около пяти человек. Как постоянные сотрудники, так и фрилансеры, а также волонтёры занимаются в основном разработкой продукта. А вот с его продвижением помогают уже некоммерческие организации, такие как «Роскомсвобода» и «Теплица социальных технологий». Некоммерческие — потому что и сам проект некоммерческий и задачи по извлечению прибыли у него нет.

Стартап требует постоянной работы. «25 часов в сутки ты всегда на связи и без выходных. — шутит Mazay Banzaev. — Это как растить ребёнка: не бросишь же его после 19:00».

«Лучше бы проект никому не был нужен»

Раньше Mazay Banzaev участвовал и в других стартапах, но Amnezia VPN — его первый «выстреливший» проект. Набор проблем для каждого стартапа — разный, поэтому нельзя сделать инструкцию по запуску успешного продукта, рассуждает автор проекта. Однако в двух словах вызовы нового проекта описать всё же можно — это риск невостребованности и нехватка денег (модели монетизации как таковой у сервиса нет, финансовов помогают фонды и донаты).

Любопытно, печально (и вместе с тем логично), что в условиях текущей «военной спецоперации» решить эти проблемы стало легче: финансирование находится проще в силу востребованности продукта в кризисной ситуации. Эта востребованность вдохновляет Mazay Banzaev на работу:

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

Родившийся в пандемию, продукт, конечно же, оказался востребован во время «спецоперации», когда блокировок разных ресурсов становится всё больше, в том числе и блокировок самих средств обхода блокировок. Из-за этого с марта по ноябрь 2022 года аудитория проекта увеличилась в 5 раз.

Можно ли заблокировать VPN-сервисы?

А весной 2022 года, когда «Роскомсвобода» запустила петицию к VPN‑сервисам с призывом предоставить российским пользователям свободный доступ к услугам, AmneziaVPN создала ещё и телеграм‑бот Amnezia Free. Бот раздаёт бесплатный ограниченный VPN‑доступ к самым востребованным заблокированным ресурсам, генерируя профиль подключения для VPN клиента WireGuard. После этого активная аудитория проекта увеличилась до 150 тыс. скачиваний. Всего за год работы Amnezia Free скачали почти 300 тыс. раз, число же активных пользователей достигло порядка 250 тыс. человек.

«Amnezia — отличная технология VPN. Очень безопасная, если настроена правильно, и, скорее всего, остающаяся незамеченной российскими властями (что очень важно в нынешних условиях). Тем не менее она подразумевает селф‑хостинг, поэтому пользователь должен настраивать сервис „правильным“ способом, иначе появляются риски информационной безопасности. Во‑первых, для размещения VPN‑сервера следует использовать службу хостинга VPS за пределами российской юрисдикции. Во‑вторых, обеспечить безопасности самого VPS», — комментирует специалист по информационной безопасности международной организации по защите цифровых прав Access Now Густав Бьоркстен.

Сейчас сервис насчитывает 1 тысячу «звёзд» на Github и 100 тыс. десктопных загрузок. На PlayMarket — более 10 тыс. загрузок. Это не очень много (для сравнения, у Outline — 1 млн), но и проект пока «молодой».


С 29 сентября по 1 октября 2023 года состоится хакатон Demhack 7. Его главная тема — блокировки сайтов и VPN‑сервисов: их измерение, изучение, создание и развитие средств обхода. Приходите, чтобы дать начало своему собственному проекту! Регистрация открыта до 18 сентября 2023 года (включительно).

Комментарии (13)


  1. semmaxim
    14.09.2023 10:38

    С этой Amnezia проблем полно. Если кто поможет/подскажет - буду очень рад.

    Самое забавное, что нельзя просто так взять и включать её для определённых сайтов. Когда вводишь их название в список, то он пытается определить их ip-адрес и это приводит его к ip-адресу страницы блокирования провайдера. Т. е. нужно включить её для всех соединений, после чего узнать самому ip-адреса заблокированных сайтов (т. к. в режиме "включить для всего" редактирование списка не доступно), подготовить специальный файлик с домен-ip, выключить VPN и потом импортировать его в список. В результате вроде как будет корректный список домен-ip. Но оно у меня всё равно так и не заработало. Я устал ковыряться.

    На телефоне (android) оно у меня вообще так и не заработало. Просто висит бесконечно при попытке подключиться к серверу.


    1. ZetaTetra
      14.09.2023 10:38
      +2

      Если кто поможет/подскажет - буду очень рад.

      Тут можно вопрос задать: https://t.me/amnezia_vpn

      На телефоне (android) оно у меня вообще так и не заработало. Просто висит бесконечно при попытке подключиться к серверу.

      Я на нём сижу ещё со 2ой версии, где не было Android клиента, так у меня на андроиде стоит обычный Shadowsocks с Cloak плагином.
      Там по сути обычный OpenVPN, так что отдельное приложение надо только для облегчения подключения, но можно и ручками вбить сервак и credentials в удобное приложение.


    1. XOR2048
      14.09.2023 10:38
      +4

      Не работать на Android оно может по той причине, что на ПК используется версия 2.1.2 (тут косяк, так как ссылка на сайте как раз качает ее, а не 3.0.8) контейнеры которой не будут работать на версии 3.x (на Android последняя вроде бы 3.0.10), еще важно понимать, что не все протоколы работают на всех платформах (пока что), так, например, на Android или iOS не заведется OpenVPN over Shadowsocks (остальные протоколы должны работать на всех платформах).

      Чтобы завести OpenVPN over Cloak и на ПК и на Android, нужно установить 3.0.8 версию Amnezia и с нее настроить нужный вам протокол (либо с нуля, либо придется пройти шаги переустановки, то есть обновления уже установленных контейнеров).

      Десктопы поддерживают:

      • WireGuard

      • OpenVPN TCP/UDP

      • OpenVPN over Cloak

      • OpenVPN over Shadowsocks

      Смартфоны:

      • WireGuard

      • OpenVPN TCP/UDP

      • OpenVPN over Cloak


      1. semmaxim
        14.09.2023 10:38
        +2

        Огромное спасибо! Действительно, на десктопе была старая версия. После переустановки android подключился.

        P. S. Вообще, хорошо бы, чтобы это было понятнее. Чтобы версия на десктопе говорила, что она устарела. Чтобы при создании соединения сразу показывали, какие протоколы где поддерживаются. Эх, мечты...


      1. AleVaKa
        14.09.2023 10:38
        +1

        С версиями да, совсем зоопарк. В гитхабе уже 4 версия.


        1. XOR2048
          14.09.2023 10:38

          Официально она пока недоступна, а скорее на стадии открытого бета-тестирования, все таки новый UI будет.


    1. dartraiden
      14.09.2023 10:38
      +2

      Когда вводишь их название в список, то он пытается определить их ip-адрес и это приводит его к ip-адресу страницы блокирования провайдера.

      Судя по описанию проблемы, использование DoH/DoT вместо провайдерского DNS должно помочь.


      1. semmaxim
        14.09.2023 10:38

        Если бы я знал, что такое "DoH/DoT", я бы не использовал AmneziaVPN, а настроил бы всё вручную.


        1. dartraiden
          14.09.2023 10:38
          +2

          "Защищённый DNS" в сетевых настройках последних версиий Android.


  1. kuraga333
    14.09.2023 10:38

    Спасибо за материал!

    А кто-то понимает, белый список протоколов там используется или чёрный? Если "испортить" (например, XOR-нуть) payload Ethernet-фрейма, пропустят или заблокируется?


  1. UrsusMaritimus
    14.09.2023 10:38
    -5

    В отличие от того же outline, amnezia не показывает исходники. И что там под капотом, и кто, и в чьих интересах этот продукт предоставляет... И какие там могут быть закладки... Все это вызывает очень много вопросов.


    1. XOR2048
      14.09.2023 10:38
      +2

      Почему не показывает исходники?
      Вот ее GitHub, там лежит и весь код GUI и все скрипты, которые Amnezia VPN использует после подключения к серверу для установки Docker-контейнеров с протоколами, да даже новые разработки в виде AmneziaWG там лежат в открытом виде.

      Стоит напомнить, что Amnezia также проходила аудит безопасности от 7ASecurity (все обнаруженные проблемы с безопасностью были исправлены).

      Да и блин, в самом начале статьи ссылка на исходный код O_o

      Это приложение разработано на основе открытого исходного кода (не только клиентской, но и серверной части).


  1. Tim_L
    14.09.2023 10:38
    -2

    получил финансирование на развитие open‑source разработки от двух НКО‑фондов.

    Можно узнать, от каких фондов идёт финансирование данного проекта?