Как поднять свой VPN максимально безопасно и анонимно

immortale

Carder
Messages
70
Reputation
0
Reaction score
26
Points
18
Приветствую всех! Напишу свой способ как поднять личный впн без логов и крайне анонимно, что даже хостер где будете арендовать свой VPS в течении месяца пришлет вам уведомление о том, что вам надо пройти верификацию своего аккаунта, как это было у меня. Хостер, где я в первый раз в жизни арендовал VPS сервер и поднял личный впн, настроив его так, что даже после почти полного месяца работы, прислали мне уведомление о верификации, совпадение или нет, я честно даже хз. Написали что мы не обслуживаем анонимных клиентов, через почти пройденный месяц! Обьяснением данного хостера было в том, что они европейская компания и они соблюдают законы европеского государства бл.ть, извините за мат. До всех этих дествий я у них спрашивал, не ведутся ли логи и тому подобные вопросы, отвечали что нет, смешно да?)

Сам хостер если интересно iphoster.net, находится в эстонии, сервера есть в США (это не точно, не вспомню уже), польше, франции и прочие евространы. Мой вам совет, будете поднимать свой личный ВПН, не используйте вышеуказанные страны, это не анонимно, как кажется на первый взгляд или используйте услуги отрисовщиков, мог бы дать контакты, но их полно, найти сможете и сами. Вот тогда это более менее безопасно, но не факт, потому как эти страны находятся в коалиции 5-9-14 глаз (можете погуглить что это). Лучше ищите ВПС сервисы в даркнете или те что не находятся в западных странах, такие как Вьетнам, некоторые арабские страны, в общем те кто ненавидит США и не будет выдавать ваши логи по запросу третьим лицам, если они даже ведут эти логи. У некоторых хостеров даже верифицировать себя не надо и тратить деньги на отрисовщиков, но их надо еще найти, они есть поверьте.

Хочу еще сказать перед тем как опишу свой способ, что анонимные сервера конечно же стоят дороже, все остальные по типу хостера указанного мной стоят в разы дешевле. В европейских странах таких хостеров подавляющее большинство, найти хостера без верификации уже немного трудней. Как говорится кто ищет тот всегда найдет.

Так же хочу сказать, что мануалов по подьему и настройке ВПН полно, но о безопасности в этих мануалах и отключению логов почти нет нигде, да и кому это нужно "подумали эти автора, которые писали все эти мануалы"

Перейдем к покупке и настройке на безопасность вашего сервера:

Предисловие: Сначало думаю лучше установить любой дистрибутив Линукс, желательно конечно Manjaro (базируется на ядре Arch), с Манджаро немного трудней работать, есть свои нюансы и это только мой выбор, как по мне самый лучший дистр из всех имеющихся ИМХО, ну или любой другой какой вам по душе, Минт например (самый удобный для новичка, но он на ядре Убунту, как по мне не очень), Кали или PureOS (последние два уже на ядре Дебиан), если не знаете как работать на линукс, самое время немного научится. поверьте не помешает в будущем, да и не трудно то в общем, если вам все разжуют. Мануалов по установке дистрибутива линукс на виртуальные машины полно, я бы даже сказал через чур много, найти думаю не будет проблемой.

Спросите почему именно Линукс, да потому что после установки Линукс, система не имеет привычки тройных рукопожатий (погуглите если не знаете что это) с серверами Microsoft или даже со своими издателями сразу после установки, Линукс не будет стучатся во все открытые и не открытые щели ботнета микрогномов. Это можно проверить такими программами как EtherApe или TCPTrack, там будет все тихо и спокойно.

Конечно, вы можете все это сделать через Windows, но лучше обезопасить себя каким нибудь ВПН (НордВПН или любой другой), можно сделать все через прокси и желательно на виртуальной машине с внешней проксификацией, замечу не внутренней, потому как внутреняя проксификация машины имеет свойство протекать по айпи и днс, ну это уже другой разговор. Использовать для подключения нужны такие программы как Putty, программа по типу терминала в Линукс и если нужно будет передавать файлы на ваш сервер VPS или скачивать оттуда, то будет нужна программа WinSCP, подобие TotalCommander'а, если кто знает и помнит ее. Будет интересно, расскажу как пользоваться этими программами, ну или сами можете легко разобратся, почитав мануалы в инете.

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

От слов к делу
1. Арендовать сервер можно поискав по этим ссылкам, там нет думаю анонимных, но в странах азии и от части Евразии можно что то найти - lowendbox.com - lowendtalk.com - lowendstock.com, имейте так же ввиду что япония, сингапур, южная корея сотрудничают с США, ну и некоторые страны азии, точный список не могу дать, ищите ... Сервисы по типу digitalocean и прочие крайне не советую, понимаю что популярные, дешевые и т.д. и т.п., но ваша анонимность для вас думаю на первом месте, не так ли?! Риторический вопрос)

2. Выбирать хостера нужно по двум важным критериям, имеется ли оплата в криптовалюте, это важно для анонимности, ну и второй критерий о котором я писал выше, это страна где базируется сам хостер и какие страны он предлагает для развертывания вашего сервера. По оплате я делал так, кидаю со своего основного кошелька или сервиса типа Binance в кошелек Litecoin, который установлен на дистре Линукса и оттуда уже оплачиваю аренду сервера, можно конечно еще прогнать по кошелькам в других системах с другими носками, днс, ВебРТС и прочими идентификаторами железа, а после удалить их, но думаю этого будет достаточно для анонимной транзакции. Почему лайткойн, да потому что там нет тех конских коммисий какие есть для транзакций битка, может уже все встало на свои места в плане коммисий, я точно не могу сказать, т.к. не использую битки, а монеро не все хостеры принимают из-за ее анонимности, можно сказать что большинство их не принимает, особенно западные хостеры (не видел пока ни одного, может плохо глядел, хз), но сервисы без всякой верификации о которых я говорил ранее с удовольствием примут Монеро в виде оплаты или даже Zcash, но опять же вам надо их найти.

3. Выбрали хостера? Зарегистрировались? Вам должно прийти письмо на почту или же можете глянуть в своем профиле на сайте, зависит от хостера, куда он присылает данные для входа по SSH. У меня на iphoster.net выслали на почту и в профиле тоже были такие же письма, так что можно например использовать временную почту, такую например как yopmail.com, этот сервис временной почты лучше тем, что ваш почтовый ящик просуществует не один день или несколько минут, а целых 8 дней насколько я помню. Думаю знаете как пользваться, обьяснять не надо.

4. Для начала выбираем ОС на которой будете поднимать свой ВПН, советую выбрать Дебиан 9 или 10 версии, т.к. буду описывать подьем ВПН именно на этих дистрибутивах.
Выбрать ОС можно в профиле вашего хостера, там же можно посмотреть все настройки которые вы сами можете изменять и настраивать для работы вашей ОСи.

5. Выбрали и установили нужную ОС? Тогда идем дальше
Открываем терминал в линукс или используем Putty на винде, описывать конечно буду по линуксу. Пример использования программы Putty, я описал почти в самом конце статьи. Заходим по данным которые вам выслал сервис, выглядит это примерно так:
Пишем в терминале - ssh user@ip
user это ваш логин, который вам выслал сервис
ip это ваш IP который вы выбрали, той страны где будете хостится

Пример: ssh [email protected]
этот же IP и будет вашим IP по VPN

Примечание: Можно настроить вход без пароля на основе шифрованного ключа, но это можно сделать только на дистре линукса, на винде не знаю как это сделать. Если кому это понадобится, обьясню, но мне не лень всегда прописывать пароль для подключения.

Нажимаем Enter, выскочит сообщение - Are you sure you want to continue connecting (yes/no)?.
Вручную вводим yes, потом вам предложит ввести пароль от root, который у вас также есть, это тот который вам прислали изначально в письме для коннекта по ssh
Если всё прошло хорошо, то вы подключитесь к VPS и вам будет передано управление командной строкой. Приветствие со стандартного сменится на другое. Все действия будут только в командной строке, т.е. в терминале вашей системы, это делается для большей безопасности.

5. Проверяем TUN/TAP, если будете использовать OpenVPN, то этот параметр обязательно должен быть включен, а мы будем настраивать именно OpenVPN. Можно так же настроить WireGuard или например Shadowsocks, но это не то что нам нужно, разницу между ними можете почитать погуглив. Shadowsocks очень хорош, но работает он как носок 5, а это нам не надо, нам же нужен VPN, чтобы из под него работать через сокс5, т.е. наш VPN это отправная точка и потом только носок. Хотя можно например сделать бридж, настроив так же Shadowsocks работающий на одном провайдере VPS из под нашего VPN на другом провайдере. Хорошая кстати идея, ну мы сейчас не об этом. Отвлекся немного хехе

Там же в терминале пишем - cat /dev/net/tun
Если выдаст:
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

то это значит, что TUN/TAP включен и можно работать дальше. А если вывод такой:
cat /dev/net/tun
cat: /dev/net/tun: No such file or directory

то TUN/TAP выключен. Значит нам нужно его включить.Делается это в панели управления VPS, либо в личном кабинете на сайте провайдера. Либо, по запросу в тех. поддержку. Но обычно он уже включен, зависит от провайдера вашего VPS.

6. Далее, если TUN/TAP включен, обновляем систему командами:
apt-get update && apt-get upgrade -y
После завершения обновления установим, так сказать, пакеты первой необходимости:
apt-get install net-tools cron wget curl nano mc htop python python-pip git ufw sudo git tcptrack vnstat screen
Обычно многие из данных пакетов установлены в системе изначально, но не всегда. Они нужны для нормальной работы OpenVPN и некоторые из них мы рассмотрим отдельно.

7. Настроим языковые локали в системе:

Вводим команду: dpkg-reconfigure locales
откроется окно, стрелками вверх-вниз ищем en_US.UTF-8 UTF-8 и выбираем только эти локали, полистайте вверх-вниз и удалите остальные локали которые установлены в системе, такие как RU и прочие, если таковые установлены. Определить установлены или нет можно по знаку [*], убрать звездочку можно нажатием на Space и так же установить любую другую языковую локаль, но делать этого не стоит, оставьте только то, что я указал - en_US.UTF-8 UTF-8.
После система сама выйдет из этого окна в командную строку в терминале

8. Произведём конфигурацию часовых поясов командой в терминале:
dpkg-reconfigure tzdata
Так же выбираем исключительно None of the above->UTC, найти этот часовой пояс можно пролистав в самый низ и переключаясь кнопкой TAB на вашей клавиатуре жмем на кнопку OK
После система сама выйдет из этого окна в командную строку в терминале

9. Теперь давайте поменяем пароль от root, это тот пароль что дал вам ваш хостинг провайдер
Менять пароль ОБЯЗАТЕЛЬНО!!!
Пишем команду - passwd root
Система предложит дважды ввести пароль. При его вводе символы на экране не будут отображаться. Так должно быть и это нормальная практика в Линукс. Помогает защитить пароль от посторонних. Заранее придумайте сложный пароль. Вставлять пароль в терминале можно только правой кнопкой мыши в области где нужно ввести пароль и выбрать PASTE, в терминале есть свои сочетания команд на копи-паст, но я лично пользуюсь именно мышкой. Да да знаю, так легче и быстрей используя команды, но мне привычней так.

10. Далее, нам нужно ОБЯЗАТЕЛЬНО создать другого пользователя следующей командой:
useradd -m -s /bin/bash immortale
там где мой ник на этом форуме, т.е. immortale меняйте на свой, оставлять как есть не надо. Придумайте свой ник!

11. После создания пользователя, вам ОБЯЗАТЕЛЬНО нужно создать ему пароль. Потому что мы будем использовать именно этого юзера для соединения по ssh, не root:
Пишем команду - passwd immortale где "immortale" ваш ранее придуманный ник, о чем я говорил в 10 пункте и по такому же принципе что указан по замене пароля в пункте 9
Продублирую еще раз:
Система предложит дважды ввести пароль. При его вводе символы на экране не будут отображаться. Так должно быть и это нормальная практика в Линукс. Помогает защитить пароль от посторонних. Заранее придумайте сложный пароль. Вставлять пароль в терминале можно только правой кнопкой мыши в области где нужно ввести пароль и выбрать PASTE, в терминале есть свои сочетания команд на копи-паст, но я лично пользуюсь именно мышкой. Да да знаю, так легче и быстрей используя команды, но мне привычней так.
Получится что у вас будет уже 2 пароля, один от root пользователя и от вашего, которого вы придумаете. Держите эти данные в сохранности, лучше в голове.

12. Далее, нужно посмотреть какие сервисы запущены и отключить их (потому что, как правило, они светят наружу ненужными портами, как новогодняя ёлка и создают брешь в защите):
Пишем команду - netstat -tulpn
Примерно так будет выглядет, после как примените данную команду. У многих будет немного отличатся, но это не важно.
Capture.JPG

Тут же может быть запущен какой-нибудь веб-сервер, mail-server, еще что либо...Не знаю, что запущено у вас, поэтому поочерёдно вводите следующие команды для их остановки и отключения:
/etc/init.d/apache2 stop
update-rc.d apache2 disable
/etc/init.d/postfix stop
update-rc.d postfix disable
/etc/init.d/nginx stop
update-rc.d nginx disable
/etc/init.d/exim4 stop
update-rc.d exim4 disable
/etc/init.d/rpcbind stop
update-rc.d rpcbind disable
/etc/init.d/nfs-common stop
update-rc.d nfs-common disable
/etc/init.d/rsyslog stop
update-rc.d rsyslog disable

Напомню, что вводить надо поочередно, не забываем об этом.

Это должно отключить то, что обычно запущено уже при создании сервера. Убедитесь что никаких левых сервисов не запущено. Такие, как например ntpd, avahi-daemon, dhcpcd, exim4-base, exim4-config, mutt, procmail. Совершенно не нужны они на сервере, поэтому всё лишнее удаляем через:
apt-get purge имя_пакета который надо удалить, например ntpd, но к сожалению его я не смог у себя удалить, не знаю даже почему.
либо через через эту команду:
apt-get autoremove имя_пакета

Пример: apt-get purge ntpd или apt-get autoremove ntpd

13. Теперь нужно настроить sshd. Из соображений безопасности поменяем порт со стандартного на нестандартный и запретим подключение от суперпользователя root. Редактируем файл при помощи текстового редактора nano:
nano /etc/ssh/sshd_config
Вкратце расскажу основные горячие клавиши при работе с консольным редактором nano:
nano <путь до файла> - открываем файл в nano, Ctrl+O - сохранить и записать изменения в файл. Нажимаем Ctrl+O потом Enter, Ctrl+X - выйти из nano, Ctrl+K - вырезать целую строку. Она будет скопирована в буфер обмена, Ctrl+U - вставить вырезанную строку, которая находится в буфере обмена, Ctrl+W - поиск по файлу. Поиск в редакторе, вводим что нужно -> нажимаем Enter. Если хотим скопировать часть текста, то в самом редакторе выделяем мышкой нужный текст и нажимаем клавиатурную комбинацию Ctrl+Shift+C. Для того того чтобы вставить текст, который сейчас находится в буфере обмена, нажимаем комбинацию Ctrl+Shift+V. Не забывайте вводить sudo nano если редактируете файл, к которому у вас нет прав на запись. То есть если работаете от пользователя, а не от суперпользователя root. Но не будем уходить далеко от темы. В файле /etc/ssh/sshd_config ищем строку Port (будет где-то наверху), и меняем ее значение на другое, отличное от стандартного 22, в диапазоне от 1024 до 64000. Так же, если строка закомментирована, то есть вначале стоит символ #, то убираем его.
Должно получиться примерно как в данном случае: Port 55555
Далее ищем строку PermitRootLogin и меняем её значение с without-password или yes на no. Так же, если строка закомментирована, то есть вначале стоит символ #, то убираем и его. Выглядить должно так: PermitRootLogin no

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


Обычно данная проблема решается в личном кабинете, там можно соединиться по SSH (вот где пригодится пункт в меню - получить гостевой доступ по SSH в случае аварии - Console), далее залогиниться под root и изменить в файле всё что нужно. В крайнем случае выполните переустановку ОС.

После всех манипуляций в файле /etc/ssh/sshd_config, перезапускаем службу sshd командой:
service sshd restart
или если не работает, то:
systemctl restart sshd

Изменения применятся. Разница в командах зависит лишь от установленных в ОС демонах (в Linux так называются службы автозапуска, если обьяснить проще) и не более того. Настроим SSH для постоянной работы. Создадим новые ключи и сменим их с дефолтных по умолчанию. Для безопасности, да и просто, чтобы не занимали лишнее место на сервере:
update-rc.d -f ssh remove
update-rc.d -f ssh defaults
cd /etc/ssh/
dpkg-reconfigure openssh-server
Вводим поочередно!
Если все сделали правильно, то следующее ваше соединение по SSH к вашему VPS серверу будет выглядеть следующим образом:
Это как пример: ssh [email protected] -p 55555 ранее как вы помните в первый раз мы заходили на сервер по SSH по этой команде в терминале ssh [email protected], теперь же мы заходим по тем же параметрам, но уже по своему порту.
Выйдите из соединения по SSH от вашего сервера командой exit в терминале, таким образов вы отключитесь от сервера. Попробуйте подключится обратно, при этом перезагрузите систему для верности.

14. Теперь вы будете соединяться по SSH на сервер через вашего пользователя. У него нет почти никаких прав, он даже не суперпользователь. Поэтому, для того чтобы производить какие-то дальнейшие манипуляции на сервера, требующие повышенных привилегий (обычная политика безопасности Linux в действии), нужно залогиниться под рутом. Для этого под обычным пользователем вводим следующую незамысловатую команду:

su -
Не sudo su, не sudo - и никак по другому, только то что я указал, ибо все будет по другому. Такой командой вы переключитесь на пользователя root. Так же при команде su - у вас запросит пароль root который мы создали в начале, надеюсь записали или запомнили его?

Желательно перезагрузить сервер VPS командой
reboot, при этом коннект с сервером пропадет и вам нужно будет зайти на него снова командой ssh [email protected] -p 55555
Извините повторяюсь, но хочу просто чтобы новичок понимал что делать, поэтому пишу пошаговую инструкцию, по крайней мере стараюсь сделать ее таковой

Все - можете дальше делать на сервере что хотите. Чтобы выйти из-под рута, вводите:
exit и вас перекинет на созданого вами пользователя, в данном случае это мой ник immortale, далее так же можете ввести команду exit и тогда вы выйдете с вашего сервера.

Для полного выключения сервера вводите команду, но учтите, что сам он не включится и придется делать это вручную в личном кабинете на сайте хостера:
shutdown -h now

Заходим на сервер по SSH, надеюсь уже точно знаете как :)

15. Давайте на следующем этапе отключим соединение по протоколу ipv6. Если эта дрянь поставляется с сервером автоматом - отрубайте ее к чертям! Проверяем его наличие командой:
ifconfig -a
В нашем случае смотрим на активный сетевой интерфейс (eth0 либо venet0 или какой у вас там будет) и если хоть где то есть упоминание о ipv6 протоколе, то редактируем файл /etc/sysctl.conf в текстовом редакторе nano:
Вводим команду в терминале: nano /etc/sysctl.conf при пользователе root или sudo nano /etc/sysctl.conf если при пользователе immortale, но лучше зайдите на root пользователя командой su -

В открывшемся файле конфига прописываем все в самом конце файла:
# disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохраните и закройте файл. Как редактировать и сохранять файлы вы уже знаете. Затем используйте опцию -p для перезагрузки конфигурации файла /etc/sysctl.conf:
Вводим команду в терминале: sysctl -p
Вывод должен быть таким:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Значит все нормально, ipv6 отключен к хренам собачим :)
Проверяем наши адаптеры командой:
ifconfig -a
Не должно быть никаких упоминаний о ipv6 вообще, тщательно проверьте для верности.
Если все нормально, то теперь
ipv6 должно исчезнуть навсегда, унеся в небытие деанон нашего сервера.

16. Так же сменим следующие параметры: Имя нашего хоста. На что нибудь иное. Ваш сервер так будет идентифицироваться в сети. Я для примера выбрал whoami, но вы выбирайте своё. Для примера, что то типа srv3275435 или что то другое, или так же whoami, в общем то не важно что вы выбирете.
Команда для смены имени хоста:
nano /etc/hosts
Если отказывается меняться имя хоста из терминала, а такое бывает - делайте это в личном кабинете на сайте хостера, предоставляющего VPS.
Если не получается, а такое возможно, то оставьте как есть, это не влияет на вашу анонимность, потому как вы и так создаете сервер анонимно и тут не важно какое будет имя хоста на самом деле.

17. Давайте поменяем содержимое одного файлика командой:
nano /etc/issue.net удаляем все что там написано, должна быть прописана ваша ОС на сервере, меняем ее на Windows Server, сохраняем и закрываем.

18. Теперь давайте проверим, кто пытался войти в вашу систему:
cat /var/log/auth.log | grep 'sshd.*Invalid' появится целый список имен и IP. Можете проверить один из IP на сайте 2ip.ru, наверняка IP будет Китая или еще какой страны. Это боты пытаются сканировать ваши открытые порты и атаковать ваш сервер. Очень интересно!)

19. Поэтому для большей надежности настроим установленный нами фаерволл UFW и пока не включая его сразу же разрешим входящий и исходящий трафик SSH соединения для нашего порта, который мы установили ранее.
Вводим в терминале команду:
sudo ufw allow 55555 где пять петерок это ваш порт, выбранный в самом начале, не забудьте об этом!
Далее включаем фаерволл командой:
ufw enable если вы от root пользователя делаете или sudo ufw enable, ну порядок этих действий вы уже точно должны знать, но лучше все действия производить от root.
Отключить фаерволл можно командой:
ufw disable

Просмотреть существующие правила фаерволла можно выполнив команду: ufw status numbered и тут мы видим тот чертов протокол ipv6, он идет 2 номером, у вас может быть и другой, но в основном второй номер.
Удаляем его к чертям командой:
ufw delete 2 если как я упомянул он у вас 3 строкой идет, то меняем 2 на 3 и т.д. жмем Enter. После этот протокол должен удалится, проверяем командой: ufw status
Результат должен быть таким:
Status: active
To Action From
-- ------ ----
2282 ALLOW Anywhere

Как видим ipv6 нет в правилах фаерволла, тем самым он заблокирован.

20. Теперь давайте настроим генератор шума на сервере. Это делается затем чтобы забить канал информационным мусором и отбить у самозванцев;) желание прослушивать трафик. Ваш поднятый на сервере VPN будет с ним как капля в море. Но имеет смысл проворачивать такое лишь на сервере с безлимитным трафиком. На данный момент, в 2021 году хостинг провайдеры уже предостовляют безлимитный трафик для арендованных серверов, поэтому думаю не надо по этому поводу заморачиватся, хотя есть и исключения. В общем то не трудно понят при аренде сервера с каким трафиком он идет. Обычно провайдеры пишут сразу об этом.

Перейдем к установке. Пишем команды поочередно:

pip install requests
git clone https://github.com/1tayH/noisy.git
cd noisy
python noisy.py --config config.json
Всё, генератор работает! В файле config.json можете посмотреть сайты куда он ходит. Можете изменить на свои при должном желании. Это дело пары минут.

Можно запустить tcptrack, подключившись к серверу со второго терминала (да, так тоже можно!), посмотреть что скрипт отрабатывает как нужно и убедиться в этом воочию, увидев множественные подключения с разных IP адресов:
Команда:
tcptrack -i venet0
где
venet0 - мой сетевой интерфейс. Свой смотрите на сервере через команду: ifconfig -i, ваш может быть eth0 например.

21. Можете так же посмотреть запущенные на сервере процессы через утилиту htop, пишите просто команду htop в терминале.
Выглядит это вот так:
Capture.JPG

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

22. Не очень удобно держать кучу окон открытыми, да и если выйти с сервера, то генератор шума перестанет работать. Но есть решение, которое исправит ситуацию. Редактируем cron, который выполнит задание по расписанию и даже после перезагрузки:
Команда: crontab -e
В cron добавляем эти строки чтобы, в случае переполнения RAM, раз в сутки сервер перезагружался и собственно наш скрипт с генератором шума:
0 0 * * * /sbin/reboot
@reboot cd /root/noisy/ && python noisy.py --config config.json

После config.json не забывайте оставить пустую строку чтобы cron работал! Просто нажмите Enter один раз после все строк. Сохраняйте всё как в nano делали до этого. Теперь выполните команду reboot для перезагрузки и применения изменений. Заходите на сервер - всё уже работает!

23. Не помешало бы отключить историю хранения набора в терминале. Сделать это можно в скрытом файле /root/.bashrc для суперпользователя root. Для обычного пользователя в его домашней папке в таком же скрытом файле соответственно.
Открываем файл командой: nano /root/.bashrc
Достаточно добавить строки в конец и после оставить пустую строку нажав Enter и сохранить файл:
export HISTFILE=''
export HISTSIZE=0

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

Настройка безопасности нашего сервера VPS закончена и теперь перейдем к самому важному, для чего этот пост и был создан, к подьему своего ВПН без логов.


Тут уже не будет много текста, все делается быстро, процесс подьема VPN очень легок. Ну что ж приступим:


Заходим на VPS сервер, уверен уже знаете как это сделать

Для начала снесем rsyslog дабы отключить все логи на нашем сервере VPS
Вводим команды в терминале:
cd /var/log
rm -r *
apt-get remove rsyslog

Все так же по очереди

Чтобы не тратить время на создание ключей, применим скрипт который все сделает за нас, и выплюнет готовый конфиг
Вбиваем в терминале по очереди:
apt-get update
apt-get install git
cd /root
git clone https://github.com/Nyr/openvpn-install.git
cd openvpn-install
chmod +x openvpn-install.sh
./openvpn-install.sh


После последней команды появится начало настройки вашего OpenVPN
Capture.JPG

Видим приветствие, и возможность указать ip на котором будет рабоnать OpenVPN, т.е. IP появится автоматом от вашего провайдера и который вы выбрали при аренде.
Дальше жмем enter, и продолжаем
Capture.JPG

Тут ставим цифру 2, тем самым указываем серверу что работать нужно по tcp

Capture.JPG

Тут указываем порт который будет прослушивать OpenVPN
Либо оставляем стандартный либо меняем, я сменю на 55822, можете выбрать сами какой порт вам больше нравится от 1024 до 64000

Capture.JPG

Тут выбираем днс который будет использовать vpn сервер
Не ставьте днс гугла, я выбрал 1

Capture.JPG

Client name - это ваше любое название, имя, ник или что там еще есть, как вы его назовете, так файл конфига вашего VPN и будет называтся. Главное не вставляйте никакх спецсимволов

Дальше скрипт нам предложит установить OpenVPN если у нас его нет.
Затем сгенерируются ключи, после нам сообщат что все готово.

Теперь крайне важный момент, отключим логи самого OpenVPN
1. Заходим на свой VPS сервер
2. Вбиваем команду: cd /etc/openvp
3. Открываем файл: nano server.conf
4. Переходим в конец файла, видим данную строку
Capture.JPG

Удаляем ее к херам
Теперь в конец добавляем 2 строки
log /dev/null
status /dev/null

этим самым мы отключаем запись логов в файл.
5. Перезапустим OpenVPN командой в терминале: service openvpn restart
Готово!

Переходим в домашнюю директорию на нашем VPS сервере:
cd /root
тут будет лежать клиентский конфиг с тем именем что вы указали, копируем любым удобным способом его себе на локалку. Можно выйти с сервера, подключение к нему уже более не нужно.

Первый способ копирования конфиг файла себе на хост если это Линукс:
Открываем терминал и вбиваем команду mc он же Midnight Commander
Откроется та самая программа, о которой я говорил ранее, это типа старых файловых менеджеров Far и Total Commander, которыми раньше пользовались на винде в недалеком прошлом.
Capture.JPG

Выберите в меню Left а затем SFTP link...:
Введите данные для входа на ваш VPS сервер а затем пароль:
Это те данные для входа что мы с вами настраивали: [email protected] порт 55555 и ваш пароль, все теперь заходим слева в папку root, там должен лежать тот конфиг файл с названием, котрое вы дали этому файлу. Теперь можете свободно работать с файлами удалённо, просто перемещая их в панелях mc. Переместите ваш конфиг файл OpenVPN к себе на хост, ваша хост машина будет в правой панели, в любую папку, например Downloads или Загрузки, если у вас хост в русской локализации.

Второй вариант копирования себе на винду, если хост машина работает на ней:
1. Скачиваем программу Putty
2. Открываем ее, там нам нужно вбить IP адрес и наш порт в первом же окне, беру со своего примера - 55.55.155.65 и порт 55555, выбираем тип подключения SSH и далее кнопку снизу Open или Окрыть. Откроется консоль, тот же по идее терминал на Линуксе, далее вводим свой логин, с моего примера immortale бьем в Enter и вводим пароль, все мы на сервере.
3. Заходим по первому способу, через команду mc он же Midnight Commander и проделываем все то же самое что в первом способе. Конфиг файл тут уже можно кидать куда угодно, хоть на Рабочий стол.
4. Дальше качаем клиент под винду - https://openvpn.net/community-downloads/
5. Устанавливаем и запускаем, в трее появится компьютер с замочком, правой кнопкой мыши по нему и выбираем Импорт конфигурации, ищем файл на рабочем столе или куда вы его там запихнули и двойным кликом по нему, все файл копируется в папку программы автоматом. Файлик можно сохранить, например на флешке или еще где.
6. Так же правой кнопкой мыши по иконке в трее прожимаем Подключится, все у нас свой VPN.

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

По поводу Линукса, не думаю что вы будете далее на нем работать и наверняка удалите систему с виртуалки, но все эти действия, даже настройка защиты вашего сервера можно произвести через программу Putty на винде, но я бы этого не рекомендовал. Дело конечно же ваше.

Вроде бы все, будут вопросы пишите.

Пост писал сам, не копи-паст, почти все знания впитал из одного хорошего курса по ИБ. Не судите строго, есть чем дополнить, пишите. Всем спасибо за внимание, будьте осторожны.
 
Last edited:

lolopopo

Member
Messages
9
Reputation
0
Reaction score
4
Points
3
Сложновато... Спасибо за подробное объяснение .
 
Top