Безопасный веб: как настроить личный VPN-сервер

2.9k

0

К сожалению, в настоящее время власти некоторых государств всё больше пытаются ограничить свободу действий своих граждан в интернете. Также всё чаще слышно о скандалах, связанных с утечкой личных данных пользователей. Помочь и в том, и в другом случае помогают различные VPN-сервисы. Но, как показало недавнее исследование, практически все провайдеры, предоставляющие свои услуги как на бесплатной, так и на платной основе, всячески следят за пользователями. Даже если на сайте будет написано большими буквами, что ${serviceName} не собирает личных данных, это ещё ничего не значит. Кроме того, высока вероятность, что подобные сервисы могут быть заблокированы. И чем он популярнее, шансы увеличиваются в разы. Вдобавок, обилие рекламы и ограниченная скорость, особенно в бесплатных вариантах, могут хорошенько потрепать нервы.

Помочь в сложившейся ситуации сможет собственный VPN-сервер. Такое решение, пусть оно и кажется сложным на первый взгляд, поможет избавиться от вышеперечисленных проблем: никакой рекламы (если вы сами этого не захотите), не ведётся логирование, шансы быть заблокированным хоть и остаются, но они гораздо ниже. Кроме того, этот вариант гораздо безопаснее, конечно, если свой сервер правильно настроить. А в этом как-раз посодействует замечательный скрипт Streisand. Он позволяет использовать OpenSSH, OpenConnect, OpenVPN, Shadowsocks, sslh, Stunnel, Tor, WireGuard, а также UFW для настройки правил файервола и unattended-upgrades для автоматической установки обновлений, связанных с безопасностью. Более подробно о Streisand и что этот скрипт из себя представляет можно прочитать на Github-странице проекта.

personalvpn_streisandlogo.jpg

Но прежде чем приступать к поднятию своего VPN-сервера, нужно сначала этот самый сервер арендовать. Подходящее нам решение называется VPS — виртуальный частный сервер (Virtual Private server) — виртуальный компьютер, размещённый в облаке. Существует довольно много подобных сервисов. Среди них хочется выделить парочку, которые успели заслужить наше доверие: DigitalOcean и Scaleway. К тому же у них достаточно демократические цены.


Регистрация у хостинг-провайдера


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

DigitalOcean

Данный хостинг-провайдер, помимо надёжности и стабильности, интересен своей системой рефералов. Если зарегистрироваться по этой ссылке, вы получите сразу на счёт $10, которых хватит на два месяца работы. Для начала пользования сервисом нужно указать реквизиты кредитной/дебетовой карты или воспользоваться PayPal. Со счёта автоматически будет списано $5 за активацию аккаунта и первый месяц аренды.

Scaleway

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


Установка необходимого ПО


Windows

Для доступа к серверу через командную строку и генерации SSH-ключей на ПК под управлением ОС Windows понадобится следующее:

  1. Скачать утилиты PuTTY, Pageant и PuTTYgen с официального сайта.
  2. Запустить PuTTYgen и создать ключ следующим образом:
    Выбрать тип RSA 2048, нажать кнопку Generate и хаотично двигать курсором мыши в обозначенном поле. Когда процесс завершится, желательно добавить комментарий, чтобы не забыть, что это за ключ. Также придумать кодовую фразу (не обязательно, но забывать нельзя). Затем сохранить приватный (Private Key) и публичный (Public key) ключи. Кроме того, нужно скопировать и сохранить текст из верхнего поля, он пригодится при создании сервера.

Linux / macOS

Если вы пользователь Linux или macOS, то для генерации SSH-ключей потребуется:

  1. Ввести в терминале команду «ssh-keygen»
  2. После генерации ввести «cat ~/.ssh/id_rsa.pub»
  3. Выделить, скопировать и сохранить текст, который выведется в ответ.


Создание личного сервера


DigitalOcean

Теперь можно создать так называемый дроплет. Для этого нужно нажать кнопку Create a new Droplet.

Теперь нужно выбрать дистрибутив (Ubuntu 16.04 x64) и тарифный план сервера (тут выбор стоит за вами, но рекомендуем выбрать самый дешёвый тариф за $5 — этого хватит с головой).

personalvpn_dodist.jpg

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

personalvpn_doregion.jpg

Далее нажать на кнопку New SSH Key и вставить в поле текст, созданный в программе PuTTYgen.

В конце нажать на кнопку Create. Пройдёт немного времени и на почту придёт письмо с IP-адресом сервера, логином (root) и паролем.

Scaleway

После попадания в панель управления нужно нажать на кнопку Create Server для создания нового сервера.

Добавить SSH-ключ в в соответствующее поле на странице создания сервера либо в разделе Credentials, созданный в программе PuTTYgen и нажать на кнопку Use this SSH Key.

personalvpn_scalewayaddkey.jpg

Выбрать местоположение Амстердам (как правило, скорость до туда выше, чем в Париж) и тарифный план START1-XS (можно и больше, но смысла никакого для наших целей). В качестве дистрибутива установить Ubuntu Xenial.

personalvpn_scalewaycreateserver.jpg

В конце нажать на кнопку Launch server в правом нижнем углу.



Подключение к серверу


Windows

Чтоб подключиться к созданному серверу пользователям Windows понадобится:

  1. Запустить утилиту Pageant.
  2. В трее уведомлений нажать на иконку программы правой кнопкой мыши, выбрать Add Key, указать путь к файлу *.ppk, который был создан в программе PuTTYgen.
  3. Запустить PuTTy.
  4. В поле Host Name ввести root@IP-адрес и нажать на кнопку Open.
  5. В появившемся диалоговом окне с предупреждением выбрать Yes.
  6. Если всё сделано верно, вы подключитесь к своему серверу.

Linux / macOS

Пользователям Linux или macOS для подключения к созданному серверу нужно сделать следующее:

  1. В терминале ввести «ssh root@IP-адрес»
  2. При запросе ввести «yes» для подключения.
  3. Если всё сделано верно, вы подключитесь к своему серверу.


Подготовка к установке Streisand


Windows

После подключения к своему серверу нужно установить требуемые пакеты для продолжения. Для этого потребуется поочерёдно вводить команды в PuTTy (если вы вошли под именем пользователя, отличного от root, необходимо перед каждой командой вводить sudo):

  1. Создать SSH-ключи для Streisand
    «ssh-keygen»
  2. Обновить список пакетов и установить доступные обновления
    «apt update && apt upgrade -y»
  3. Установить Git
    «apt install git»
  4. Установить Python и зависимости
    «apt install python-paramiko python-pip python-pycurl python-dev build-essential»
  5. Установить Ansible
    «pip install ansible markupsafe»
  6. Клонировать ветку Streisand с Github и перейти в созданную папку
    «git clone https://github.com/jlund/streisand.git && cd streisand»
  7. Запустить Streisand
    «./streisand»
  8. Выбрать пункт localhost введя с клавиатуры цифру «7»

Linux / macOS

Пользователям Linux или macOS можно пойти немного иным путём и настроить сервер более правильным способом. Для этого перед подключением к серверу нужно обновить систему любым способом (а также установить Python версии 2.7, если в вашем дистрибутиве он не был установлен по умолчанию) и затем ввести в терминале следующие команды:

  1. Установить Git
    • На Debian или Ubuntu
      «sudo apt-get install git»
    • На macOS (с использованием Homebrew)
      brew install git
  2. Установить pip
    • На Debian и Ubuntu
      «sudo apt-get install python-paramiko python-pip python-pycurl python-dev build-essential»
    • На macOS
      sudo easy_install pip
      sudo pip install pycurl
  3. Установить Ansible
    • На macOS
      brew install ansible
  4. Клонировать ветку Streisand с Github и перейти в созданную папку
    «git clone https://github.com/StreisandEffect/streisand.git && cd streisand»
  5. Запустить Streisand
    «./streisand»
  6. Выбрать пункт Existing Server введя с клавиатуры цифру «8»
  7. Ввести IP-адрес сервера


Установка Streisand


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

  1. Подтвердить действие введя слово «streisand»
  2. Нажать Enter для настройки параметров установки
  3. Ещё раз нажать Enter для указания дефолтного пути к SSH-ключу (либо указать путь вручную)
  4. Указать желаемое количество профилей
  5. Следующие пункты можно оставлять установленными по умолчанию просто нажимая клавишу Enter либо прописывать «Yes» или «No» для явного указания параметров
  6. Во время выполнения вас попросят ввести ваши домен и e-mail. Делать этого не обязательно, поэтому можно пропустить данные шаги, нажав Enter

Теперь остаётся только дождаться окончания установки. По завершению в вашем дефолтном браузере откроется страница, где будет указан логин и пароль для доступа к Streisand на вашем сервере.

Теперь нужно перейти по адресу https://ip-адрес-сервера, ввести выданные имя пользователя и пароль. Браузер ругнётся на недействительный сертификат. Чтобы проигнорировать данное сообщение нужно (в Google Chrome, в других браузерах делается аналогичным образом) выбрать пункт «Дополнительно» и нажать на ссылку «Перейти на сайт X.X.X.X (небезопасно)». На открывшейся странице будет доступна информация по подключению к установленным сервисам (логины, пароли, файлы конфигураций и сертификатов, а также ссылки для скачивания различных клиентов для разных операционных систем), которые вы можете раздать своим родственникам, друзьям и знакомым.

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


Похожие посты

Регистрация прошла успешно