Anonimity
November 4, 2024

AmneziaVPN - делаем свой VPN-сервер без всяких знаний

Дисклеймер

Данная статья носит образовательных характер. Описанные действия используемые с целью обхода блокировок к информационным ресурсам могут караться действующим законодательством. Автор призывает не нарушать закон и использовать полученную информацию исключительно в образовательных целях.

AmneziaVPN - что это за зверь

Изображение AmneziaVPN. Источник - GitHub разработчика.

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

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

Одним из решений, о котором я вам сегодня хотел бы рассказать - кросс-платформерное приложение AmneziaVPN.

На удивление, посмотрев в Telegram инфу по данной тулзе, не нашёл большого количества статей на счёт этой штуки, что очень зря.

Нет статей, но тема обсуждаемая.

И тут я не просто так решил начать именно с данной приложухи - ведь с помощью её вы сможете развернуть множество сервисов для обеспечения своей анонимности без знаний и навыков работы с Linux сервером. И это прекрасно.

Помимо этого AmneziaVPN поддерживает огромное количество VPN протоколов:

Список доступных протоколов и иных сервисов.

Кто хочет подробнее прочитать про VPN - можете изучить мою небольшую статью.

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

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

Делаем свой VPN-сервер

И так, первое с чего начнем - это традиционно с аренды VPS. Арендовываем Linux сервер, в моём случае Ubuntu 24.04:

Арендованный сервер

В принципе вы можете найти дешёвый вариант за например 500 рублей в месяц и спокойно оплачивать сервак. А если поделитесь со своими товарищами и друзьями сервисом - можете поделить деньги на оплату и пользоваться им за сущие копейки, не боясь блокировки со стороны провайдера.

Теперь скачаем последнюю версию AmneziaVPN. Сделать это можно разными способами:

  1. С оф. сайта - но может быть заблочен в вашей стране.
  2. Воспользовавшись зеркалом - на случай если оф. сайт заблочен.
  3. Скачать с GitHub - там же можно глянуть исходники приложения.

P. S. кстати можете почитать документацию (возможно потребуется VPN который мы щас сделаем).

Я буду ставить приложение на Kali, так как с виндой и андроидом думаю всё и так понятно.

Качаем установщик по ссылке.

Распаковываем из архивов наш файл установщика:

И запускаем командой: ./AmneziaVPN_Linux_Installer.bin

В открывшемся установщике жмем далее и вводим пароль от нашего аккаунта:

После установки приложения вводим в терминале команду: AmneziaVPN

Открывшееся приложение

В открывшемся приложении жмем на кнопку начала и попадаем в главное меню:

Здесь нам предлагается:

  1. Вставить купленный ключ на доступ к уже готовым VPN серверам от AmneziaVPN
  2. Подключиться к бесплатным и платным (если мы вставили ключ) серверам
  3. Развернуть свой VPN-сервер (то чем мы сейчас и займемся)
  4. Восстановить конфигурацию из резервной копии - на случай если у нас уже есть готовый сервер, и мы хотим перенести root-доступ на другое устройство
  5. Подключиться к другому VPN-серверу, не AmneziaVPN - здесь мы можем подключиться прямо в этом приложении ко множеству других VPN-сервисов с помощью конфигурационного файла.

И так, выбираем третий пункт - Self-Hosted VPN:

Self-Hosted VPN

Здесь нам нужно вбить данные, которые мы получили, когда арендовали VPS.

Если мы введем неверные данные, то нам выдаст ошибку:

Что ж, тут я решил пойти не стандартно, и вместо пользователя root создал отдельного пользователя vpn, добавив его в группу sudo. Вам этого делать не обязательно, просто вставьте данные которые вам пришли после аренды сервера.

Проверяем работоспособность с другим пользователем

После успешного подключения нам сразу предложат установить VPN-сервис:

  1. LOW - не проверял, вероятно установится что-то вроде OpenVPN сервера
  2. HIGH - здесь установится модифицированная версия WireGuard под названием AmneziaWG.
  3. Выбрать VPN протокол - вот на него то мы и нажимаем.

Здесь нам выпадает список всех доступных для установки VPN сервисов. Лично я рекомендую XRay и OpenVPN over Cloak как наиболее продвинутые технологии VPN, с имитацией живого web-трафика, защиты от активного зондирования.

Для примера выбираю XRay:

Здесь можем выбрать свой порт, на который будет установлен данный контейнер. Я оставлю тот что мне предложила прога и нажму install.

Теперь у нас пойдет процесс установки, а в терминале можно увидеть какие команды выполняются на сервере:

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

Это существенный недостаток, однако, давайте вернемся назад и укажем логин и пароль от root пользователя:

В этот раз у нас успешно запустился процесс установки, ждем окончания:

По окончании нас будет ждать такое окно:

Кнопка подключения подключит нас к VPN.

Кнопка поделиться даст нам возможность дать доступ нашим товарищам, при этом не давая доступ на администрирование сервером.

В настройках можем сделать резервную копию, а также доустановить другие сервисы на сервер

Для примера откроем первое окно Servers, выберем наш сервер и установим туда Tor сайт.

После установки можем зайти и получить ссылку на наш сайт в darknet:

Если что работает на WordPress. Заходим по ссылке и устанавливаем сайт:

В окне управления можем перезапустить наш сервер, удалить все сервисы со следами с нашего сервера, и удалить сервер из приложения (сам сервер останется):

Ну вот собственно и всё. VPN получен, остальные функции оставлю вам на самостоятельное изучение. Продукт годный и лично мне за его удобства очень понравился. Функции реализованы за счёт готовых docker контейнеров.

Тестируем на whoer.net наш vpn пока не добьемся желаемого результата. Для этого меняем доступные VPN-сервисы и VPS провайдеров, а также расположение сервера и настройку своей системы (или меняем систему в целом, например).

Выводы

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

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

Сервисы упакованы в docker контейнеры. Такая изоляция гарантирует дополнительную безопасность.

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

Благодарю за прочтение статьи.