Пак знаний, учение свет. #3 Wireguard, поднимаем свой VPN. / it :: длинный пост :: сделай сам :: системный администратор :: VPN :: мануал :: it-безопастность :: самообразование :: реактор образовательный

реактор образовательный самообразование it-безопастность мануал VPN сделай сам системный администратор it длинный пост 

Пак знаний, учение свет. #3 Wireguard, поднимаем свой VPN.

Сап джой, будет много текста и картинок, но тебе это понравиться (надеюсь).

Давно хотел написать эту инструкцию, но всё времени не было. Решил заставитьсебя.
Немного предыстории, пройдёмся по цифрам и приступим к практике.

Предистория:

  Когда я выбирал какой протокол выбрать для поднятия забугорногоVPNсервиса,я ориентировался на то, что-бы туннель обладал высокой пропускной способностьюи не бы чувствителен к небольшой потери сигнала\пакетов (привет мобильноеинтернет соединение).
Тут была инструкция по настройке OpenVPN. Ни в коем случае не хочу приуменьшить вклад анона,так как «я за» любое просвещение людей в компьютерной грамотности. Вот только авторумолчал что OpenVPN  достаточно медлителен,и тот же IPSecAES почтив половину производительнее.
Так же любитель пожрать ресурсы хоста.

Throughput WireGuard IPsoc (ChaPoty) IPsec (AES-GCM) OpanVPN 128 256 384 512 640 768 896 1.024 megabits per second (higher is better),реактор образовательный,самообразование,it-безопастность,мануал,VPN,сделай сам,системный администратор,it,длинный пост

Ping Time WireGuard IPsec (ChaPoly) IPsec (AES-GCM) OpenVPN 0.5 1.0 I 0.0 milliseconds (lower is better) 1.5,реактор образовательный,самообразование,it-безопастность,мануал,VPN,сделай сам,системный администратор,it,длинный пост

пруф

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

Допустим вы уже приобрели себе VPS (вкомментах я подкину парочку, которые я сам юзаю, если хотите) И самостоятельно установили ОС. Я обычно использую либо Debian либо Ubuntu, вданном случае второе.
Давайте обновим пакеты, и поставим нужный софт:

Unpacking Iibqrni-glib5:arnd64 (1.30.4-l~ubuntu20.04.1) ... Selecting previously unselected package libqrni-proxy. Preparing to unpack .../21-libqrni-proxy_l.30.4-l~ubuntu20.04.l_amd64.deb ... Unpacking libqrni-proxy (1.30.4-l~ubuntu20.04.1) ... Preparing to unpack ..

sudo apt update && sudo apt upgrade -y && sudoaptautoremove -y && sudo apt install git screen fail2ban mc

Конструкция «sudo apt install git screen fail2ban mc» отвечает за установкунужного нам ПО:
1) git– это апекуха для импортирования проектов из git-репозиториев. Просто навсякий случай.
2) screen– это для того, что бы в случае обрыва sshсоединениявы могли продолжить работать с того же места, где произошёл обрыв.
3) fail2ban–это для защиты второй лини нашего vpnсервиса.

4) MC – (MidnightCommander)это удобный файловый менеджер в «консольной среде», что бы не возится скомандами навигации.

Обновляем и ставим всё это дело, после этого можноперезагрузить хост, и подключиться по SSH.
После подключения набираем команду screen, чтобы в случае обрыва связи, мы смогли вернуться обратнок работе без потерь. 


Далее скачиваем деплой-скрипт с github.
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

alexfwireguard: $ curl -0 https://raw.githubusGrcontGnt.coni/angristan/wirGguard-install/raaster/wirGguard-install.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15554 100 15554 0 0 46154 0 —: —:---------------46154 alex§wireguard: $

Делаем его исполняемым (даём права на выполнение для всех пользователей)
sudo chmod+x wireguard-install.sh
Запускаеми сразу после старта нас любезно спросят важные для сервера параметры. Давай ихразберём.

alexfwireguard: $ curl -0 https://raw.githubusGrcontGnt.coni/angristan/wirGguard-install/raastGr/wirGguard-install.sh % Total % RGCGivGd % Xford Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15554 100 15554 0 0 46154 0 —: —:-----: —:------46154 alex£wireguard: $

Первая строка выводит нам твой внешний (белый) ip-шник к которому мы будемцепляться. Его не меняем, как бы не хотелось. Далее.
Public interface– имя сетевой платы (если по простому) через который будетработать сервер.
Wireguard interface– имя виртуальной сетевой платы. (имя вашего соединения,егонужно запомнить)
Следующие две стоки, внутренние ip-адреса.Здесь вы можете указать удобный для вас диапазон адресов, которое будутприсваиваться вашим устройствам при подключении к серверу.
Далее указываем внешний порт соединения к вашему серверу.
Стандартный порт: 57141.Я бы рекомендовал его сменить и\или запомнить, он пригодится очень скоро.
Последнее два вопроса, это dns сервера. Вы можете указать свои (если знаете какие) у меняже это адреса adguard. Что-бы блокировать рекламу.
Нажимаем Enterи ждём завершенияустановки\настройки. Скрипт начнёт скачивать нужные файлы для сервера.

По завершению тебя попросят ввести имя. Это имя твоегопервого соединения. Далее тебе предложат набрать ip-адрес.Лучше оставь его как есть. И в принципе всё. Тебе сгенерируется qr-коддля настройки соединения на твоём мобильном устройстве и путь к файлуконфигурации для других платформ. Сделай скрин, он нам потом пригодится. Что бысоздать ещё одного клиента просто запусти скрипт ещё раз и пройди все шагиснова заполняя данные. Под каждое устройство лучше иметь отдельную конфигурацию.

s. Client name: Alex Client's WireGuard IPv4: 10.66.66.2 Client's WireGuard IPv6: fd42:42:42::2 Here is your client config file as a QR Code: It is also available in /home/alex/wg0-client-Alex.conf If you want to add more clients, you simply need to run this script another time!

Длянастройки клиента на Winows\Mac\Linux тебепонадобится файл конфигурации. Он будет находится в директории указанной нижу qr-кода.Вот тут нам и понадобится MC. Запускаем его просто набрав “MC” (илиsudo mc, если хотите запустить с правами суперпользователя, нотогда придётся прогуляться по папкам)
В появившемся окне находим файл .conf именемкоторый мы давали конфигурации, нажимаем F4. Всписке текстовых редакторов лучше выбрать nano. Простоставим цифру, на против которой имя редактора и клацаем enter. Переднами конфигурационные данные, которые мы уже видели при создании пользователя.Скачиваем клиент для вашей ОС (в моём случае это Windows)
Клацаем на треугольник рядом с кнопкой добавить туннель àДобавитьпустой туннель. В открывшаяся окно копируем из ssh сессииданные из файла, сохраняем. Ctrl+x выйтииз редактора и F10 выйти из MC. И впринципе с создание туннеля всё. Весь ваш трафик теперь перенаправляется на вашVPN. На этом можно было бы и закончить, но как я говорил,нужно обезопасить ваш сервер. Но сначала добавим возможность автоматическогозапуска туннеля, так как при перезагрузке сервер не запустится. 
sudo systemctl enable wg-quick@имя_вашего соединения (wg0)
Готово.

Tabby • alex@192.168.31.15:22 Ç - С Переподключение \ш SFTP V Порты GNU nano 4.8_______________________________/home/alex/wg9-client-Alex.conf [Interface] PrivateKey = IGKlMNzNBCMd4nkcMbepratCVM7lOn4GD7KYfqitumV0= Address = 10.66.66.2/32,fd42:42:42::2/128 DNS = 94.140.14.14,94.140.15.15


Безопасность:
Небуду описывать сколько в интернете ботов и всякого другого дерьма, просто скажу,что их много и надо уметь постоять за себя и свою инфраструктуру. Этом мы ибудем заниматься.
 Для начала сменим порт ssh-соединения.Открываем файл конфигурации ssh-сервера. (да, без оболочки. Так быстрее.) Запускаемобязательно с правами суперпользователя (sudo)
sudo nano /etc/ssh/sshd_config
Ищем в файле sshd_config строку «port 22» Она обычно сверху. Убираем #, и меняем цифру на вашпорт, допустим 4422. Не забудьте его! Выходим предварительно сохранивизменения.

GNU nano 4.8 /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options

Перезапускаем службу ssh, что бы она получила новые параметры из файла.
sudo systemctl restart ssh.service

 Перезапускаем ssh-сессию,не забывая сменить порт в подключении и при подключении снова набираем screen. Далеенастраиваем firewall. По умолчанию он выключен в ubuntu. Что бы проверить этонабираем sudo ufo status.И ответом нам будет  Status: inactive. Прежде чем включать firewall настроим нужные правила, иначе удалённый хост станетнедоступен для нас по ssh. Вот список команд, просто вставляйте их в консоль:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 4422 <--
 наш ssh
sudo ufw allow 57141 <-- 
наш Wireguard туннель

В двух словах что мы сделали: разрешили весь исходящий трафик, запретиливесь входящий кроме нашего ssh и нашего Wireguard сервера.
Включаем наш firewall командой:
sudo ufw enable
Вы получите предупреждение:
Command may disruptexisting ssh connections.Proceed with operation(y|n)?
Это означает, что запуск этого сервиса может разорвать текущее ssh соединение.

Но, так как мы его уже добавили ssh вправила, этого не произойдет. Поэтому просто нажмите (y).
Можно перезагрузится :)

 
Так же мы качали такую замечательную вещь как Fail2Ban, еёможно не настраивать так как она прекрасно работает из коробки. Я оставлю всессылки на все полезные ресурсы в конце, если захотите покопаться.

Заключение:
Отсылаяськ началу этой статьи я бы хотел сказать, что OpenVPN неплохой протокол, как это могло показаться. У Wireguard есть 2существенных минуса:

1) При подключении к хосту, клиенты могут видеть друг-друга. То есть вы можетепропинговать ваше соседнее устройство. Это можно исправить настройками firewall’aи не так критично, но из коробки OpenVPNсразуотрезает подобное.
2) У Wireguard  легко детектится его трафик, а именно момент обмена хендшейков(handshake) то есть в сам туннель попасть сложно, но вот определитьи прикрыть его можно легко. Нужно делать обфускацию трафика что-бы было сложнееего заметить. Сам я ещё не опробовал, но хочу заюзать socks5 дляпередачи первичной передачи хендшейка. У OpenVPNестьже готовая приблуда так же «из коробки»
Так же стоит упомянуть что я не настроил авторизацию на сервере через ключ-файл потому что мне лень, но я осталю на это линк ниже.
В принципе на этом всё, спасибо что прочитали, все ссылки на полезные ресурсы прилагаю.
Пост написан исключительно для любимого Джояи для тебя анон лично.
Занимайтесь самообразованием, остаюсь с вами на связи в комментах, если что то забыл - дополню там, пока.

реактор образовательный,самообразование,it-безопастность,мануал,VPN,сделай сам,системный администратор,it,длинный пост

Полезные сслки:
настройка Fail2ban
Wireguard клиенты
Мой ssh клиент
Git-репозиторий скрипта


Подробнее
Throughput WireGuard IPsoc (ChaPoty) IPsec (AES-GCM) OpanVPN 128 256 384 512 640 768 896 1.024 megabits per second (higher is better)
Ping Time WireGuard IPsec (ChaPoly) IPsec (AES-GCM) OpenVPN 0.5 1.0 I 0.0 milliseconds (lower is better) 1.5
Unpacking Iibqrni-glib5:arnd64 (1.30.4-l~ubuntu20.04.1) ... Selecting previously unselected package libqrni-proxy. Preparing to unpack .../21-libqrni-proxy_l.30.4-l~ubuntu20.04.l_amd64.deb ... Unpacking libqrni-proxy (1.30.4-l~ubuntu20.04.1) ... Preparing to unpack .. ./22-fwupd_1.7.5-3~20.04.1_arnd64.deb ... Unpacking fujupd (1.7.5-3~20.04.1) over (1.5.ll-0ubuntul~20.04.2) ... Preparing to unpack .../23-landscape-cornrnon_13.12-0ubuntu4.3_amd64.deb ... Unpacking landscape-common (13.12-0ubuntu4.3) over (13.12-0ubuntu4.2) ... Selecting previously unselected package rnodernmanager. Preparing to unpack .../24-rnodernrnanager_l.13.6-l~ubuntu20.04.l_arnd64.deb ... Unpacking rnodernmanager (1.13.6-l~ubuntu20.04.1) ... Preparing to unpack .../25-sbsigntool_0.3.2-2ubuntul.I_arnd64.deb ... Unpacking sbsigntool (0.3.2-2ubuntul.1) over (0.3.2-2ubuntul) ... Preparing to unpack .../26-snapd_2.55.5+20.04_arnd64.deb ... Unpacking snapd (2.55.5+20.04) over (2.54.3+20.04.lubuntuO.2) ... Preparing to unpack .../27-sosreport_4.3-lubuntu0.20.04.I_arnd64.deb ... Unpacking sosreport (4.3-lubuntu0.20.04.1) over (4.2-lubuntu0.20.04.1) ... Preparing to unpack .../28-unattended-upgrades_2.3ubuntu0.3_all.deb ... Unpacking unattended-upgrades (2.3ubuntu0.3) over (2.3ubuntu0.1) ... Selecting previously unselected package usb-rnodesniitch-data. Preparing to unpack .. ./23-usb-rnodesujitch-data_20131123-3_all.deb ... Unpacking usb-rnodesujitch-data (20131123-3) ... Selecting previously unselected package usb-rnodesniitch. Preparing to unpack .. ./30-usb-rnodesiuitch_2.5.2+repack0-2ubuntu3_arnd64.deb ... Unpacking usb-rnodesniitch (2.5.2+repack0-2ubuntu3) ... Setting up rnotd-neujs-config (llubuntu5.6) ... Setting up libkeyutilsl:arnd64 (1.6-6ubuntul.1) ... Setting up apt-utils (2.0.3) ... Setting up alsa-ucrn-conf (1.2.2-lubuntuO.13) ... Setting up isc-dhcp-client (4.4.1-2.Iubuntu5.20.04.3) ... Installing new version of config file /etc/apparrnor.d/sbin.dhclient ... Setting up Iibnetplan0:arnd64 (0.104-0ubuntu2~20.04.2) ... Setting up fwupd-signed (1.27.lubuntu7+1.2-2~20.04.1) ... Setting up locales (2.31-0ubuntu3.3) ... Generating locales (this might take a while)... en_US.UTF-3..._ ]
alexfwireguard: $ curl -0 https://raw.githubusGrcontGnt.coni/angristan/wirGguard-install/raaster/wirGguard-install.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15554 100 15554 0 0 46154 0 —: —:---------------46154 alex§wireguard: $ sudo chmod +x wireguard-install.sh [sudo] password for alex: alexgwireguard: $ ./wireguard-install.sh
alexfwireguard: $ curl -0 https://raw.githubusGrcontGnt.coni/angristan/wirGguard-install/raastGr/wirGguard-install.sh % Total % RGCGivGd % Xford Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15554 100 15554 0 0 46154 0 —: —:-----: —:------46154 alex£wireguard: $ sudo chrood +x wireguard-install.sh [sudo] password for alex: alex§wireguard: $ ./wireguard-install.sh You need to run this script as root alexfwireguard: $ sudo ./wireguard-install.sh Welcome to the WireGuard installer! The git repository is available at: https://github.com/angristan/wireguard-install I need to ask you a few questions before starting the setup. You can leave the default options and just press enter if you are ok with them. IPv4 or IPv6 public address: 192.168.31.15 Public interface: ens33 WireGuard interface name: wg0 Server's WireGuard IPv4: 10.66.66.1 Server's WireGuard IPv6: fd42:42:42::1 Server's WireGuard port [1-65535]: 57141 First DNS resolver to use for the clients: 94.140.14.14 Second DNS resolver to use for the clients (optional): 94.140.15.15 Okay, that was all I needed. We are ready to setup your WireGuard server now. You will be able to generate a client at the end of the installation. Press any key to continue...
s. Client name: Alex Client's WireGuard IPv4: 10.66.66.2 Client's WireGuard IPv6: fd42:42:42::2 Here is your client config file as a QR Code: It is also available in /home/alex/wg0-client-Alex.conf If you want to add more clients, you simply need to run this script another time! alex§wireguard: $ [Interface] PrivateKey = IGK1MNzNBCMd4nkcMbepmtCVM7lOn4GD7KYfqitumV0= Address = 10.66.66.2/32,fd42:42:42::2/128 DNS = 94.140.14.14,94.140.15.15 [Peer] PublicKey = ROKi/NM506pWZVN+cy7hBnv3S6qT4G2VuoKvhN2QzHM= PresharedKey = 4FD2YZy1v+98iQNzQ4+YieMWb6pbBliwHU6Yjr+Py78= Endpoint = 192.168.31.15:57141 AllowedIPs = 0.0.0.0/0,::/0
Tabby • alex@192.168.31.15:22 Ç - С Переподключение \ш SFTP V Порты GNU nano 4.8_______________________________/home/alex/wg9-client-Alex.conf [Interface] PrivateKey = IGKlMNzNBCMd4nkcMbepratCVM7lOn4GD7KYfqitumV0= Address = 10.66.66.2/32,fd42:42:42::2/128 DNS = 94.140.14.14,94.140.15.15 [Peer] PublicKey = ROKi/NM506pWZVN+cy7hBnv3S6qT4G2VuoKvhN2QzHM= PresharedKey = 4FD2YZylv+98iQNzQ4+YieMWb6pbBliwHU6Yjr+Py78= Endpoint = 192.168.31.15:57141 AllowedIPs = 0.0.0.0/0,::/0 ? Get Help ? Write Out Ц Where Is 3 Cut Text 5 Justify 1 j Cur Pos \ Exit g Read File J Replace £ Paste Text 1 To Spell !1 Go To Line j 1 Q alex@wireguard: - о WireGuard Туннели Журнал Hodif1 Frankfurt Romania Создать туннель Название: Публичный ключ: pbj2J7p6O+egHa01sXb5fio8hE6bRTQWy7P9FyspEW0= [Interface] PrivateKey = IGKlMNzNBCMd4nkcMbepmtCVM7lOn4GD7KYfqitumVO= Address = 10.66.66.2/32,fd42:42:42::2/128 DNS = 94.140.14.14,94.140.15.15 [Peer] PublicKey = ROKi/NM506pWZVN+cy7hBnv3S6qT4G2VuoKvhN2QzHM= PresharedKey = 4FD2YZylv+98iQNzQ4+YieMWb6pbBliwHU6Yjr+Py78= Endpoint = 192.168.31.15:57141 AllowedIPs = 0.0.0.0/0,::/0 PI Блокировать нетуннелированный трафик _______________I Сохранить Отмена ■fcp Добавить туннель ▼ X Редактировать
GNU nano 4.8 /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Include /etc/ssh/sshdcorrfig.d/*.conf »Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none

реактор образовательный,самообразование,it-безопастность,мануал,VPN,сделай сам,системный администратор,it,длинный пост
Понравилось?
Да, хочу ещё! :)
333 (53.3%)
Нет, пшёл вон :(
37 (5.9%)
Я картошка
255 (40.8%)
Еще на тему
Развернуть
https://github.com/Nyr/openvpn-install

прости но значимость вайргарда для дома крайне переоценена. я пользуюсь вот этим скриптом.
Может быть, я не говорю что я - последняя инстанция и глас правды) я просто написал инструкцию получше чем чувак из поста. Так как там уж совсем халтурно.
а не вопрос.
но скриптец который я предложила глянь. очень удобный. автор его много лет использует и правит оп мере надобности. разворачивается на дебианчике в 2 сеекунды. и вообще няшечка.

а производительность чтобы гонять котиков и у опенвпн и у вайргарда равноценная. само собой это все только применительно к котикам а не хайлоуду.
Про производительность на самом деле спорный вопрос, я например поднимал на роутере, asus rt-n12p.
При openvpn я получал 1-3 мегабита скорости, при wireguard 7-12 мегабит.
Сейчас сижу на nano pi r2 так что в железо не будет упираться ни первый ни второй вариант, но если делать на слабом железе то wg показывает себя на порядок лучше.
да плевать на самом деле. опенвпн по удп. еще раз ты же тут не хайлоад поднимаешь. но как я уже сказала - вон скрипты. один для опенвпн вторйо на вайргард. в один клик.

я не спорю вто вайргард шустреее. но он менее гибкий. опенвпн я могу поднять даже на сопле свисающей с хуя. а вайргард то тут не работает то там с косяками то здесь нет его вообще.
а собсна у енго и вайргард такой же. там же ссылка. https://github.com/Nyr/wireguard-install
Спс это нужно.
опять эта инструкция с той же ссылкой на скрипт и настройкой куара кода, кочует с сайта на сайт начиная с хабра, даже картиночки оттуда
как-то слишком много всего лишнего, wiregurd в плане настройки и так самый простой
тут скорее будет пользователям из россии сложнее оплатить впс иностранный чем настроить сам впн
Вся статья написана полностью мной. Спокойно оплачиваю 2 vps из РФ.
Ниже в ответе есть впсники
vpsов в комментах нет, а вайргвард с инструкциями уже обсосан на хабре и не только
https://www.robovps.biz/
https://edgecenter.ru/
Держи, ещё есть вариант обзавестить, бесплатным vps у оракла, ссылку надо?
Насколько знаю, Оракл для РФ и РБ закрыл доступ в частности к своим бесплатным ВПС. Зарегистрировать новые и зайти на имеющиеся нельзя.
Ну тот не только с РФ сидят.
Ты сам то пробовал впс у опакла поиметь? Я ебли огреь в прошлом году(!), с разными карточками на оплату. А я чет понимаю в айти и оплате
Ты не знаешь почему вайргард перестал работать на хроме? Вижу много сообщений про это, а у меня самого при реге акка выдало "ваш аккаунт подозрительный, вместо 10 бесплатных гб сосите писос"
OpenVPN не будет таким медлительным если пустить его по UDP. Это так, ремарка к первому абзацу.
Тогда он будет чувствителен к потере пакетов, что не подходит под критерий ТС
Суть VPN -- эмулировать реальный физический провод, в котором как бы разбивка по пакетам и для TCP ровно также характерны потери с тем лишь отличием что его реализация автоматически переотправит данные.

А вот проблем его использование может подкинуть. Допустим ты включил видео-стрим, где данные шуруют через upd. Но так как сам канал ты настроил через TCP, теперь все остальные подключения будут дожидаться каждого потерянного кадра, не смотря на то что видео уже ушло на десятки секунд вперед.
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoremove -y && apt autoclean
Что- то на красноглазном
На свитерном
В чем преимущество над готовыми ВПН? Где платишь копеечку и тебе сотня серверов по всему миру доступна, и без плясок с настройками?
Выебоны.
Провайдер VPN может слить твои данные + отсутствие ограничений. Ну и когда можешь сам настроить, почему бы и да.
Все же основная проблема что публичные впны тоже прекрасно банятся, платные не исключение. Погугли например "windscribe не работает" или "Какие Впн заблокировали?"
Windscribe работает, кстати. Но козлил на прошлой неделе
ну да, ждать с моря погоды не приходится, по тому уже давно на подобную как в посте схему перешел. скрайб остался прозапас, но его то чинят то опять ломают, ерунда короче.
1) Не так палишься, что сидишь через ВПН
2) Сколько бы тебе готовые сервисы не говорили, что они не ведут логи - они их ведут.
3) Контроль - это один из столпов безопасности. Все, что не под твоим контролем - скомпрометировано.
Вот тут 3 пункт и впс где-то хуй пойми где противоречат
ВПН это технология инкапсуляции трафика в достаточно общем смысле. В текущих условиях хотелось бы менять техническую реализацию самому при блокировке со стороны оператора связи. Готовые ВПН такой гибкости не дают. Да и копеечка за голый VPS обычно меньше чем за готовый VPN.
Для 90% юзеров -- ни в чем. Но VPS можно также использовать как файловую шару или поднять свои паблик (или не очень) приложения. Еще у готовых VPN может быть ограничение на количество юзеров/соединений, в то время как в такой конфигурации ты можешь насоздавать учетки для себя, родных, друзей и коту. Отдельно может быть требование чтобы в VPN можно было запустить другой VPN (скажем по работе). Либо подружить с виртуалками. Либо вообще с роутером.

Короче преимущества есть, но нужны ли они конкретно тебе -- не факт.
Уже бы тогда с PSAD доработал. До задницы смена порта.
https://hackertarget.com/psad-port-scan-detection-in-ubuntu-linux/
Не забудьте что не всякое ядро *nix поддерживает wireguard. Если что то не запускается курим логи.
В последних версиях nix'овских ОС wireguard на уровне ядра вшит. Даже в аднроиде.
Не уверен в необходимости таких инструкций, но пили еще. Кто вообще ничего не знает о линупсах и сетях - не осилит. А джун девопс сделает сам и еще лучше. Сам пользуюсь вот этим https://github.com/IAmStoxe/wirehole
Т.е ты выбрасываешь огромную прослойку грамотных технических специалистов, для которых эти джун-опсы и делают дело? Я вот могу поднять сложные оркестры микросервисов со всякими моделями и кафками, но понятия не имею о простом нетворкинге в линупсе. Это всегда кто-то другой делает.
Никого я не выбрасываю. Я говорю о том, что тот, кто обладает минимальными знаниями в индустрии, разберется с ssh только по ключу, и сделает docker compose up -d без таких инструкций.

А за вас рад. Кафку в кубе готовите?
А в чем проблема кафки и микросервисов? можно поинтересоваться?
Лол! А на собеседовании тя выебет этим вопросом ебучий интервьюер, который прочитал на Хабре об этом 5 минут назад.
А еще есть очень клевая японская штука - SoftEther
Я пока читал подумал, что сижу на хабре, но ниже были сиськи и все встало на свои места
В целом статья конечно несёт так сказать знания в массы, но пара замечаний всё таки есть. Качать непонятные бинарники и потом запускать их от рута - это совсем не UNIX way, тем более что поддержка wireguard уже давно есть в ядре, а всё остальное можно доставить из репо. "Защита" ssh сменой порта тоже так себе практика, раз уж вы используете iptables/nftables (пусть даже через ufw) ну ограничьте диапазон ip с которых заходите на сервер, а лучше отключите авторизацию по паролю и заходите по ключу.
У wireguard есть ещё один недостаток - невозможность пускать отдельные приложения/соединения через него т.к. он работает на уровне маршрутизации и не умеет в прокси в отличии от например shadowsocks. И с обфускацией у shadowsocks получше - есть тот же v2ray. Но в целом я за такие статьи) Чем больше людей попробует разных технологий тем лучше)
Не соглашусь, в мобильной версии можно выбрать аплекхи которые надо пускать через VPN, а какие нет.
Ну и для микротколюбов (для меня в том числе) маркировать трафик не составит проблем :)
довольно странный подход, как по мне: ТС нужна безопасность - качаем и запускаем от рута без проверки какой-то скрипт с гита. насчёт чувствительности к потере пакетов у udp/openvpn при мобильном соединении тоже не согласна - приложения создают http/https сессии поверх впн, и перезапросить пакеты вполне могут. исходя из собственного опыта, openvpn работает без проблем на телефоне даже в метро (подкасты потоком, например).
в общем, несмотря на нужность такого рода инструкций, к ним надо относиться в достаточной мере критично.
Я для этого и скинул линк на исходник скрипта. :) Там не много строк на самом деле :) По факту - если убрать то, что в скрипте комбаин под разные ОС и оставить тот же Debian в скрипте просто пропись правил для огнестены, и генирация конфиг фалов. Сам посмотри :)
аффтар, я дико извиняюсь, но неси ccd или что там умеет конфигурять клиента и его маршруты. не базово, но с ovpn слезу только в случае наличия подобной приблуды. к тому же 228 mbps = далёкое далёко мечтаний пидоров, ибо 100 mbps уже победа
ПыСы за сис просвет - моё почтение. это важно и нужно
IKEv2 Split Include
Не-не-не, хотеть подробностей а-ля текстовка :)
Плюс поставил, спасибо. Только нихуя не понятно, давай видос!
Многоуважаемые пидоры, а как при всем этом обойти проблему с неликвидными сертификатами у сайтов?
Не встречал такой проблемы ни разу. Ни на телефлоне, ни на компе.
Вот такая ерунда.
А Не защищено | -https://github.com/Nyr/openvpn-install А Подключение не защищено Злоумышленники могут пытаться похитить ваши данные с сайта github.com (например, пароли, сообщения или номера банковских карт). Подробнее... МЕТ::ЕКК_СЕКТ_А11ТН0тТУ_1МУА1_Ю О Чтобы браузер Chrome стал
У Wireguard есть большой минус, его приложение под Windows не даёт включать/выключать VPN из-под User-a. Это настолько неудобно, что, имея настроенный Wireguard, я всё равно на компе обычно пользуюсь бесплатным VPN в браузере.
Ты имеешь ввиду под правами простого пользователя?
Да. Причём запустить приложение с правами администратора нельзя, надо именно перелогиниваться.
Это нужно делать каждый раз когда тебе VPN нужен, илиможнодинраз?
Ты невнимательно читал статью. Одни раз настроил, и просто добавляешь клиентов.
А не проще через докер его юзать, наример так:
docker rm -f wireguard
docker run -d --network net --restart=unless-stopped --hostname wireguard --name wireguard \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
-e 'SERVERPORT=51820' \
-e 'PEERS=1' \
-p 51820:51820/udp \
-v /data/wireguard:/config \
-v /lib/modules:/lib/modules \
-v /etc/localtime:/etc/localtime:ro \
linuxserver/wireguard
А ты где докер будешь держать\запускать? На том же удалённом хосте. Нахуа плодить сущьности? Плюс докер - это одна сплошная дыра. Ты покупаешь себе самый дешёвый хост с безлимитным инетом и радуешься. У тебя на нём ничего кроме vpn-сервера не будет. считай арендуешь роутер за 250-300р.
Можно про дыру поподробней?
А каменты там же не смущают?:
--cap-add=SYS_ADMIN --security-opt apparmor=unconfined
Чудо, а не багрепорт. Попросил права сисадмина, отключил apparmor, и после этого показываем, что права сисадмина позволяют сисадминить.

Я вот обнаружил, что sudo rm -r /etc /usr /bin ломает почти любой сервер. Это явно уязвимость линукса!
ANTPro ANTPro 05.09.202211:59 ответить ссылка 0.7
У меня опенвпн работать перестал (
Смена порта SSH не то чтобы прям помогает. Во-первых надо отключить вход по паролю для рута, оставить только вход по ключу (PermitRootLogin prohibit-password). А во-вторых рекомендую fail2ban сразу поставить, 3 неудачные попытки подключения и охладите траханье.
А статью мы попой читаем?) В Ubuntu по умолчанию нету рута. Я в статье написал что по хорошему нужно делать авторизацию по ключ-файлу и сразу скопом ставим весь нужнй софт. :)
А ответ мы попой читаем? Я говорю порт нафиг менять? Чего ты этим защитил? fail2ban по-умолчанию 22 порт блочит, его настройки я не вижу. Про PermitRootLogin вообще не факт что там будет на VPS, смотреть надо, так что я бы не фиксировал что обязательно рут отключен будет, от провайдера зависит.
Красавчик, отличная статья.
Недавно делал то же самое, но без скрипта на настройку.
Нужно еще уточнить, что хостинг должен быть с нормальным ядром (для модуля wg), а не OVH-лайк.
Так же удобно иметь оплату в крипте.
Например, я юзаю hostwinds, которые принимаю оплату полностью в крипте без начальной привязки карты.
Спс.
У меня из 2 провов сначала в авг22 перестал работать на мобиле, а теперь и на проводном трафик WG режется - проверял пакеты не улетают
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

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