Показать сообщение отдельно

  #1  
Старый 01.02.2022, 21:50
JackSparrow
Новичок
Регистрация: 04.04.2020
Сообщений: 0
С нами: 3215922

Репутация: 0
По умолчанию

Привет античат !



В этой статье хотелось поделиться опытом настройки VPSи установки/настройки OVPN на Linux Ubuntu 20.04. Начал работать с линукс недавно и в процессе возникали подводные камни, которые вроде бы удалось побороть. В сети достаточно много мануалов по данной теме, но проблема в том, что та или иная инструкция не сработала для меня полностью, пришлось покурить несколько доков и в итоге собрать из них один. Плюс сразу добавить некоторые рекомендации по безопасности сервера. По идее все должно работать с данной ОС без проблем. Клиент подключаю из под WINды, но можно использовать любые другие клиенты, планирую подключать к сети свой смартфон. В итоге получаем свой VPN канал и левый ip-адрес, но пинги увеличатся и скорость передачи данных соответственно упадет (полностью побороть проблему со скорость пока не удалось), что в принципе не сильно заметно при серфинге, просмотре и тд. (зависит от ваших нужд)
Но обо всем по-порядку.

План такой :

1. Начальная (стандартная) настройка VPS сервера на Linux (покупку/админку и тд. рассматривать не буду, там все более-менее понятно)

2. Настройка SSH и подключение по сертификату.

3. Настройка сертификатов/конфигураций сервера и клиента OVPN

Начальная настройка VPS сервера на Linux :

Подключаться буду из под клиента на винде. Для подключения по SSH использую PUTTY и вполне себе доволен этой утилитой. После того как узнали свой айпишник и права от рута, подключаемся к серверу, можно запустить в cmd (если putty была установлена в систему или добавлена в окружение) :

Код:


Код:
putty.exe user@server -pw password
Создаем нового пользователя и добавляем в группу sudo :

Код:


Код:
adduser античат 
usermod -aG sudo античат 
su - античат
Проверяем статус брандмауэра и если надо, ключаем :

Код:


Код:
ufw status
ufw enable
И вот тут у меня появилась первая проблемка. В общем я отошел по делам, а вернувшись, понял, что коннект из лост и я вообще не могу достучаться до сервера по shh и отваливаюсь по тайм ауту. При условии что ни RDP ни VNC пакеты не установлены, на этом можно было бы и заканчивать настройку и звонить "местным" админам потому как я просто не знал, как же я могу еще попасть на сервак. Благо в админ панели есть браузерная VNC консоль и подключившись, я решил проблему с SSH.

Настройка SSH и подключение по сертификату :

Код:


Код:
sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh
sudo ufw allow openssh
Повозившись немного, я начал получать connection refused вместо тайм аута, ну и после полной переустановки пакетов, перезапуска службы и добавления правил фаирвола, вроде как все заработало.

Далее создаем директорию и файл где будут храниться ключи и назначаем им права :

Код:


Код:
cd /home/codeby
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
Создаем ключи в puttygen и записываем в файл authorized_keys:



Код:


Код:
cat >> authorized_keys 
-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----
Все готово. Ставим приложение на клиента и переносим клиентский конфиг (с помощью WinSCPнапример). Должен подняться интерфейс - по дефолту в 10.8.0.0/24 подсети. Весь трафик будет идти через ваш ВПН-сервер.

Вы можете добавить дополнительную защиту, создав пользователя впн в системе и включить дополнительный запрос логина/пароля. Для этого надо найти файл openvpn-plugin-auth-pam.so библиотеки авторизации pluginи добавить в server.conf две строки с указанием директории tmp :

Код:


Код:
find / -name "openvpn-*auth-pam*.so" -print
mkdir /etc/openvpn/tmp
chmod 777 /etc/openvpn/tmp
sudo nano /etc/openvpn/server.conf

# добавляем в конфиг сервера
plugin путь до файла/openvpn-plugin-auth-pam.so login
tmp-dir /etc/openvpn/tmp

sudo useradd античат vpn -s /sbin/nologin
sudo passwd античат vpn
Чтобы включить опцию на клиенте, добавляем в конец клиентского конфига :

Код:


Код:
auth-user-pass
Теперь при подключении дополнительно будет запрашиваться логин/пароль

Спасибо за внимание !
 
Ответить с цитированием