ServerAdmin.ru
28.9K subscribers
303 photos
35 videos
13 files
2.63K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Нередко возникают ситуации, когда хочется знать, кто и какие приложения запускал на компьютере с системой Windows. Сделать это очень просто, так как у этой ОС есть встроенный функционал по логированию всего и вся, в том числе и информации о работе приложений, причём не только запуска.

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

Конфигурация компьютера ⇨ Конфигурация Windows ⇨ Параметры безопасности ⇨ Локальные политики ⇨ Политики аудита ⇨ Аудит отслеживания процессов.

После включения политики, необходимо её обновить:
> gpupdate /force

Теперь идём в журнал Windows, раздел безопасность и смотрим события с ID 4688 это запуск процесса и 4689 - завершение. Далее эти логи можно отправить, к примеру, в ELK и там хранить и анализировать. Если нужен только мониторинг, то можно взять Zabbix, настроить триггер на запуск какого-нибудь нежелательного приложения.

#windows #security
​​Какой самый простой способ передать ссылку или небольшой текст с компьютера на смартфон? Правильно, отправить его самому себе через Telegram 😎 Всегда так делаю. А если нет мессенджера? Тут уже начинают шевелиться извилины, так как задача становится не такой уж и тривиальной.

Можно воспользоваться очень простым скриптом на Python, который будет генерировать QR-код из содержимого буфера обмена. Для этого нужна пара библиотек: qrcode и pyperclip.
# pip install qrcode pyperclip
Теперь можно запустить скрипт:
# git clone https://github.com/Louise-h-aa/qrclip.git
# cd qrclip
# python3 qrclip.py

Содержимое буфера обмена окажется в виде QR-code прямо в консоли. Я проверял локально на WSL. Не знаю, сработает ли в консоли сервера. Мне кажется, что нет, так как при подключении по ssh у сервера доступа к локальному буферу не будет.

Я решил сам немного переделать скрипт, чтобы текст для qr-кода можно было передать либо как параметр, либо ввести его в консоль, если скрипт запущен без параметров:

#!/usr/bin/env python3

import sys
from qrcode import QRCode, ERROR_CORRECT_L
def print_qr_code(text: str) -> None:

  qr = QRCode(
    version = 1,
    error_correction = ERROR_CORRECT_L,
    box_size = 10,
    border = 4
  )
  qr.add_data(text)
  qr.make(fit = True)
  qr.print_tty()

if __name__ == "__main__":
  if len (sys.argv) > 1:
    print_qr_code(sys.argv[1:])
  else:
    text: str = input()
    print_qr_code(text)

Это, кстати, наглядный пример простоты изучения Python. Я не умею на нём программировать, но код настолько простой и человекочитаемый, что я просто посмотрел на него, загуглил, как реализуется текстовый ввод в python, а так же передачу текста через параметры командной строки. Посмотрел, как пишется простой цикл и всё реализовал. Потратил буквально 30 минут. Стало интересно самому разобраться. В итоге всё получилось. Завис только на одном моменте. Не знал, как вывести список, пропустив нулевой элемент в нём. В итоге нашёл - [1:].

Теперь можно передать нужную строку в качестве параметра запуска:
# python3 qrclip.py https://ya.ru https://serveradmin.ru

Если хотите изучать программирование, начните с Python. Я помню как посмотрев пару бесплатных уроков, написал простенького бота. Даже публиковал его здесь, но его сразу сломали :) В целом, python очень простой. Его даже приятно изучать и что-то писать, не то что bash.

#python
​​Когда речь заходит о программном шлюзе, первое, что приходит в голову это наиболее популярный Pfsense. Более продвинутые, кто предпочитает настраивать шлюзы через cli, вспомнят про VyOS. Но есть ещё один продукт, который я лично использовал - IPFire.

Это аналог Pfsense, только на Linux. Причём сделан не на основе готового дистрибутива, а собран из исходников самостоятельно авторами. То есть там под капотом не какой-то условный debian или centos. Поэтому там нет ничего лишнего. Разработчики заявляют, что всё собрано и оптимизировано конкретно под задачи маршрутизации и фаервола. Отсутствие лишних компонентов повышает безопасность и стабильность системы.

Всё управление через web браузер, в консоль ходить не надо. На мой взгляд IPFire проще сделан, меньше функционала, но и настроить, разобраться быстрее. Лично мне по логике работы и организации функционала IPFire понравился больше Pfsense, когда я его использовал. Но это субъективно, не претендую на какой-то анализ и сравнение.

Основные задачи, которые решает IPFire:
DHCP и DNS сервер.
Firewall. Сделан на базе iptables.
QOS.
Intrusion Prevention System (IPS). Построена на базе Suricata.
Web Proxy. Под капотом Squid.
Ipsec и OpenVPN.

В IPFire удобно организована настройка OpenVPN через браузер. Уже даже для одной этой задачи имеет смысл его рассмотреть и попробовать. Из необычного, там реализован функционал 2FA для соединений на базе типовых сертификатов (с паролем или без) и дополнительного pin кода.

Функционал можно расширять с помощью дополнений. Их там довольно много. Можно реализовать типовой функционал для linux дистрибутивов: Samba, NFS Server, Bacula, Borg Backup, Postfix и т.д. Можно поставить Zabbix Agent, чтобы организовать нормальный мониторинг системы. В веб интерфейсе есть русский язык.

Проект живой, регулярно обновляется. Последний релиз - 17 сентября этого года. Сам софт бесплатный, исходники открыты. Компания зарабатывает продажей готового железа с преднастроенной системой.

Думаю, среди читателей найдётся немало людей, кто использовал или использует IPFire. Поделитесь, почему остановились именно на нём, а не каком-то другом продукте.

Сайт - https://www.ipfire.org
Исходники - https://github.com/ipfire/ipfire-2.x

#gateway #firewall
В Linux есть необычное псевдоустройство /dev/urandom для генерации псевдослучайных чисел. Его много где используют. Например, забить какой-то диск случайными данными для полного удаления предыдущей информации:

# dd if=/dev/urandom of=/dev/sda3

С помощью /dev/urandom удобно генерировать пароли с заданной длиной и сложностью. Пример простого пароля из 8 символов, с строчными и заглавными буквами:

# < /dev/urandom tr -dc 'a-zA-Z' | fold -w 8 | head -n 1

Добавляем сюда цифры и увеличиваем длину:

# < /dev/urandom tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1

Добавляем некоторые спецсимволы и ещё увеличиваем длину:

# < /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5

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

Можно добавить алиас в .bashrc, чтобы быстро генерировать пароли:

alias randpw='< /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5'

Перечитываем .bashrc и проверяем:
# source .bashrc
# randpw
oDQ7Fw@a#QhJ
364UG@j8T1Mm
UxwRZU9K1bIH
GfToKOi#fmgl
ZB!Qv6eI#cp5

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

А вы как генерируете пароли? Если кто-то знает, подскажите, как в примерах с urandom сделать так, чтобы в каждом пароле обязательно присутствовал спецсимвол, число и буква. Я не могу сообразить, как это сделать. В текущем варианте это всё рандомно и иногда спецсимволов нет, поэтому приходится по несколько паролей выводить, чтобы точно получить нужный.

#bash #linux
Я решил в конце каждого месяца публиковать топ постов по нескольким параметрам. Мне кажется, что это может быть интересно и полезно. Но это только моё мнение, потому что я веду канал и мне эта информация нужна.

Проголосуйте за этот пост 👍, если хотите видеть такой топ раз в месяц или 👎, если он не нужен.

📌 Больше всего просмотров:
Подборка бесплатных обучающих материалов (7602)
RouterOS Scanner от Microsoft (6898)
HTTP сервер на базе Python для передачи файлов (6851)

📌 Больше всего комментариев:
Промо тариф Aeza (193)
Мониторинг каналов в Mikrotik (119)
Обзор Nextcloud (106)

📌 Больше всего пересылок:
Подборка бесплатных обучающих материалов (679)
HTTP сервер на базе Python для передачи файлов (615)
Работа с файлами и директориями в bash (428)

📌 Больше всего реакций:
Работа с файлами и директориями в bash (198)
HTTP сервер на базе Python для передачи файлов (174)
Выдвижной ящик для слота 5,25 системного блока (109)
Падение моего сайта, анализ проблемы (109)

#топ
Media is too big
VIEW IN TELEGRAM
Прикольный старый ролик про админов, который я впервые увидел на днях. Решил с вами поделиться, может кто не видел. Первый раз можно посмотреть без звука для более острых впечатлений. А потом уже со звуком. Центральной шуткой тут является настройка циски. Девчуля вводит команду:

switchport trunk allowed vlan 265

и забывает добавить add после vlan. В итоге она не добавила новый vlan, а просто стёрла все остальные, оставив только один. Чаще всего это приводит к потере сетевого доступа к коммутатору. Ошибка типичная, много кто с ней сталкивался. Обычно одноного раза достаточно, чтобы больше не ошибаться. 

Все ролики из этого цикла (всего 3):
https://www.youtube.com/watch?v=rjqe8T5XBmw
https://www.youtube.com/watch?v=WNnJ0gjPgEs
https://www.youtube.com/watch?v=ncXTQ83eW7Q

#юмор
Я стараюсь время от времени ходить на конференции (не онлайн). Это нужно для того, чтобы не замыкаться в какой-то одной области. Периодически у меня бывает реклама подобных конференций. На некоторые я хожу. Например, недавно была конфа от TrueConf, которую я посетил. Пробыл там до обеда, на всю времени не хватило. До этого ходил на конфу от VKCloud.

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

В доковидные времена ходил чаще, причём не только по ИТ тематике. Мне нравилась информация по маркетингу, сео, обучению. Например, я был на конференции по производству и продаже курсов, не только айтишных. Было интересно узнать изнутри, как работает эта индустрия. Как производят продукт, как рекламируют, как продают. Например, обычное дело сначала разрекламировать курс, узнать спрос, продать его и только потом начать создавать. Очевидно, что такие курсы лучше не покупать, потому что результат не гарантирован.

На последней конференции впервые узнал что у Astra Linux есть полностью своё решение по VDI, которое выведено в отдельный продукт Termidesk. Это самостоятельный продукт без привязки к какой-то системе виртуализации. С его помощью можно организовать виртуальные рабочие места с различным доступом к ним: через клиент, по протоколами rdp, vnc, через браузер. Сделаю отдельную заметку про него.

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

#разное
​​Какой айтишник не хочет бросить свою монотонную, однообразную работу и открыть айтишный стартап? Практически любой не хочет 😀 Есть возможность попробовать это сделать в лёгкой и непринуждённой игре Startup Panic.

Это симулятор IT бизнесмена-стартапера, который начинает путь с программирования в спальне своего нового продукта, который покорит мир. У меня, кстати, была одно время идея выучиться программированию, чтобы можно было создать что-то своё. Я даже начал изучать Python для этого. В процессе понял, что нужно несколько лет потратить на обучение, чтобы создать что-то действительно стоящее, отказался от этой идеи. Не в этой жизни.

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

Понравился один из комментариев к игре:
Вот бы в жизни можно было просто свалить с работы, создать свою собственную компанию и стать вторым Биллом Гейтсом, но вот только он бросил Гарвард, а ты общеобразовательную школу №3.

Если нет возможности купить игру в стиме, то можно на торрентах взять.

Steam - https://store.steampowered.com/app/1045610/Startup_Panic/

#игра
​​На днях упоминал про систему организации виртуальных рабочих мест Termidesk. Сегодня расскажу о ней подробнее. Это российское программное обеспечение, включённое в реестр отечественного ПО. С его помощью реализуется функционал диспетчера удалённых подключений к виртуальным машинам под управлением операционных систем Linux и Windows.

Termidesk поддерживает следующие системы виртуализации: ПК СВ «Брест», zVirt, VMware, Aerodisk vAir, oVirt, Openstack и некоторые другие. То есть это универсальный продукт под разные системы виртуализации, с которыми он работает через плагины расширения.

В качестве гостевых систем для рабочих мест могут использоваться Windows 7,8,10, Windows Server, Astra Linux, Alt Linux, Debian, Ubuntu, CentOS. Для взаимодействия с Termidesk в операционные системы устанавливается агент.

Подключение к рабочим местам может осуществляться через различные протоколы. Если в системе есть RDP, то можно через него. Также поддерживается протокол SPICE, через который можно подключаться к экрану виртуальной машины. Этот протокол взаимодействия напрямую с гипервизором. Через него в том числе работает проброс usb устройств, работа мультимедиа (usb камер и микрофонов). То есть удалённое рабочее место можно использовать для полноценного общения.

Ещё один вариант подключения - через termidesk viewer. Если я правильно понял, то он использует взаимодействие с установленным агентом. Все эти подключения можно устанавливать как через браузер, так и через клиент, который представляет из себя приложение для операционной системы.

В качестве авторизации поддерживается множество популярных механизмов: локальная БД, MS Active Directory, LDAP/OpenLDAP, FreeIPA, Astra Linux Directory, IP адреса. Устанавливается Termidesk просто. Это обычный deb пакет для бесплатной ОС Astra Linux Common Edition, либо платной Astra Linux Special Edition. После установки из пакета, управление и настройка осуществляются через браузер.

В настоящее время Termidesk предлагает бесплатно лицензию на 4 конкурентных соединения с пользовательских рабочих станций. Получить её можно только вручную, отправив запрос через специальную форму на сайте. Платная версия лицензируется либо по количеству пользователей, либо по количеству одновременных соединений. Стоит от 5000 р. за пользователя, и от 9000 р. за соединение. Это стоимость за год. Цены смотрел в softline.

Посмотреть, как Termidesk работает на практике со стороны пользователя можно с помощью demo - https://termidesk.ru/vdi-demo, учётка termidesk1 / termidesk1. Можно как через браузер заходить, так и клиент себе поствить.

❗️Обращаю внимание, что через demo доступны несколько версий полноценных операционных систем с выходом в интернет. Там есть в том числе и браузеры. Можно использовать их в различных целях. Только не надо заниматься каким-то вредительством. Наверняка все подключения логируются. Если какие-то вредители начнут гадости делать, то демо скорее всего закроют. После завершения сеанса все изменения удаляются. Заново подключается уже эталонный образ.

Сайт - https://termidesk.ru/
Реестр ПО - https://reestr.digital.gov.ru/reestr/306667/

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

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

Я уже как-то делал подобную заметку с примерами похожих историй в РФ, которые закончились плачевно для админов. Хочу лишний раз напомнить, что какие бы ни были у вас разногласия на работе, никогда не занимайтесь вредительством. Вы сделаете себе проблем гораздо больше, чем обидчикам. Так или иначе с вашей диверсией разберутся, а вот вы можете и на нары загреметь, не говоря уже о том, что испортите себе репутацию, возможно на всю жизнь. Обида и расстройство пройдут, а сделанное не исправить.

У меня были ситуации, когда хотелось отомстить, и не раз. Однажды даже до конкретных действий дошло, но вовремя остановился (положил сайт ддосом, но сразу прекратил, как он лёг, никто не пострадал и даже не заметил). Признаю, что был не прав, хотя меня и вынудили, обманув. Всякий раз себя сдерживаю и как показала практика, не зря. Никогда не знаешь, как жизнь повернётся. Какие бы ни были разногласия и конфликты, лучше просто расстаться и всё.

У вас были моменты, когда хотелось отомстить работодателю, пользуясь своими доступами? Я, кстати, всегда, когда устраивался на новое место, спрашивал у работодателя, почему и как расстались с бывшим админом. Хотелось знать, могут ли быть проблемы из-за конфликтов в прошлом.

#разное
​​В комментариях в заметке про VDI со мной поделились классным софтом - PVE-VDIClient. Это простой клиент на Python, с помощью которого можно напрямую подключаться к виртуальным машинам PVE по протоколу SPICE. Не нужен никакой дополнительный софт, типа RDP или VNC. Вы напрямую подключаетесь к консоли виртуальной машины.

Для чего это может понадобиться? Например, у вас есть Raspberry Pi и вы хотите сделать тонкий клиент для работы в ОС Windows с пробросом микрофона, камеры и звука. Вот подробное видео реализации:
https://www.youtube.com/watch?v=TuDrmq4RQzU

Я вчера потратил несколько часов, пока не разобрался полностью как это работает. В итоге запустил PVE-VDIClient на Windows 10 и 11. Рассказываю по шагам, что нужно сделать.

1️⃣ Добавляем в PVE новых пользователей и отдельную группу для них. Назначаем этой группе права доступа: VM.PowerMgmt, VM.Console, VM.Audit. Можно на конкретные виртуальные машины или на все сразу.

2️⃣ Виртуальным машинам, к которым будем подключаться по SPICE, в настройках указываем Display: SPICE и добавляем ещё один USB Device: Spice Port.

3️⃣ На ОС Windows, с которой будем подключаться, устанавливаем Python 3.10. Я установил через Microsoft Store. Далее идём в репозиторий, скачиваем файл requirements.bat и запускаем его. Либо просто вручную установите pip пакеты, которые там указаны.

4️⃣ Далее скачиваем virt-viewer под Windows и устанавливаем. После этого идём в releases и скачиваем последнюю версию PVE VDI client, устанавливаем.

5️⃣ В директорию C:\Program Files\VDIClient кладём файл vdiclient.ini, образец которого есть в репозитории под именем vdiclient.ini.example (example удаляем). Тут важно сделать несколько настроек, без которых у меня ничего не работало.

В разделе [Hosts] пишем адрес своего гипервизора и его порт 8006:
10.20.1.2 = 8006

В разделе [SpiceProxyRedirect] редактируем параметр:
prox.zeroxzed.ru:3128 = 10.20.1.2:3128
prox.zeroxzed.ru - имя хоста, которое можно посмотреть в веб интерфейсе, в разделе System ⇨ Hosts. В инструкции нигде не указано, что нужно это сделать, а дефолтная запись выглядит вот так:
pve1.example.com:3128 = 123.123.123.123:6000
Попробуй тут догадайся, что надо написать.

В разделе [Authentication] есть параметр auth_backend. По умолчанию он имеет значение:
auth_backend = pve
Если поменять его на
auth_backend = pam
Сможете подключаться дефолтной учёткой root, под которой заходите в веб интерфейс. Если это ваш тестовый гипервзиор, то логичнее поступить именно так и не создавать отдельных пользователей.

6️⃣ Теперь можно запускать VDI клиент, подключаться к гипервизору под созданной учётной записью и запускать виртуальную машину. Для увеличения быстродействия и лучшей работы с видео, в гостевые ОС рекомендуется установить SPICE guest tools. Но и без них всё будет работать.

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

Полезные ссылки, которые пригодились в процессе настройки:
Исходники - https://github.com/joshpatten/PVE-VDIClient
Virt-manager - https://virt-manager.org/download/
Spice-guest-tools - https://www.spice-space.org/download.html
PVE SPICE - https://pve.proxmox.com/wiki/SPICE
Raspberry Pi THIN CLIENT for Proxmox VMs -
https://www.youtube.com/watch?v=TuDrmq4RQzU

#vdi #proxmox #виртуализация
​​Вчера была очередная рассылка от компании Mikrotik. Из новостей ничего интересного не увидел, кроме анонса нового устройства hAP ax³. Это отличный wifi роутер для дома. Там 4-х ядерный процессор, 1GB памяти, Wi-Fi 6 и 4 гигабитных порта. Оптимальные характеристики для дома.

Всё хорошо, если бы не цена на эти устройства в РФ. Базовая стоимость производителя $139 - хорошее предложение для такого устройства. Если ориентироваться на другие модели Mikrotik, то в РФ цена будет в 2-2,5 раза больше, то есть в районе 20000 р.

Мне сейчас для дома нужно купить модем с встроенным WAN на LTE, свитч и Wi-Fi роутер (3 отдельных устройства). Раньше я бы не раздумывая взял Mikrotik, так как они мне нравятся. Сейчас в квартире и на даче всё на них работает. Но в текущих условиях так переплачивать не хочется, потому что объективно весь этот функционал мне не нужен, надо просто чтобы интернет работал в доме.

Как считаете, на каком вендоре сейчас стоит остановиться для домашнего использования с учётом цен? Я никогда не следил за ними, так как брал везде Mikrotik. Сейчас поискал роутеры с WAN LTE, предложений очень много от различных брендов с ценами от 3000 р. и выше. Микротики сейчас явно вне рынка. Я присмотрелся к Keenetic, TP-Link (дешевле всех, хз как там с качеством), Huawei.

#железо
​​Последние заметки про VDI (Virtual Desktop Infrastructure,) породили много вопросов в комментариях на тему того, зачем всё это нужно, если есть протокол RDP для удалённой работы. Во-первых, системы VDI не противопоставляют себя каким-то другим доступам. Более того, они чаще всего включают в себя поддержку и RDP соединений и многих других (VNC, SPICE). Во-вторых, если и сравнивать VDI, то с Remote Desktop Services (RDS) в составе Windows Server.

Например, есть бесплатное решение OpenUDS для организации VDI. Вот его основные возможности:
Поддержка open source платформ виртуализации: oVirt, OpenNebula, Open Stack, XCP-ng, Proxmox, а также платных: Citrix Hypervisor, Microsoft Hyper-V, Nutanix Acropolis, VMware.
Поддержка протоколов доставки рабочего стола: RDP (в том числе через HTML5), X2Go, SPICE (только для QEMU).
Поддержка аутентификации: LDAP (в том числе MS AD), IP/mac-адреса, внутренняя БД, Radius.
Клиенты Linux и Windows для подключений.

Как это выглядит на практике. Вы берёте гипервизоры Proxmox, можно кластер. Настраиваете OpenUDS и подключаете через провайдера гипервизоры к системе. Настраиваете ту или иную аутентификацию пользователей, создаёте их. Готовите шаблоны операционных систем. Настраиваете поведение тех или иных систем. Например, при отключении пользователя система может уничтожаться, а при подключении разворачиваться заново из шаблона. Либо сделать постоянные рабочие места с сохранением состояния.

Далее создаёте транспорт в виде различных протоколов доступа к системам и связываете из с пользователями. Кто-то будет подключаться по RDP, кто-то по X2Go, кто-то по SPICE. Пользователю на компьютер устанавливается openuds-client, с помощью которого он подключается к системам, к которым имеет доступ. Это объяснение на пальцах, как принципе всё работает.

Зачем может пригодиться подключение по SPICE, если есть RDP? Во первых, SPICE работает на уровне гипервизора. У вас всегда будет доступ к VM. В теории SPICE умеет работать с видеокартами на хосте, он умеет адекватно обрабатывать видео, прокидывать видеокамеру, микрофон. С его помощью можно организовать полноценное удалённое рабочее место того же дизайнера или проектировщика. Это в теории, на практике там наверняка много нюансов и надо разбираться. Скорее всего не всё и не везде поддерживается. Разработчики Termidesk рассказывали, что они дорабатывали SPICE самостоятельно, чтобы он нормально работал c видеокартами и жал видеопоток от камеры. По умолчанию он этого не делает, поэтому нужен широкий канал для нормальной картинки.

Очень подробное описание и настройка OpenUDS:
https://www.altlinux.org/VDI/OpenUDS
Я изучил инструкцию. На вид всё довольно просто и логично настраивается. В основном через веб интерфейс. Есть возможность поднять HA кластер:
https://www.altlinux.org/OpenUDS_HA
Хочу отметить, что у команды altlinux очень хорошие подробные руководства, по которым зачастую копипастом можно настроить.

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

#vdi #виртуализация
​​Не знаю, слышали вы или нет, есть такая компания - Киберпротект. Она фокусируется на программах для бэкапа. Если поискать информацию в интернете, станет понятно, что это отпочковавшаяся от Acronis компания, открытая под рынок РФ, чтобы с одной стороны не попадать под санкции, с другой, чтобы присутствовать в списке отечественного ПО. Сейчас отличия не только в названиях, но и по функционалу. Киберпротект развивается в сторону поддержки отечественных ОС.

Я скачал и развернул у себя последнюю версию Кибер Бэкап 15. Для того, чтобы попробовать, предлагают 30 дневную лицензию. Чисто визуально и по настройке программа понравилась. Настройка через веб панель, понятная и простая. Добавляем хранилище, добавляем машину, настраиваем план бэкапа, запускаем бэкап. Всё наглядно, понятно, по-русски.

Есть некоторые вещи, которые я не понимаю. Почему у российских программ нет бесплатных версий с ограниченным функционалом? Ведь такой подход распространения ПО доказал во всём мире свою эффективность. Я понимаю, что есть продукты, которые сделаны из говна и палок под попил денег. Для таких понятное дело нет смысла делать бесплатные версии. Но далеко не весь софт такой. Тем более упомянутый Кибер Бэкап это самостоятельный, неплохой продукт, который не стыдно показать.

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

Решил написать об этом, потому что последнее время всё чаще и чаще приходится сталкиваться с отечественным ПО, причём реально разработанным самостоятельно. И хорошо, если хотя бы цены буду указаны прямо. Иногда даже этого нет. А про бесплатную версию с ограниченным функционалом даже говорить не приходится. Чаще всего её нет, хотя есть исключения (например, Radmin VPN).

Сайт - https://cyberprotect.ru/products/backup/

#backup #отечественное
​​Если вам нужно скрыть UDP трафик или организовать соединение там, где разрешено только TCP или ICMP, то может помочь Udp2raw-tunnel. Это open source решение от автора UDPspeeder, про который я рассказывал отдельно.

Udp2raw умеет маскировать UDP пакеты, добавляя фейковые ICMP/TCP заголовки. Фаерволы, не имеющие в своем арсенале анализаторов пакетов, будут считать их пакетами соответствующих протоколов с фейковыми заголовками.

При этом настроить и запустить в работу Udp2raw очень просто. Достаточно скачать бинарник, запустить его с некоторыми параметрами. И то же самое сделать со стороны клиента.

# Запустить со стороны сервера:
./udp2raw_amd64 -s -l0.0.0.0:4096 \
-r 127.0.0.1:7777  -k "passwd" --raw-mode faketcp -a

# Запустить со стороны клиента:
./udp2raw_amd64 -c -l0.0.0.0:3333 \
-r44.55.66.77:4096 -k "passwd" --raw-mode faketcp -a

Подключение к локальному UDP порту 3333 на стороне клиента будет эквивалентно подключению к локальному порту 7777 на сервере. При этом через туннель пойдёт фейковый TCP трафик.

Зачем это может быть нужно? Например, в публичных сетях часто закрыт UDP трафик, открыт только TCP на 80 и 443 порту. С помощью Udp2raw можно обойти это ограничение. Правда я в этом случае использую OpenVPN на TCP порту. Но он достаточно легко определяется и блокируется при желании.

Если заблокирован и TCP и UDP, то поднимаем фейковый туннель через ICMP. Со стороны своего сервера настраиваем OpenVPN, через ICMP туннель подключаемся к своему OpenVPN и пользуемся полным доступом в сеть.

Исходники / Инструкция с OpenVPN

#vpn #firewall #security
​​GestioIP - бесплатный open source продукт для управления IP адресации сетей и автоматического обнаружения сетевых устройств. Его можно отнести к IPAM (IPv4/IPv6 Address Management). Для сбора информации о сетевых устройствах используются протоколы ICMP и SNMP.

Программа представляет из себя обычное веб приложение, написанное на Perl. Для запуска требуется веб сервер, например Apache, и база данных Mysql. Поддерживаются все популярные Linux дистрибутивы. Для быстрой установки есть bash скрипт. Он ставит все необходимые пакеты, копирует конфиги, создаёт службу. Для быстрого запускать можно запустить всё в докер. Есть готовый контейнер или docker-compose для запуска всех сопутствующих служб разом.

📌 Основные возможности GestioIP:
 Всё управление через веб интерфейс.
 Интеграция с DNS и DHCP.
 Автообнаружение сетей, хостов, VLAN.
 Калькулятор подсетей, отображение свободных адресов и сегментов сети.
 Экспорт и импорт информации, в том числе в xls таблицы.

Как я уже сказал, GestioIP бесплатный продукт с открытым исходным кодом. Развивается за счёт платных модулей (API, управление конфигурациями) и технической поддержки.

Из особенностей GestioIP можно отметить интеграцию с OCS Inventory NG (бесплатное ПО для инвентаризации сети). С помощью Apache mod_auth можно настроить авторизацию в веб интерфейс через AD или другой LDAP.

Продукт довольно простой, в веб интерфейсе ничего лишнего. Заточен именно под управление IP адресами. Вот аналоги со схожим функционалом:
phpIPAM (программа исключительно для IPAM)
NetBox (IPAM не основной функционал)

Думал, что напишу больше список похожего ПО, но когда стал разбираться, понял, что для управления именно IP адресов особо и не знаю больше ничего.

Сайт / Исходники / Docker Hub / Docker Compose

#IPAM #управление #ITSM
На днях опять упал сайт, на этот раз из-за неправильной настройки php-fpm. Он съел всю память под нагрузкой. Я неправильно понимал значение одного из параметров, плюс мониторинга php-fpm не было. Сейчас уже нормально разобрался, настроил мониторинг. Решил сделать заметку по настройке php-fpm. Для себя и для вас.

Php-fpm может работать в трёх режимах:
static - фиксированное количество процессов
dynamic - динамическое управление процессами
ondemand - создание процессов при получении запросов

Я чаще всего использую режим dynamic, так как он универсален. Всегда запущены сколько-то процессов (от 1 и более), а их количество поддерживается по заданным правилам.

Основные параметры, которые настраиваем для режима dynamic.

📌 pm.max_children - указывает на то, сколько всего процессов php-fpm могут быть созданы. Если ошибётесь и выставите слишком большое число, то вся память веб сервера будет занята и oom killer прибьёт какое-нибудь приложение. Опытным путём необходимо выяснить, сколько в среднем памяти занимает один рабочий процесс php-fpm для вашего сайта, потом прикинуть, сколько памяти можно отдать для всех процессов php-fpm. На основе этого задать параметр.

📌 pm.start_servers - количество процессов, запускаемых при старте php-fpm. Можно начинать с небольших значений в 5-10. Остальные процессы будут создаваться динамически.

📌 pm.min_spare_servers - минимальное количество бездействующих процессов. После того, как нагрузка снизилась, остаются бездействующие процессы. Этот параметр определяет, сколько простаивающих процессов будут держаться в запасе на случай, если опять вырастет нагрузка. Создание новых процессов занимает некоторое время, так что наличие простаивающих процессов немного ускоряет обработку новых запросов. В зависимости от посещаемости и всплесков запросов следует выставить этот параметр.

📌 pm.max_spare_servers - максимальное количество бездействующих процессов. Если доступно больше свободных процессов, чем здесь задано, лишние будут завершены. То есть количество простаивающих процессов будет всегда в интервале описываемых spare параметров.

📌 pm.process_idle_timeout - время простоя, по истечении которого бездействующий процесс будет завершён.

Поясню, какой логики надо придерживаться при настройке php-fpm. Если у вас несколько сайтов, то для безопасности каждому сайту лучше создавать отдельного системного пользователя и от его имени запускать отдельный php-fpm пул. Именно в таких ситуациях имеет смысл использовать режим dynamic, так как это компромисс между максимально быстрым и затратным по памяти режимом static и более медленным, но экономным по памяти режимом ondemand.

Если у вас один сайт, один пул, то вы можете точно рассчитать максимально возможное количество памяти под php-fpm и сразу выставить максимальное число процессов. Это самый производительный вариант, так как время на создание новых процессов во время обработки запросов не тратится. У вас всё статично.

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

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

Ещё несколько параметров, про которые тоже надо не забыть.
user = site01_user
group = site01_user
listen = /run/php/site01.ru.sock
slowlog = /var/log/php-fpm/site01.ru.log
php_value[session.save_path]  = /sites/site01.ru/php_session

#webserver #phpfpm
​​▶️ Понравилось видео с Linus Torvalds, где он рассказывает, почему не использует Debian:

https://www.youtube.com/watch?v=qHGTs1NSB1s

Суть его объяснения в том, что он как-то раз пытался установить Debian на Mac и у него не получилось. Больше он не пробовал. Далее поясняет, что многие его считают большим техническим специалистом, потому что он разрабатывает ядро Linux. Но на самом деле это не так. С его слов, он не разбирается в операционных системах, и в плане их обслуживания полный профан. Ставит себе и семье ту систему, которая максимально просто устанавливается и настраивается. Жаль, он не пояснил, какая именно. У меня закрались подозрения, что может это винда 😄.

У меня постоянно спрашивают родственники и знакомые, какой им купить компьютер, ноутбук, смартфон. А я даже не знаю, что ответить. Я вообще не слежу за этой темой. Кто бы мне собрал системник 🙄. Я последний раз собирал компьютер домой около 10-ти лет назад. Желания собирать его самому из комплектующих нет никакого. Если нужен будет системник, куплю в сборе из каких-то готовых вариантов.

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

А вы как обычно отвечаете на подобные вопросы? Рекомендуете какие-то конкретные модели, бренды, решения или общие принципы рассказываете?

#железо
У меня давно создан англоязычный сайт:

https://sysadminwork.com.

Это был пробный шар. 4 года назад я перевёл несколько своих статей, чтобы посмотреть, какой будет результат. Он меня удовлетворил. Через пару месяцев после публикации 6-ти статей было 100-150 посетителей в сутки.

Сейчас, спустя 4 года, посещаемость сайта 30-40 человек. Это при том, что сайт был сделан буквально за пару недель, а через год туда были добавлены ещё 3 статьи. Больше я сайтом вообще не занимался. Аудитория сайта - 15% РФ, далее идёт 11% USA и потом разные другие англоязычные страны.

Я не стал развивать этот сайт, потому что не интересно. Хотя даже первичные прикидки по монетизации показывали, что это эффективнее в плане дохода на затраченное время в 3-4 раза, по сравнению с русскоязычной аудиторией. Но мне хотелось делать что-то полезное для русскоговорящих людей, а не только зарабатывать деньги. Поэтому сайт я забросил и решил, что заниматься им не буду.

Сейчас пришло время очередного продления домена, и я понял, что не хочу больше тратить на него деньги. Заниматься им точно не буду. Сначала решил просто не оплачивать домен и всё закрыть. А потом подумал, что не пропадать же добру. Может кто-то хочет заниматься подобной деятельностью. Тут готовый трастовый домен, хорошее доменное имя, нормальная посещаемость для сайта со старыми 4-х летними статьями-переводами. Можно прям брать мои статьи с сайта или некоторые заметки отсюда и публиковать там переводы. Или вообще какой-то другой проект запустить.

Если у кого-то есть желание каким-то образом использовать этот домен и сайт, я готов его продать за символическую цену в 5000 р. Это та стоимость, за которую мне не жалко потратить своё время на все сопутствующие процедуры по передаче домена и сайта. Если желающих не будет, то я просто не буду продлевать домен. 16 октября он будет заморожен а потом разделегирован.
Меня уже неоднократно просили написать, как я веду Telegram канал. Какие инструменты использую, как готовлю информацию и т.д. Я решил сделать цикл заметок по этой теме, которые буду публиковать по выходным. Сегодня будет вводная публикация с общей информацией и планом постов.

Изначально идеи развивать Telegram канал не было. Сделал его и просто копировал туда ссылки на статьи с сайта. Мне нравился Telegram как мессенджер, активно им пользовался, поэтому решил, что и канал не помешает. Одновременно с ним был создан чат и больше времени я уделял чату. Сам там общался. Сейчас чат продан, его ведёт другой человек и ко мне он отношения больше не имеет.

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

📌 План постов на будущее:
Написание постов: как я пишу посты, где беру информацию, как планирую публикации.
Инструменты для подготовки текста: какие программы использую для создания и планирования публикаций, нюансы подготовки текстов.
Раскрутка канала: как рекламирую и развиваю канал, какие пробовал инструменты и направления.
Работа с рекламодателями: где ищу рекламодателей, как происходят взаиморасчёты, что с налогами.
Статистика канала: на что обращать внимание в статистике, где и как удобнее смотреть, свои инструменты для статистики.

Возможно дополню план, если придут в голову ещё какие-то идеи. Либо вы сами можете задавать вопросы, которые вас интересуют. Постараюсь дать на них ответы в том или ином виде.

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

#развитие_канала