sfw
nsfw
сделай сам

сделай сам

Подписчиков:
73
Постов:
986

Пак знаний, учение свет. #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,длинный пост
Да и скажу честно, в принципе это сложно было назватьинструкцией.
Так же автор забыл о защите самого хоста, а это не мало важно.
Перейдём к практике:
Допустим вы уже приобрели себе 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 .. ./22-fwupd_1.7.5-3~20.04
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
Делаем его исполняемым (даём права на выполнение для всех пользователей)
sudo chmod+x wireguard-install.sh
Запускаеми сразу после старта нас любезно спросят важные для сервера параметры. Давай ихразберём.
Первая строка выводит нам твой внешний (белый) ip-шник к которому мы будемцепляться. Его не меняем, как бы не хотелось. Далее.
Public interface– имя сетевой платы (если по простому) через который будетработать сервер.
Wireguard interface– имя виртуальной сетевой платы. (имя вашего соединения, егонужно запомнить)
Следующие две стоки, внутренние ip-адреса.Здесь вы можете указать удобный для вас диапазон адресов, которое будутприсваиваться вашим устройствам при подключении к серверу.
Далее указываем внешний порт соединения к вашему серверу.
Стандартный порт: 57141.Я бы рекомендовал его сменить и\или запомнить, он пригодится очень скоро.
Последнее два вопроса, это dns сервера. Вы можете указать свои (если знаете какие) у меняже это адреса adguard. Что-бы блокировать рекламу.
Нажимаем Enterи ждём завершенияустановки\настройки. Скрипт начнёт скачивать нужные файлы для сервера.
По завершению тебя попросят ввести имя. Это имя твоегопервого соединения. Далее тебе предложат набрать ip-адрес.Лучше оставь его как есть. И в принципе всё. Тебе сгенерируется qr-коддля настройки соединения на твоём мобильном устройстве и путь к файлуконфигурации для других платформ. Сделай скрин, он нам потом пригодится. Что бысоздать ещё одного клиента просто запусти скрипт ещё раз и пройди все шагиснова заполняя данные. Под каждое устройство лучше иметь отдельную конфигурацию.

Длянастройки клиента на 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)
Готово.

Безопасность:
Небуду описывать сколько в интернете ботов и всякого другого дерьма, просто скажу,что их много и надо уметь постоять за себя и свою инфраструктуру. Этом мы ибудем заниматься.
 Для начала сменим порт ssh-соединения.Открываем файл конфигурации ssh-сервера. (да, без оболочки. Так быстрее.) Запускаемобязательно с правами суперпользователя (sudo)
sudo nano /etc/ssh/sshd_config
Ищем в файле sshd_config строку «port 22» Она обычно сверху. Убираем #, и меняем цифру на вашпорт, допустим 4422. Не забудьте его! Выходим предварительно сохранивизменения.
Перезапускаем службу 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,длинный пост
Понравилось?
Да, хочу ещё! :)
334(53,18%)
Нет, пшёл вон :(
37(5,89%)
Я картошка
257(40,92%)

ЕгипТянка

пока нет идей перевожу в дидж зарисовки с универа

Как вырастить кристалл в домашних условиях

Сегодня мы с вами будем выращивать у себя дома кристалл из медного купороса.

 Для этого нам понадобятся: Медный купорос, хлопковая нить, дистиллированная вода, фильтр (Салфетка, фильтровальная бумага), ёмкость (Желательно прозрачная).Медный купорос можно приобрести в любом хозяйственном магазине.

Сам процесс
Для начала, нам необходимо взять стакан и налить в него примерно 100мл дистиллированной воды. Нагреваем стакан на водяной бане до 80 градусов (Выше уже бессмысленно, ведь медный купорос лучше растворяться не начнёт.)

 В нагретую воду начинаем постепенно всыпать наш купорос. Насыпали несколько ложек, размешиваем и ждём, пока полностью не расстворится. Повторяем данную процедуру до того момента, как раствор не станет насыщенным (Т.е. соль в нём должна перестать растворяться и остаться в осадке)

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

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

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

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


Наш раствор всё ещё можно использовать, но всё же я рекомендую приготовить новый по тому же принципу.

Далее берём наш кристалл, привязываем его к карандашу и опускаем в наш раствор по середине ёмкости, что б он не касался стенок сосуда.

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

Мы пойдём по лёгкому пути, опустив кристалл в ещё горячий раствор. Накрываем чем-нибудь. И ждём.

Кристалл сам начнёт расти. Но главное-это совершенно никак не беспокоить ёмкость с кристаллом. Чем спокойнее обстановка, тем правильней и аккуратней будет форма самого кристалла. 
,химия,наука,кристаллы,сделай сам


Всё! Кристалл растёт. Следим за его ростом, аккуратно убирая с нити образовавшиеся на ней другие крупные кристаллы. Так же следует заметить, что если кристалл перестал расти или наоборот уменьшается, то концентрация раствора упала и необходимо приготовить новый по старой схеме.

Достать кристалл можно в любой момент-когда вам угодит его размер. Главное, что б помещался в ёмкость)
Покрываем его лаком. Иначе кристалл со временем начнёт постепенно разрушаться.
1111/1111,химия,наука,кристаллы,сделай сам

Полученный кристалл не отличается по форме от кристалла-затравки, так что очень важно выбрать хороший кристалл с самого начала, от этого будет зависеть результат.
<b> P.s. Медный купорос-ядовит! Постарайтесь хотя бы надеть перчатки. </b>
,ремень,поделки,сделай сам

Отличный комментарий!

когда прикол удался
Фотография 2 из 12198	Закрыть
Добавлена сегодня | Мне нравится 56
Шиона Фриз
это пиздец, товарищи! Я такую сделала, только с фоткой девки. Сказала 6лиэкой(!) подруге, типо это была любовмюда моего парня, она поклялась что никому не скажет, дружин с детства как бы.
Сегодня менты ржали со всего
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме сделай сам (+986 постов - сделай сам)