August 19, 2023

Создание безопасного впн сервера для комфортной работы

"Любая безопасность в сети в нашем мире начинается с создания своего впна"

Создатель статьи

Канал со статьями

Чат для общения и вопросов

Продажа саморегов BA/VCC

Продажа документов

В данной статье мы создадим впн сервер на протоколе Openvpn для комфортной работы в сети для этого нам потребуется:

1) Сервер (дебиан 10)

2) Наличие прямых рук и следование данному мануалу


1 ЭТАП. Аренда сервера:

Основные показатели хостера, который будет предоставлять нам сервер - оплата криптовалютой и 1гб канал

Хостеры, которые подходят под данные критерии. Аренда серверов начинается от 5$ в месяц

Список хостеров:

pq.hosting

cp.inferno.name

itldc.com

4vps.su

У них нам необходимо взять сервер Debian 10 версии

Минимальные характеристики сервера: 1 ядро, 1гб рам, 10гб ссд

После аренды вам выдадут стандартный набор для подключения к серверу, а именно:

- IP

- Логин

- Пароль

- Стандартный порт для подключению по ssh - 22 порт


2 ЭТАП. Заходим на сервер и делаем базовое администрирование:

Для подключения к серверу нам понадобится программа Putty

Скачать её можно с официального сайта: putty.org

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

В нём нам необходимо ввести IP. Порт остаётся - 22

Далее сохраняем ключ нажатием кнопки: "Accept"

Далее у нас запросят логин и пароль (в линуксе буфер обмена вставляется правой кнопкой мыши, к этому нужно привыкнуть)

Вводим их и попадаем на сервер:

После захода на сервер, давайте сразу отключим сохранение ввода в терминале

Для этого нам нужно ввести вот такую команду

nano /root/.bashrc

Откроется редактор нано, там в конце файла введём:

export HISFILE=''

export HISTSIZE=0

Для перемещения в конец файла используйте стрелки вверхи и вниз

Сохраним результат комбинацией клавиш Ctrl+O. Нажимаем Enter. Результат сохранён

Выходим из редактора комбинацией клавиш Ctrl+X

Далее нам нужно обновить систему и установить необходимые программы на сервер

Поочередно введите команды:

apt-get update -y

apt-get upgrade -y

apt-get install net-tools cron wget curl nano mc htop python -y

apt-get install python-pip git ufw sudo git tcptrack vnstat screen -y

apt-get install build-essential make automake autoconf pkg-config -y

Обновление займёт пару минут

Теперь необходимо поменять пароль на root (с которого мы и подключемся)

Для этого вводим команду: passwd root

Далее вводим новый пароль и нажимаем Enter. И так два раза

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

Для создания нового пользователя введите команду:

useradd -m -s /bin/bash новыйпользователь

новый пользователь замените на свой новый логин от сервера

Далее этом новому пользователю назначим пароль

passwd newuser

newuser так же замените на свой логин

Хорошо, теперь у нас есть новый пользователь и обновленная система

Давайте отключим ненужные программы и логирование

Каких то процессов система не обнаружит - ничего страшного, просто вводим

Поочередно нужно ввести следующие команды в терминал:

/etc/iniu.d/apache2 stop

update-rc.d apache2 disable

/etc/iniu.d/postfix stop

update-rc.d postfix disable

/etc/iniu.d/nginx stop

update-rc.d nginx disable

/etc/iniu.d/exim4 stop

update-rc.d exim4 disable

/etc/iniu.d/rpcbind stop

update-rc.d rpcbind disable

/etc/iniu.d/nfc-common stop

update-rc.d nfc-common disable

/etc/iniu.d/rsyslog stop

update-rc.d rsyslog disable

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

nano /etc/ssh/sshd_config

Этой командой опять переходим в редактор нано и редактируем файл

Нужно найти строчку и изменить с yes на no

PermitRootLogin no

Так же найти порт 22 и изменить его на свой новый порт для подключения

Строчку: #Port 22

Меняем на: Port X (заместо Х вставляем любой порт от 10000 до 40000. Например 22384)

Порт обязательно нужно запомнить

Так же сохраняем результаты через нажатие Ctrl+o. Enter. Ctrl+X

Перезапустим службы этими командами

service sshd restart

systemctl restart sshd

Теперь отключим службу IPv6

Потому что она считается небезопастной

Вводим команду

nano /etc/sysctl.conf

И в конце файла дописываем

#disable IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

Так же сохраняем результат Ctrl+O. Enter. Ctrl+X

Перезапускаем службу командой:

sysctl -p

Добавим права администратора юзеру, которого создали в самом начале

Для этого пишем команду:

usermod -g sudo newuser

Нужно заменить имя на своё, заместо newuser

Теперь переходим в редактор. Пишем команду:

visudo

Находим в файле строчку:

# Allow members of group sudo to execute any command

И добавляем права новому пользователю:

Заместо %sudo - пишем своего нового пользователя

Сохраняем результат и выходим: Ctrl+O. Enter. Ctrl+X

Вводим команду: reboot для перезагрузки сервера. Закрываем окно Putty

В данный момент у нас есть обновленный сервер:

- Без логирования

- С отключенным протоколом IPv6

- С запретом подключения от рута

- С отключенными ненужными службами

На этом моменте базовое администрирование сервера закончено. Можно приступать к установке openvpn сервера



3 ЭТАП: УСТАНОВКА OPENVPN

Заходим в Putty и вводим айпи адрес и порт (который мы меняли)

Новый логин и новый пароль к этому логину

Скачиваем нужные программы для установки опенвпн (при первой команде sudo у вас заново попросит ввести пароль юзера)

Поочередно вводите данные команды:

sudo apt-get install git

sudo apt-get install secure-delete

git clone https://github.com/angristan/openvpn-install.git

Командой ls можно посмотреть, что появилась папка openvpn-install

Перейдём в папку опенвпна командой

cd openvpn-install

Сделаем файл опенвпн исполняемым командой

chmod +x openvpn-install.sh

И запустим скрипт командой

sudo ./openvpn-install.sh

Настройка опенвпн:

1 - Проверяем айпи и вводим Enter

2 - Проверяем, что стоит буква n и вводим Enter

3 - Удаляем 1 и вводим 3 для того, чтобы порт был не стандартным

4 - Оставляем 1 (если впн будет использоваться с хостовой машины), 2 (если впн будет использоваться не с хостовой машины)

5 - Выбираем 3 или 9 (популярные днс сервера)

6 - Оставляем n, компрессия нам не нужна

7 - Оставляем n, дополнительная криптация нам тоже не нужна

И нажимаем Enter. Сервер начнёт установку

Вводим любой Client name

И оставляем 1. Нажимаем Enter

Конфиг опенвпн создан. Переходим в предыдущую папку командой: cd

Вводим команду: ls и видим файл name.ovpn (замести name - ваше клиентское имя)

Открываем его в редакторе nano командой:

nano name.ovpn (замести name - ваше клиентское имя)

Создаём текстовый файл у вас в системе (файл блокнота) и полностью копируем до самого конца поочередно весь файл

После того, как вы скопировали весь файл нам нужно безопасно его удалить

Для этого мы скачивали программу secure-delete

Удаляем файл:

sudo srm -z name.ovpn (замести name - ваше клиентское имя)

Командой ls проверяем, что в папке больше нет этого файла и выходим с сервера закрытием окна


4 ЭТАП: ПОДКЛЮЧЕНИЕ OPENVPN

Для начала переделаем текстовый файл, который у нас получился в готовый конфиг openvpn. Для этого нам необходимо открыть в блокноте текстовый файл, сверху нажать: Сохранить как'. Выбрать тип файла: 'все файлы'. И установить в конце имени нашего файла .ovpn (например 1.ovpn)

После того, как окончательный конфиг уже готов нам понадобится программа для подключения. Скачать её можно на официальном сайте под множество устройств: https://openvpn.net/client/

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

Для проверки изменения IP адреса можете воспользоваться сайтом: whoer.net


Все вопросы жду в нашем чате: @Vortexteamchat

Подписывайтесь на наш канал со стьями: @vortexholding

Наш сервис саморегов BA/VCC: @samoregikray

Наш сервис продажи документов: @vortexdocs