Статья Установка Algo VPN на площадке DO

  • Автор темы Автор темы Demi
  • Дата начала Дата начала
Как и обещал, пишу статью как развернуть VPN с помощью Algo на площадке DO (DigitalOcean)

Итак допустим у Вас есть учётка на DO, если нет идем (это рефералка, вам капнет 10$)
Заходим в Личный кабинет, и создаем свою первую виртуалку
1525038443619.png

Я выбираю минимальную конфигурацию она мне нужна на 20-25 минут для установки VPN сервера
Если Вы будите использовать для установки VPN сервера свою локальную машину можете этот шаг пропустить, и перейти к разделу установки Algo

Я оставляю все без изменений, опускаюсь в самый низ и нажимаем на кнопку Create
Видим что наша виртуалка создалась
1525039029966.png
Копируем ее IP и пароль берем с нашей почты, и логинимся на нее.

При первом логине, нас сразу попросят сменить пароль, что и делаем
1525039206194.png

И вот начинаем установку
Код:
git clone https://github.com/trailofbits/algo.git

apt-get update && apt-get install \
    build-essential \
    libssl-dev \
    libffi-dev \
    python-dev \
    python-pip \
    python-setuptools \
    python-virtualenv -y

Переходим в каталог algo и устанавливаем зависимости
Код:
python -m virtualenv --python=`which python2` env &&
    source env/bin/activate &&
    python -m pip install -U pip &&
    python -m pip install -r requirements.txt

После установки зависимостей, открываем файлик config.cfg - нам необходимо задать пользователей
Я создал только одно пользователя "codeby"
1525039751832.png
Так же в этом файле вы можете задать адресацию для vpn, dns сервер и т.д.

И вот мы перешли к этапу установки непосредственно VPN сервера.
Код:
./algo

Выбираем площадку для установки ( в нашем случая DO)
Код:
  What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Microsoft Azure
    5. Google Compute Engine
    6. Scaleway
    7. OpenStack (DreamCompute optimised)
    8. Install to existing Ubuntu 16.04 server (Advanced)

После выбора первого варианта, нам необходимо указать API ключ который мы благополучно генерим у себя в кабинете DO
1525040092435.png

Копируем и вставляем
Код:
Enter your API token. The token must have read and write permissions (https://cloud.digitalocean.com/settings/api/tokens):
[pasted values will not be displayed]
:849d51a257fa985952359b4bd830ba7ce7a0a11d647cc0d23936f530679c8ffb
у Вас при вставке API ключа, он отображаться не будет

Следующий пункт, нас просят указать название сервера
Код:
Name the vpn server:
[algo.local]: codeby.algo

Выбираем локацию нашего будущего VPN сервера
Я выбрал London
Код:
  What region should the server be located in?
    1.  Amsterdam        (Datacenter 2)
    2.  Amsterdam        (Datacenter 3)
    3.  Frankfurt
    4.  London
    5.  New York         (Datacenter 1)
    6.  New York         (Datacenter 2)
    7.  New York         (Datacenter 3)
    8.  San Francisco    (Datacenter 1)
    9.  San Francisco    (Datacenter 2)
    10. Singapore
    11. Toronto
    12. Bangalore
Enter the number of your desired region:
[7]: 4

Следующий вопрос, надо ли включить в конфигурации для IOS и MacOS автоматическое включение VPN при подключении к мобильному оператору
Код:
Do you want macOS/iOS clients to enable "VPN On Demand" when connected to cellular networks?
[y/N]: Y
Я выбрал да, что бы лишний раз не лазить и не включать его, на зарядке телефона не сказывается, да и на скорости интернета тоже

Следующий пункт, то же самое только для WiFi, я тоже выбираю "Y"
Код:
Do you want macOS/iOS clients to enable "VPN On Demand" when connected to Wi-Fi?
[y/N]: y

Здесь указываем wifi сети где использовать VPN не надо
Код:
List the names of trusted Wi-Fi networks (if any) that macOS/iOS clients exclude from using the VPN (e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi)
:

Надо ли нам использовать DNS внутри VPN'a с функцией ads (блокировка рекламы)
Код:
Do you want to install a DNS resolver on this VPN server, to block ads while surfing?
[y/N]:Y
Форвард DNS используется от cloudflare 1.1.1.1

Хотим мы что бы у каждого юзера были свои учетки для SSH туннеля, здесь я указываю нет, так как у нас только один юзер
Код:
Do you want each user to have their own account for SSH tunneling?
[y/N]:N

Надо ли нам поддержка Windows 10 и Linux - включает алгоритмы шафрования для этих ОС
Код:
Do you want the VPN to support Windows 10 or Linux Desktop clients? (enables compatible ciphers and key exchange, less secure)
[y/N]:N
Здесь каждый выбирайте что Вам необходимо, у меня нет этих ОС, поэтому я отключил

Будем ли мы сохранять ключ сертификата
Код:
Do you want to retain the CA key? (required to add users in the future, but less secure)
[y/N]: y
В данном случае выбираем да, так как эту виртуалку мы будем удалять, предварительно скопировав все конфиги, сертификаты и ключи

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

В конце установки мы получим исчерпывающую информацию и паролях и подключении к нашему VPN серверу
Код:
TASK [vpn : strongSwan started] ************************************************************************************************************************************
ok: [206.189.124.133]

TASK [debug] *******************************************************************************************************************************************************
ok: [206.189.124.133] => {
    "msg": [
        [
            "\"#                          Congratulations!                            #\"",
            "\"#                     Your Algo server is running.                     #\"",
            "\"#    Config files and certificates are in the ./configs/ directory.    #\"",
            "\"#              Go to https://whoer.net/ after connecting               #\"",
            "\"#        and ensure that all your traffic passes through the VPN.      #\"",
            "\"#               Local DNS resolver 172.16.0.1              #\"",
            ""
        ],
        "    \"#                The p12 and SSH keys password for new users is sGbBq4ad             #\"\n",
        "    \"#                  The CA key password is 282a7ad07da691ca6a9addd3442b33dd                 #\"\n",
        "    \"#      Shell access: ssh -i configs/algo.pem root@206.189.124.133        #\"\n"
    ]
}

TASK [Delete the CA key] *******************************************************************************************************************************************
skipping: [206.189.124.133]

А так же в директории
Код:
/root/algo/configs
Мы увидим наши ключи для подключения
и директорию с сертификатами и конфетами для наших VPN клиентов
Код:
(env) root@UploadVPN:~/algo/configs/206.189.124.133# ls
android_codeby_helper.html  android_codeby.sswan  cacert.pem  codeby.mobileconfig  codeby.p12  ipsec_codeby.conf  ipsec_codeby.secrets  pki

После копирования на свой компьютер необходимы файлов, можем смело удалять эту виртуалку !
Наш VPN сервер благополучно создан и работает
1525042220351.png


P.S. с Выбором локации прийдется поиграться, так как IP вам выдается рандомно, возможно с первого раза не получится получить IP который не в списке РКН :( в локации London я получил чистый IP после второй установки !
 
Последнее редактирование:
И чё после удаления виртуалки впн будет работать?
Если к примеру на амазон делать и удалить инстанс, то впн и дальше будет работать?
 
  • Нравится
Реакции: Demi
И чё после удаления виртуалки впн будет работать?
Если к примеру на амазон делать и удалить инстанс, то впн и дальше будет работать?
Удалять надо ту с которой ставишь, работа скриптов заключается в том, что через API создаётся новая виртуалка и на ней все настраивается
 
Последнее редактирование:
  • Нравится
Реакции: erlan1749
От многих часто слышишь что через vpn скорость интернета ниже, не спорю возможно через левые сервисы так есть, вот Speedtest через созданный Algo VPN и без него
F068CD8B-EC91-4DEC-9CB6-358CED1B3D05.png CDAED0BD-A787-4333-94E1-F3BEA55B43F3.png
 
Как и обещал, пишу статью как развернуть VPN с помощью Algo на площадке DO (DigitalOcean)

Итак допустим у Вас есть учётка на DO, если нет идем (это рефералка, вам капнет 10$)
Заходим в Личный кабинет, и создаем свою первую виртуалку
Посмотреть вложение 18036

Я выбираю минимальную конфигурацию она мне нужна на 20-25 минут для установки VPN сервера
Если Вы будите использовать для установки VPN сервера свою локальную машину можете этот шаг пропустить, и перейти к разделу установки Algo

Я оставляю все без изменений, опускаюсь в самый низ и нажимаем на кнопку Create
Видим что наша виртуалка создалась
Посмотреть вложение 18037
Копируем ее IP и пароль берем с нашей почты, и логинимся на нее.

При первом логине, нас сразу попросят сменить пароль, что и делаем
Посмотреть вложение 18038

И вот начинаем установку
Код:
git clone https://github.com/trailofbits/algo.git

apt-get update && apt-get install \
    build-essential \
    libssl-dev \
    libffi-dev \
    python-dev \
    python-pip \
    python-setuptools \
    python-virtualenv -y

Переходим в каталог algo и устанавливаем зависимости
Код:
python -m virtualenv --python=`which python2` env &&
    source env/bin/activate &&
    python -m pip install -U pip &&
    python -m pip install -r requirements.txt

После установки зависимостей, открываем файлик config.cfg - нам необходимо задать пользователей
Я создал только одно пользователя "codeby"
Посмотреть вложение 18039
Так же в этом файле вы можете задать адресацию для vpn, dns сервер и т.д.

И вот мы перешли к этапу установки непосредственно VPN сервера.
Код:
./algo

Выбираем площадку для установки ( в нашем случая DO)
Код:
  What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Microsoft Azure
    5. Google Compute Engine
    6. Scaleway
    7. OpenStack (DreamCompute optimised)
    8. Install to existing Ubuntu 16.04 server (Advanced)

После выбора первого варианта, нам необходимо указать API ключ который мы благополучно генерим у себя в кабинете DO
Посмотреть вложение 18040

Копируем и вставляем
Код:
Enter your API token. The token must have read and write permissions (https://cloud.digitalocean.com/settings/api/tokens):
[pasted values will not be displayed]
:849d51a257fa985952359b4bd830ba7ce7a0a11d647cc0d23936f530679c8ffb
у Вас при вставке API ключа, он отображаться не будет

Следующий пункт, нас просят указать название сервера
Код:
Name the vpn server:
[algo.local]: codeby.algo

Выбираем локацию нашего будущего VPN сервера
Я выбрал London
Код:
  What region should the server be located in?
    1.  Amsterdam        (Datacenter 2)
    2.  Amsterdam        (Datacenter 3)
    3.  Frankfurt
    4.  London
    5.  New York         (Datacenter 1)
    6.  New York         (Datacenter 2)
    7.  New York         (Datacenter 3)
    8.  San Francisco    (Datacenter 1)
    9.  San Francisco    (Datacenter 2)
    10. Singapore
    11. Toronto
    12. Bangalore
Enter the number of your desired region:
[7]: 4

Следующий вопрос, надо ли включить в конфигурации для IOS и MacOS автоматическое включение VPN при подключении к мобильному оператору
Код:
Do you want macOS/iOS clients to enable "VPN On Demand" when connected to cellular networks?
[y/N]: Y
Я выбрал да, что бы лишний раз не лазить и не включать его, на зарядке телефона не сказывается, да и на скорости интернета тоже

Следующий пункт, то же самое только для WiFi, я тоже выбираю "Y"
Код:
Do you want macOS/iOS clients to enable "VPN On Demand" when connected to Wi-Fi?
[y/N]: y

Здесь указываем wifi сети где использовать VPN не надо
Код:
List the names of trusted Wi-Fi networks (if any) that macOS/iOS clients exclude from using the VPN (e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi)
:

Надо ли нам использовать DNS внутри VPN'a с функцией ads (блокировка рекламы)
Код:
Do you want to install a DNS resolver on this VPN server, to block ads while surfing?
[y/N]:Y
Форвард DNS используется от cloudflare 1.1.1.1

Хотим мы что бы у каждого юзера были свои учетки для SSH туннеля, здесь я указываю нет, так как у нас только один юзер
Код:
Do you want each user to have their own account for SSH tunneling?
[y/N]:N

Надо ли нам поддержка Windows 10 и Linux - включает алгоритмы шафрования для этих ОС
Код:
Do you want the VPN to support Windows 10 or Linux Desktop clients? (enables compatible ciphers and key exchange, less secure)
[y/N]:N
Здесь каждый выбирайте что Вам необходимо, у меня нет этих ОС, поэтому я отключил

Будем ли мы сохранять ключ сертификата
Код:
Do you want to retain the CA key? (required to add users in the future, but less secure)
[y/N]: y
В данном случае выбираем да, так как эту виртуалку мы будем удалять, предварительно скопировав все конфиги, сертификаты и ключи

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

В конце установки мы получим исчерпывающую информацию и паролях и подключении к нашему VPN серверу
Код:
TASK [vpn : strongSwan started] ************************************************************************************************************************************
ok: [206.189.124.133]

TASK [debug] *******************************************************************************************************************************************************
ok: [206.189.124.133] => {
    "msg": [
        [
            "\"#                          Congratulations!                            #\"",
            "\"#                     Your Algo server is running.                     #\"",
            "\"#    Config files and certificates are in the ./configs/ directory.    #\"",
            "\"#              Go to https://whoer.net/ after connecting               #\"",
            "\"#        and ensure that all your traffic passes through the VPN.      #\"",
            "\"#               Local DNS resolver 172.16.0.1              #\"",
            ""
        ],
        "    \"#                The p12 and SSH keys password for new users is sGbBq4ad             #\"\n",
        "    \"#                  The CA key password is 282a7ad07da691ca6a9addd3442b33dd                 #\"\n",
        "    \"#      Shell access: ssh -i configs/algo.pem root@206.189.124.133        #\"\n"
    ]
}

TASK [Delete the CA key] *******************************************************************************************************************************************
skipping: [206.189.124.133]

А так же в директории
Код:
/root/algo/configs
Мы увидим наши ключи для подключения
и директорию с сертификатами и конфетами для наших VPN клиентов
Код:
(env) root@UploadVPN:~/algo/configs/206.189.124.133# ls
android_codeby_helper.html  android_codeby.sswan  cacert.pem  codeby.mobileconfig  codeby.p12  ipsec_codeby.conf  ipsec_codeby.secrets  pki

После копирования на свой компьютер необходимы файлов, можем смело удалять эту виртуалку !
Наш VPN сервер благополучно создан и работает
Посмотреть вложение 18041

P.S. с Выбором локации прийдется поиграться, так как IP вам выдается рандомно, возможно с первого раза не получится получить IP который не в списке РКН :( в локации London я получил чистый IP после второй установки !
на сколько это абузоустойчивый впн?
 
ведут ли логи, сотрудничиают ли с властями, реагируют ли на другого рода жалобы?
Видимо вы не внимательно читали или не пытались разобраться, это просто набор скриптов для быстрого развёртывания VPN сервера в вашем аккаунте DO, Amazona etc...
Соответственно логи на сервере вы сами настраиваете, ну а как будут площадки сотрудничать с Властями, думаю без проблем.
Я в обзоре писал что данный метод не для чёрных дел
 
  • Нравится
Реакции: CyberX88 и ghost
Видимо вы не внимательно читали или не пытались разобраться, это просто набор скриптов для быстрого развёртывания VPN сервера в вашем аккаунте DO, Amazona etc...
Соответственно логи на сервере вы сами настраиваете, ну а как будут площадки сотрудничать с Властями, думаю без проблем.
Я в обзоре писал что данный метод не для чёрных дел
Вы поняли что пишите?
Вы понимаете разносторонность вопроса мембера кибер?
Почему ваше мышление узко ограничилось черными делами? У вас не стоит вопрос безопасности?! Будучи "этичным хацкером" (точнее логотипом напечатанный вами под фото профиля)
Как насчет расширить и напрячь извилины и подумать о таком варианте вопроса как АНОНИМНОСТЬ? Лол.
 
Вы поняли что пишите?
Вы понимаете разносторонность вопроса мембера кибер?
Почему ваше мышление узко ограничилось черными делами? У вас не стоит вопрос безопасности?! Будучи "этичным хацкером" (точнее логотипом напечатанный вами под фото профиля)
Как насчет расширить и напрячь извилины и подумать о таком варианте вопроса как АНОНИМНОСТЬ? Лол.
1. Я всегда прекрасно понимаю что я пишу
2. У меня под аватаркой написано что я модератор раздела этичного хакинга
3. На вопрос мембера я полностью ответил
4. У меня вопроса Анонимности не стоит, зачем ? но и на этот вопрос я ему так же ответил

P.S. Думал ответить на Выше колкое сообщение относительно извилин, но как то не хочется их напрягать для таких вещей ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD