apt get
»личное
sudo apt-get install compiz-plugins compiz-plugins-extra
sudo apt-get install gconf-editor
--------------------------------------------------------------
sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install indicator-synapse
--------------------------------------------------------------
sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install mbuntu-y-docky-skins-v4
************************************************
Download:
Theme: http://j.gs/4qTR
Icon: http://j.gs/4qTS
it мольба пидоры помогли Windows языки программирования С# длиннопост bash песочница debian geek Операционная система программирование proxmox debiam omv
Как я по-быстрому инвенту хотел
По мотивам поста http://joyreactor.cc/post/4735169
В нём я писал что туповат, а быструю инвенту хочется, а так-же обещал сделать пост с готовым решением, когда смогу реализовать.
Здесь будет парочка довольно дубовых батников от которых у прошаренных пользователей винскриптов заболят глаза, так-что осторожно.
Итак, наша задача максимально просто и быстро инвертаризовать парк примерно в 70 виндовых машин. Машины не в домене, пользаки разные и не соответствуют пользователям, а среди данных что нам нужны есть фио и отдел пользователя машины. Приводить всё к красивостям и стандарту ввиду наличия лени и других задач не хочется, а данные надо сейчас.
Варианты:
Первый: правильный, красивый, надо много работать руками, и сначала привести в порядок уже имеющийся парк. Подал: http://joyreactor.cc/user/chuma. https://www.total-network-inventory.ru/ Красивая реально клёвая штука. Бегаем по пользакам\выпрашиваем возможность подключиться и создаём на каждой тачке админского пользака с некоторым логопассом, открываем 445 tcp, вбиваем диапазон адресов, наслаждаемся офигенски детализированной инвентой. Не решает вопросов с тем, что фио пользака не соответствует имени усера, но это решаемо просьбой запустить скрипт который я приведу ниже, свяжем ip и пользователя машины. Ну или в процессе создания учеток для инвенты это можно провернуть.
Скрипт:
@echo off
set /p UserInputData=vashe fio i otdel BEZ PROBELOV:
ipconfig /all | find "IPv4" > echo > \\vash_server\inventory\%UserInputData%.txt
Cmd не хавает пробелы, так-что вводим через _. Можно было поиграться и добиться наличия пробелов наверное, но это во-первых не страшно, во вторых играться с кодировками на разных тачках невесело. Получаем тхт файлы проименованные фио и отделами пользаков, внутри которых строка с их ipшником. В табличке связываем данные, готово. Найс. Но не таков мой путь, по крайней мере не сейчас. Потом обязательно надо будет приобрести эту прогу, будет очень красиво. Переходим к следующим вариантам.
Подал: http://joyreactor.cc/user/Asmyshlyaev177. В общем-то я и так смотрел в сторону скрипта запускающего аиду. Пишем скрипт, собираем папку "инвентаризация", внутри батник запускающий аиду со вписанными параметрами, батник же пишет в сетевую папку. Однако, изначально у меня этот вариант не работал, при казалось бы, правильных аргументах. Оказалось, аргументы правильные, аида неправильная. Вывод: не доверяйте безусловно одному варианту программы, попробовать другие тоже стоит.
Скрипт:
@echo off
set /p UserInputData=vashe fio i otdel BEZ PROBELOV:
start .\AIDA64\aida64.exe /R .\result\%UserInputData% /HTML /CUSTOM .\AIDA64\report.rpf
timeout /t 120 /nobreak #пауза чтобы успела отработать аида перез запуском робокопи
robocopy .\result \\vash_server\inventory /E #собственно копирование результата инвертаризации
ключи экзешника: /R запуск отчета /HTML формат отчета /CUSTOM отчет берём не стандартный, а из .rpf файла, его можно сгенерировать запустив предварительно мастер отчетов, отбросив ненужные параметры, в стандартном многовато ненужного, например тесты, оно только тормозить бедную машину будет. Почему использовать robocopy а не сразу писать в целевую папку? Потому-что у меня почему-то при полностью открытых правах на эту сетевую папку туда писать сразу не смогло. Решил вопрос robocopy.
Итого, собираем папку в которой: есть папка с .exe аиды. В неё же кладём кастомный .rpf. Рядом с папкой аиды делаем папку result в которую будет ложиться результат инвенты. Рядом со всем этим кладём батник. Скидываем пользакам любым способом, просим запустить. Им выкидывается консоль с просьбой ввести фио и отдел, они вводят, аида отрабатывает инвертаризацию, именует файл данными которые ввёл пользак, затем робокопи копирует его в вашу сетевую (или не очень) папку, оттуда забираете всё готовое.
Понимаю что оно всё более прошаренным ребятам не надо, но нам, туповатым эникеям тоже надо как-то жить и плодить свои костыли, чтобы потом на них учиться)
Отдельная благодарность http://joyreactor.cc/user/opie, который откликнувшись аж заморочился на написание под это дело проги на настоящем взаправдашнем языке. Страница на GitHub: https://github.com/mnocard/ConsoleApp1
Ну и вдогонку, вот вам мои ленивые скрипты для разворота тачек на 9м дебе, когда лень копипастить со страниц документации
proxmox 5 на debian 9 stretch:
#!/bin/bash
echo -e "\e[32mINSTALL PROXMOX SCRIPT\e[0m"
echo "s for start proxmox installation"
echo "e for exit"
read doing
case $doing in
s)
echo -e "\e[32mSTARTING INSTALLATION\e[0m"
ip=$(ip r l | grep -oE '\b[0-9]{1,3}(\.[0-9]{1,3}){3}\b' | tail -1)
#строка для переменной находящей локальный ip машины
hostname=$(hostname)
#находим имя хоста
echo -e "127.0.0.1 localhost.localdomain localhost\n$ip $hostname.proxmox.com $hostname\n# The following lines are desirable for IPv6 capable hosts\n::1 localhost ip6-localhost ip6-loopback\nff02::1 ip6-allnodes\nff02::2 ip6-allrouters" > /etc/hosts
#изменяем файл hosts
hostname --ip-address > 1
if grep $ip ./1
#проверяем корректность изменения хостс файла
then
echo -e "\e[32mHOSTS FILE CORRECTLY REDACTED STARTING INSTALLATION\e[0m"
sleep 5
rm ./1
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
# optional, if you have a changed default umask
apt update && apt dist-upgrade --yes
deb [arch=amd64] http://download.proxmox.com/debian/pve stretch pve-no-subscription
apt install proxmox-ve postfix open-iscsi --yes
echo -e "\e[32mSUCCESSFULLY DONE! WAIT UNTIL SYSTEM REBOOTED!\e[0m"
sleep 5
apt remove os-prober --yes
echo # > /etc/apt/sources.list.d/pve-enterprise.list
#удаляем платный репозиторий
reboot now
else
echo -e "\e[40m HOSTS FILE REDACTED UNSUCCESSFULLY, REDACT HOSTS FILE AND SCRIPT\e[0m"
sleep 10
rm ./1
exit 0
fi
;;
e)
exit 0
;;
*)
echo "wrong key"
esac
OMV на debian 9 stretch:
#!/bin/bash
echo "omv install script"
echo "s start"
echo "e exit"
read doing
case $doing in
s)
echo "starting install"
apt-get update
apt-get install --yes apt-transport-https
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public arrakis main
deb https://downloads.sourceforge.net/project/openmediavault/packages arrakis main
deb https://packages.openmediavault.org/public arrakis-proposed main
deb https://downloads.sourceforge.net/project/openmediavault/packages arrakis-proposed main
deb https://packages.openmediavault.org/public arrakis partner
deb https://downloads.sourceforge.net/project/openmediavault/packages arrakis partner
EOF
export LANG=C
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get --allow-unauthenticated install openmediavault-keyring
apt-get update
apt-get --yes --auto-remove --show-upgraded \
--allow-downgrades --allow-change-held-packages \
--no-install-recommends \
--option Dpkg::Options::="--force-confdef" \
--option DPkg::Options::="--force-confold" \
install postfix openmediavault
omv-initsystem
echo "omv installed sucessfuly"
exit 0
;;
e)
echo "script stopped"
exit 0
esac
Опять же, эти скрипты легко заменяются копипастой ручками комманд со страниц документации, но оно же красивее и удобней когда есть скрипт)
Благодарю всех помогавших глубокоуважаемых пидоров, надеюсь помог кому-нибудь со сходным родом деятельности и проблемами.
3x-ui shadowsocks длиннопост Кликабельно Linux Операционная система мопед не мой
Ссылка на GitHub автора скрипта
3x-ui это удобная централизованная панель управления клиентами Shаdоwsоcks-а- созданного для oбхoда цeнзуpы.
Её основные фичи:
- Мониторинг состояния системы.
- Мониторинг подключенных клиентов.
- Поддержка многопользовательской и многопротокольной работы.
- Статистика трафика, ограничение трафика и ограничение времени работы для каждого клиента.
- Поддерживает применение SSL-сертификата для домена в один клик и его автоматическое продление (при наличии домена).
1. Установка на linux сервер.
apt update && apt upgrade -y |
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) |
В конце очень быстрой установки, мы получим логин и пароль.
Либо, мы сами вводом свои данные "логин-пароль-порт".
Панель управления 3X-UI находится по адресу: http://yourip:2053 (или ваш порт).
2. Получаем SSL на панель
Расскажу от 3 способах получить SSL, первый, встроен в скрипт 3X-UI. Поэтому начнем с него.
2.1. Через X-UI:
напишем команду в консоли:
x-ui |
Переходим в панель 3X-UI по адресу yourdomain.com:2053(или тот порт, который вы указали при установке). В разделе Panel Settings прописываем пути к сертификатам SSL:
/root/.acme.sh/your_domain_ecc/fullchain |
/root/.acme.sh/your_domain_ecc/your_domain |
2.2. Через Cloudflare. Прилинковываем наш домен к Cloudflare и выпускаем сертификат на 15 лет через их сервис
2.3. Через Acme:
apt install cron && apt install socat |
curl https://get.acme.sh | sh -s email=mail@mail.com |
mkdir -p /var/lib/certs/ |
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone \ -d DOMAIN \ --key-file /var/lib/certs/key.pem \ --fullchain-file /var/lib/certs/fullchain.pem |
Добавляем наши полученные сертификаты в панель 3X-UI, вместе с доменом.
3. Создаем VPN профайлы
3.1 ShadowsocksПереходим на вкладку Inbounds > Add InboundRemark — любое рандомное название
Protocol — shadowsocks
Нажимаем Create
3.2 VLЕSS + Rеаlity
Remark — любое рандомное название
Protocol — vless
Port — 443
Ниже, где Transparent Proxy ставим галочку на Reality
uTLS — Chrome
Dest — microsoft.com:443
Server Names — microsoft.com,www.microsoft.com
И нажать кнопку Get New Key > Create
3.3 Если у вас занят 443 порт, то пользуем альтернативу: VLESS/VMESS no 443
Порт — пусто (по умолчанию)
Безопасность — TLS
Протокол передачи — TCP
Сертификат — сертификат с панели, который мы ранее выпустили
uTLS — random
Ну и вы можете сами экспериментировать с протоколами )
4. Безопасность сервера
4.1 Защитим сервер от взлома через брутфорс:
apt install fail2ban -y && apt install ufw -y && apt install nano -y |
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local |
[sshd] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] logpath = /var/log/auth.log findtime = 600 maxretry = 3 bantime = 43200 |
Нажимаем ctlr + x, далее Y и enter, чтобы сохранить.
4.2 Отключаем двухсторонний пинг
Чтобы улучшить нашу маскировку, отключим пинг
nano /etc/ufw/before.rules |
Меняем концовку следующего выражения с ACCEPT на DROP:
4.3 Включаем фаервол
Чтобы включить фаервол, нужно заранее выписать все используемые порты на сервере, для этого мы установим netstat и посмотрим какие порты нужно открыть:
apt install net-tools |
netstat -ntlp | grep LISTEN |
Смотрите порты, которые идут после 0.0.0.0:порт или IP_адрес вашего_сервера:порт, например:
0.0.0.0:993
76.20.7.12:53:::22
Их необходимо открыть в UFW или через панель управления вашим сервером/хостингом.
Смотря как это реализовано у вас.
Например:
ufw allow 22/tcp && ufw allow 443 && ufw allow 40000 && ufw enable |
Подтверждаем через Y + Enter
Напоследок очистимся и перезагрузимся:
apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot |
Теперь можно отсканировать QR код в панели управления и пользоваться vрn на Shаdоwsоcks на вашем устройстве.
личное
Linux: «Вот вам бронзовый куб 1x1x1 м и напильник»
Gentoo: «Вот вам медь, олово, доменная печь»
FreeBSD: «Вот вам кирка и каска с фонариком. Шахта с медью — в той стороне»
Ubuntu: «Вот вам статуя русалки»
Пользователь: «Но здесь же только хвост!»
Ubuntu: «Введите, пожалуйста apt-get install туловище русалки, apt-get install голова русалки, apt-get install руки русалки…»
MacOS: «Вот вам красивые голые девчонки»
Пользователь: «Ух ты! А можно потрогать?»
MacOS: «Заплатите 200 евро и активируйте функцию "Потрогать голых девчонок"...»
Windows: «Нет. Я думаю — Вам определенно нужна чугунная статуя Чапаева…
реактор образовательный самообразование it-безопастность мануал VPN сделай сам системный администратор it длинный пост
Пак знаний, учение свет. #3 Wireguard, поднимаем свой VPN.
Сап джой, будет много текста и картинок, но тебе это понравиться (надеюсь).
Давно хотел написать эту инструкцию, но всё времени не было. Решил заставитьсебя.Немного предыстории, пройдёмся по цифрам и приступим к практике.
Предистория:
Когда я выбирал какой протокол выбрать для поднятия забугорногоVPNсервиса,я ориентировался на то, что-бы туннель обладал высокой пропускной способностьюи не бы чувствителен к небольшой потери сигнала\пакетов (привет мобильноеинтернет соединение).
Тут была инструкция по настройке OpenVPN. Ни в коем случае не хочу приуменьшить вклад анона,так как «я за» любое просвещение людей в компьютерной грамотности. Вот только авторумолчал что OpenVPN достаточно медлителен,и тот же IPSecAES почтив половину производительнее.
Так же любитель пожрать ресурсы хоста.
пруф
Да и скажу честно, в принципе это сложно было назватьинструкцией.
Так же автор забыл о защите самого хоста, а это не мало важно.
Перейдём к практике:
Давайте обновим пакеты, и поставим нужный софт:
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и ждём завершенияустановки\настройки. Скрипт начнёт скачивать нужные файлы для сервера.
Длянастройки клиента на 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 соединение.
Можно перезагрузится :)
Так же мы качали такую замечательную вещь как Fail2Ban, еёможно не настраивать так как она прекрасно работает из коробки. Я оставлю всессылки на все полезные ресурсы в конце, если захотите покопаться.
Заключение:
Отсылаяськ началу этой статьи я бы хотел сказать, что OpenVPN неплохой протокол, как это могло показаться. У Wireguard есть 2существенных минуса:
1) При подключении к хосту, клиенты могут видеть друг-друга. То есть вы можетепропинговать ваше соседнее устройство. Это можно исправить настройками firewall’aи не так критично, но из коробки OpenVPNсразуотрезает подобное.
2) У Wireguard легко детектится его трафик, а именно момент обмена хендшейков(handshake) то есть в сам туннель попасть сложно, но вот определитьи прикрыть его можно легко. Нужно делать обфускацию трафика что-бы было сложнееего заметить. Сам я ещё не опробовал, но хочу заюзать socks5 дляпередачи первичной передачи хендшейка. У OpenVPNестьже готовая приблуда так же «из коробки»
Так же стоит упомянуть что я не настроил авторизацию на сервере через ключ-файл потому что мне лень, но я осталю на это линк ниже.
В принципе на этом всё, спасибо что прочитали, все ссылки на полезные ресурсы прилагаю.
Пост написан исключительно для любимого Джояи для тебя анон лично.
Занимайтесь самообразованием, остаюсь с вами на связи в комментах, если что то забыл - дополню там, пока.
Полезные сслки:
настройка Fail2ban
Wireguard клиенты
Мой ssh клиент
Git-репозиторий скрипта
Да, хочу ещё! :) | |
|
333 (53.2%) |
Нет, пшёл вон :( | |
|
37 (5.9%) |
Я картошка | |
|
256 (40.9%) |
Отличный комментарий!