Как создать собственный VPN-сервер за 1500 тенге в месяц

695

Все больше казахстанцев начинают использовать различные VPN-сервисы для того, чтобы обезопасить свои личные данные. VPN (Virtual private network) – виртуальная частная сеть, трафик внутри которой шифруется. Они используются для того, чтобы обойти блокировки тех или иных сайтов, а также для безопасного обмена данными в публичных сетях wi-fi в торговых центрах, гостиницах, кафе и других местах.    

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

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

В этой статье я расскажу, как развернуть пакет программного обеспечения Algo VPN на DigitalOcean (ссылка включает мой реферальный код). Мне нравится использовать DigitalOcean для этой цели, потому что он предлагает виртуальные частные серверные экземпляры всего за $5 в месяц. Кроме того, его мне легче использовать, чем AWS.

Обзор Algo VPN

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

Чтобы понять, почему его создатели считают, что Algo — лучшая альтернатива коммерческим VPN, пакету Streisand VPN и OpenVPN, прочитайте сообщение в блоге, в котором объявлен первый выпуск Algo. Как отмечено в сообщении: «Algo предназначен быть легким в настройке. Вы можете запустить его тогда, когда вам это нужно, и отключить его прежде, чем кто-нибудь сможет выяснить, через какой сервер вы прогоняете свой трафик».

Создание виртуального частного сервера DigitalOcean

Чтобы получить доступную в Интернете систему, в которой вы будете устанавливать программное обеспечение сервера Algo VPN, вы можете создать дроплет на DigitalOcean с Ubuntu 16.04 за несколько щелчков мыши.

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

После того, как новый хост будет активен, запишите общедоступный IP-адрес, который DigitalOcean будет назначать к нему и выполните авторизацию с помощью SSH. Затем запустите следующие команды внутри нового виртуального частного сервера, чтобы обновить свою ОС и установить основные требования к серверу Algo VPN:

apt-add-repository -y ppa:ansible/ansible
apt-get update -y
apt-get upgrade -y
apt-get install -y build-essential \
  libssl-dev \
  libffi-dev \
  python-dev \
  python-pip \
  python-setuptools \
  python-virtualenv

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

Установка программного обеспечения Algo VPN Server

Затем, получите последнее программное обеспечение сервера Algo VPN на вновь созданной дроплете и подготовьтесь к установке, выполнив следующие команды:

git clone https://github.com/trailofbits/algo
cd algo
python -m virtualenv env
source env/bin/activate
python -m pip install -U pip
python -m pip install -r requirements.txt

Настройте имя пользователя для людей, которые будут использовать VPN. Для этого используйте свой любимый текстовый редактор, такой как Nano или Vim, чтобы отредактировать файл config.cfg в каталоге ~ / algo:

vim config.cfg

Удалите строки, представляющие пользователей по умолчанию «dan» и «jack», и добавьте свой собственный (например, «john»), чтобы соответствующий раздел файла выглядел следующим образом:

users:
 - john

После сохранения файла и выхода из текстового редактора, выполните следующую команду в каталоге ~ / algo, чтобы установить программное обеспечение Algo:

./algo

При появлении запроса установщиком выберите вариант установки на существующий сервер Ubuntu 16.04.

При продолжении работы с установщиком в большинстве случаев все должно быть ОК с ответами по умолчанию за несколькими исключениями:

— Когда вас спросят об общедоступном IP-адресе сервера, введите IP-адрес, назначенный виртуальному частному серверу DigitalOcean при создании дроплета.

— Если вы планируете подключиться к VPN из клиентских систем Windows 10 или Linux, ответьте «Y» на соответствующий вопрос.

Предоставив ответы, дайте установщику несколько минут для выполнения своих задач. (Будьте терпеливы.) Как только процесс закончится, вы увидите сообщение «Поздравляем!», означающее, что ваш сервер Algo запущен.

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

Настройка VPN-клиентов

После того, как вы настроили услугу Algo VPN, следуйте инструкциям на веб-сайте Algo для  настройки VPN-клиент. Этапы для каждой ОС разные. К счастью, процесс настройки Algo генерирует файлы, которые позволяют вам сделать это с относительной легкостью. Файлы хранятся в ~ / algo / configs в подкаталоге, имя которого соответствует IP-адресу вашего сервера.

Например, чтобы настроить устройство iOS, перенесите файл своего пользователя Apple Profile с расширением .mobileconfig (например, john.mobileconfig) на устройство, затем откройте файл для его установки. Как только это будет сделано, вы можете перейти к настройкам> VPN на устройстве iOS, чтобы включить VPN, когда вы захотите его использовать. Если в какой-то момент вы хотите удалить этот профиль VPN, перейдите в раздел «Общие»> «Профиль».

Если вы настраиваете VPN-клиент в Windows 10, извлеките с сервера Algo файл своего пользователя с расширением .ps1 (например, windows_john.ps1). Затем откройте оболочку Administrator в системе Windows и выполните следующую команду из папки, в которую вы поместили эти файлы, скорректировав имя файла в соответствии с вашим именем:

powershell -ExecutionPolicy ByPass -File windows_john.ps1 -Add

При появлении запроса, укажите пароль p12, который установщик Algo отобразил в конце установки. Это приведет к импортированию соответствующей информации сертификата и подключению VPN. Чтобы подключиться к VPN-серверу, откройте «Настройки»> «Сеть и Интернет»> «VPN». Если вы хотите удалить запись VPN, используйте команду PowerShell выше, заменив «-Add» на «-Remove».

Дополнительно по Algo VPN

Прежде чем полагаться на VPN для защиты ваших данных в уязвимой среде, обязательно убедитесь, что сервис скрывает все необходимые аспекты вашего происхождения. Если он работает правильно, удаленный хост должен видеть IP-адрес ваших VPN-серверов, а не IP-адрес вашего VPN-клиента. Аналогично, ваш DNS-трафик должен направляться через туннель VPN, скрывая локально настроенный DNS-сервер вашего клиента. Один из способов проверить это — использовать whoer.net, сравнивая, какую информацию показывает сайт до и после активации вашего VPN-соединения. Также подтвердите, что нет утечки данных по IPv6; один из способов сделать это, подключившись к ipv6leak.com.

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

Когда вы используете свой сервер VPN Algo, противники могут начать отслеживать IP-адрес сервера и, в конечном счете, занести его в черный список. Поэтому рекомендуется периодически уничтожать этот дроплет DigitalOcean и создавать новый с нуля. Это не только изменяет IP-адрес сервера, но также гарантирует, что вы используете последнюю версию программного обеспечения VPN и его дополнений. К сожалению, после этого вам нужно будет переимпортировать профили клиентов VPN, чтобы они соответствовали IP-адресу и данным сертификата нового сервера.

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