ServerAdmin.ru
31.6K subscribers
853 photos
57 videos
23 files
3K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Думаю, многие из вас знают или слышали о бесплатном продукте Suricata – это система обнаружения вторжений (IDS) и система предотвращения вторжений (IPS) с открытым исходным кодом. Её обычно используют в программных шлюзах и анализаторах трафика. Например, в IPFire, OPNsense, PfSense, Arkime и т.д.

На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:

◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.

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

В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.

Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.

Установка Clear NDR - Community:

# wget https://dl.clearndr.io/stamusctl-linux-amd64
# chmod +x ./stamusctl-linux-amd64
# mv ./stamusctl-linux-amd64 /usr/local/bin/stamusctl

У меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.

# mkdir /opt/ClearNDR && cd /opt/ClearNDR
# stamusctl compose init

Выбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:

# stamusctl compose up -d

Можно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.

К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.

Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:

# stamusctl compose readpcap fulltraf.pcap

Система при запуске заберёт себе и проанализирует весь трафик из файла.

Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org

Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.

🌐 Сайт / Исходники

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#security #gateway
👍109👎3
Помню, как я после изучения Ansible, начал пытаться всё автоматизировать. Была идея под каждой статьёй на сайте оставлять настроенный playbook для воспроизведения. Кое-что автоматизировал, но порыв быстро прошёл.

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

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

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

# curl https://get.docker.com | bash -

Мне видится это самым простым и быстрым вариантом. Так что автоматизация это такое дело, что сначала подумать надо, а потом внедрять. Сейчас ИИ все эти процедуры и подходы трансформирует. Иногда достаточно ему словами написать, что надо, и он тут же тебе всё автоматизирует. А ты идёшь пить крафтовый кофе, или сифон под раковиной менять (наболевшее).

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

#разное
👍138👎1
🎮🎓 1-го сентября была подборка бесплатных обучающих материалов на различные темы. Не стал туда включать игры, так как объём и так большой получился. Отложил это дело на выходные.

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

◽️Oh My Git! — одна из самых известных и популярных игр на тему изучения Git. Для этой технологии, на мой взгляд, сделано больше всего игр.
◽️Vim Adventures — научит выходить из Vim. Играть можно в браузере. Игра платная, бесплатно доступны первые несколько уровней.
◽️Elevator Saga — залипательная игра для изучения JavaScript. Нужно программировать эффективную работу лифта по перевозке людей. Играл в неё сам, мне понравилось.
◽️Bandit — хакерская тематика со взломом через использование консоли в Linux. Проходится на реальном сервере в интернете, к которому надо подключаться. Советую обратить внимание, игра интересная и сложная.
◽️Natas — игра от разработчиков Bandit, но тема другая. Никаких ssh и консоли, только браузер. Нужно проходить уровни, изучая сайт и веб сервер, находя в них уязвимости. 
◽️while True: learn() — головоломка-симулятор на тему машинного обучения, нейронных сетей, ИИ и BigData. В игре вы выступаете в роли тыжпрограммиста, у которого есть кот, который лучше разбирается в it, чем вы.
◽️You're the OS! — условно обучающая игра, которая очень примитивно показывает механику работы операционной системы с процессами. Игра из разряда позалипать и убить время.
◽️GameShell — консольная игра, которая учит основам консольных команд Linux.
◽️ SLASH\ESCAPE — интерактивная атмосферная обучающая игра на тему регулярных выражений.
◽️Linux Master — игра-викторина под Android, где надо отвечать на тесты по различным темам, связанными с ОС на базе Linux.
◽️Симулятор системного администратора — хардкорная игра, где максимально приближённо реализованы будни офисного системного администратора. Даже игрой не поворачивается язык это назвать. Выглядит, как вторая работа 😁
◽️ServiceIT: You can do IT — игра по смыслу и геймплею очень похожа на предыдущую. В ней вы будете работать в IT поддержке и в том числе чинить железяки.
◽️KodeKloud Engineer — вы регистрируетесь и начинаете путь обычного сисадмина. Вас знакомят с проектом, рассказывают, что там к чему. Для него есть подробная схема, wiki, таблица с ip адресами и доступами. Примерно раз в день вам будут давать какое-то задание по этой инфраструктуре. Всё выполняется в виртуальной консоли в браузере, которая эмулирует консоль Linux. Задания максимально приближены к реальным задачам админа или devops.

❗️Отдельно обращаю внимание на последнюю игру. Она максимально приближена к реальности. Вот пример одной из задач, которую я разобрал.

#игра #обучение #подборка
👍76👎2
Простой и удобный сервис для шаринга экрана компьютера – 1fps.video. Как понятно из названия, передаётся всего по 1 кадру в секунду. Благодаря этому сервис максимально простой и лёгкий по нагрузке. Работает это так:

1️⃣ Скачиваете скомпилированный бинарник под вашу систему (win, lin, mac).
2️⃣ Получаете ссылку трансляции экрана и передаёте её куда-то ещё.
3️⃣ Это куда-то ещё открывает ссылку в браузере и видит ваш экран. Никаких регистраций и аутентификаций.

Описание сервиса от автора можно посмотреть на его канале. Я, собственно, там и увидел. Есть несколько публикаций по этому продукту.

Некоторые особенности:
◽️Передаваемые изображения шифруются.
◽️Отслеживается положение курсора.
◽️Если запустить клиента в RDP сессии, то будет транслироваться картинка этой сессии, а не окна логина, как иногда бывает с другими подобными программами.
◽️Поддерживаются несколько мониторов.

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

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

Я сам не разбирался, но думаю, что у меня бы получилось. Там вроде в appconfig.go достаточно заменить url и пересобрать клиента. А для сервера есть скрипт deploy.sh, который просто копирует бинарник с сервером и поднимает Redis в Docker, который нужен для работы сервера.

🌐 Сайт / Исходники

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#remote
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍90👎7
Я делал заметку про небольшой набор полезных для меня алиасов в консоли bash, которые я использую в повседневной работе в WLS2 на базе Ubuntu в своей рабочей Windows 11. Также я отдельно и подробно описывал один из них, который выводит информацию об IP адресах.

Мой набор пополнился ещё одним скриптом, которым хотел бы с вами поделиться. У меня он работает вот так:

$ dinfo yandex.ru
{
 "Checking the domain 'yandex.ru', please wait...": "",
 "Domain": "yandex.ru",
 "IP Address": "77.88.44.55 5.255.255.77 77.88.55.88",
 "Name Server": "Found 2 NS record",
 "Name Server 1": "ns1.yandex.ru (213.180.193.1)",
 "Name Server 2": "ns1.yandex.ru (213.180.193.1)",
 "Name Server 3": "ns2.yandex.ru (93.158.134.1)",
 "Name Server 4": "ns2.yandex.ru (93.158.134.1)",
 "Mail Server": "Found 1 MX record",
 "Mail Server 1": "mx.yandex.ru (77.88.21.249)"
}

Передаём на вход имя домена и на выходе получаем краткую информацию по нему:
◽️IP адреса на основе А записей
◽️NS записи
◽️MX записи

За основу взял вот этот скрипт. Он относительно простой. Парсится вывод утилиты host, про которую я отдельно писал ранее. Рекомендую взять на вооружение, регулярно пользуюсь.

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

Кстати, попросил ИИ помочь перевести изначальный вывод скрипта в json, напридумывали оба очень длинные потянки. Пришлось самому сделать, потратил 5 минут. Конкретно бесплатный ChatGPT и платный Perplexity AI нагенерировали мне простыню баша с sed и awk. Возможно надо было как-то промпт оформлять, чтобы получить то, что хотелось. Я просто взял две маленькие утилиты, про которые я тут раньше тоже уже писал - jc и jq:

$ view-domain-info.sh -d yandex.ru | jc --kv | jq .

А сам алиас, а точнее функция, выглядит вот так:

function dinfo {
  bash ~/alias_scripts/view-domain-info.sh -d $1 | jc --kv | jq .
  }


Эту строку надо добавить в файл ~/.bashrc и потом перечитать: source ~/.bashrc.

Хорошо, что я учился ещё в доИИшные времени. Честно говоря, даже не представляю, во что это всё в итоге выльется. Развитие ИИ сумасшедшее. Сам сейчас активно осваиваю и экспериментирую.

Ниже на картинке изначальный вывод и мой обработанный. Второй вариант можно использовать в задачах мониторинга, если каким-то образом наблюдаете за выводимы данными.

#linux #terminal
👍56👎1
Одним из самых популярных, если не самый популярный, программных шлюзов является pfSense. Хотел тут оставить ссылку на заметку о нём, но оказалось, что её никогда не было. Это очень старое, проверенное временем решение на базе FreeBSD - программный шлюз с файрволом, который настраивается и управляется через веб интерфейс.

Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.

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

Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.

Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.

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

Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:

▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt

Эти шлюзы я сам в то или иное время устанавливал и настраивал. Есть ещё те, что я лично не тестировал. Плюс, они частично бесплатные, то есть существуют более функциональные платные редакции, а те, что бесплатны, сильно урезаны. Но если ограничения для вас будут некритичны, то можно пользоваться:

◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express

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

Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.

#gateway
👍103👎3
Я анонсировал ранее подборку сайтов IT блогеров со статьями на различные темы, связанные с настройкой и эксплуатацией IT систем. Собралось небольшое сообщество авторов. Полный список сайтов будет в конце. А пока анонс новых статей тех авторов, кто согласился участвовать и прислал свои материалы.

Принципы работы CrowdSec: коллективная защита серверов
Подробный обзор и настройка CrowdSec - современный аналог Fail2ban. Вполне функциональное решение. Я ещё лет 5 назад его настраивал.
Установка и настройка CrowdSec в LXC-контейнере вместе с Traefik
Вдогонку по этой же теме ещё одна статья.

Автоматическая установка виртуальных машин в Proxmox 9.0.3 с помощью Terraform в Docker
Подробное описание работы с Terraform: установка, добавление расширения в VS Code, настройка провайдера, создание виртуальных машин. Хорошая база для малой автоматизации.

Создание локального зеркала репозиториев с помощью Aptly
Подробная статья про создание собственных репозиториев с помощью Aptly и их публикация через Nginx. Мне кстати, нравится это простое решение. Я именно его использую для этих целей.

Начальная установка PostgreSQL и pgAdmin в Docker с помощью Docker Compose для новичков. Часть 1
Пошаговая инструкция по быстрому поднятию указанной связки с помощью docker-compose. Я, кстати, не очень люблю pgAdmin, не ставлю его. Вместо него использую DBeaver.

Логируем подключения VPN пользователей в ocserv
Небольшая инструкция по логированию подключений в ocserv. Простой в настройке и функциональный VPN сервер. В моей заметке по ссылке полная инструкция по настройке с аутентификацией по логину и паролю.

Как настроить безопасный SFTP-сервер на Windows с OpenSSH
Настройка SFTP соединений в Windows на базе OpenSSH сервера с ограничением пользователей в их каталогах. Интересная реализация. Никогда не приходило в голову настраивать это на Windows. На Linux делал много раз.

Proxmox VE — настройка сети
Подробный разбор и сравнение сетевых настроек на базе Linux Bridge и Open vSwitch, в том числе создание бондов и настройку VLAN.

Proxmox SDN: Полное руководство по настройке и использованию
Базовая настройка SDN с типом зоны simple.

Настройка Firewall в Proxmox
Настройка встроенного Firewall в Proxmox с управлением через web интерфейс. Вообще никогда его не использую, а отдаю предпочтение нативным правилам iptables, которыми управляю через консоль гипервизора. Мне лично так быстрее и удобнее

Конфигурация Windows Server после установки
Некоторые рекомендации в формате чек-листа по базовой настройке Windows сервера сразу после установки.

Командная строка Linux, архивирование и сжатие: команды tar, gzip, bzip2, xz, zstd и zip, 7z, rar
Подробная статья с большим количеством примеров по использованию перечисленный архиваторов.

Генерация статьи на основе транскрипции youtube видео в n8n
Интересный пример по решению конкретной задачи с помощью платформы для автоматизации n8n. Я не раз её упоминал. Интересное решение. Кто не знаком, рекомендую посмотреть и попробовать.

Если кто-то хочет присоединиться к этой подборке, то пишите мне в личные сообщения. Пока список выглядит так:

▪️https://r4ven.me
▪️https://wiki-it.ru
▪️https://www.gurin.ru
▪️https://sysadminhub.ru
▪️https://devopslife.ru
▪️https://bite-byte.ru
▪️https://sysadminium.ru/
▪️https://desoft.ru
▪️https://www.pc360.ru
▪️https://bafista.ru
▪️https://it-experience.ru
▪️https://blogadminday.ru
▪️https://marukhin.ru
▪️https://blog.mons.ws
▪️https://lytkins.ru
▪️https://sysops.host
▪️https://prohomelab.com

#статьи
👍71👎3
Недавно в одной из статей увидел рассказ про сканер уязвимостей Nuclei. Впервые о нём услышал. По описанию и возможностям он меня заинтересовал. Запомнил его. Позже была заметка про Suricata, SELKS, Wazuh и т.д. В контексте этой темы, думаю, будет уместно рассказать про Nuclei. Этот инструмент дополнит упомянутую связку.

Основные особенности Nuclei:
1️⃣ Высокая скорость работы.
2️⃣ Возможность относительно просто писать для него шаблоны в формате yaml.

Из-за этого этих шаблонов понаписали на все случаи жизни и уязвимости. Сам шаблон представляет из себя описание запроса, сопоставление ответа какому-то правилу и соответственно вывод на основе этого сопоставления. Например, софт какой-то версии является уязвимым. Делаем запрос к нему и спрашиваем версию. Если она соответствует той, что уязвима, значит у нас имеется уязвимый сервис.

Я не буду подробно описывать все возможности Nuclei. Если он вас заинтересовал, то вы без проблем всё найдёте. Там и анализ сайтов, API, интеграция в CI/CD и многое другое.

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

# wget https://github.com/projectdiscovery/nuclei/releases/download/v3.4.10/nuclei_3.4.10_linux_amd64.zip
# unzip nuclei_3.4.10_linux_amd64.zip
# mv ./nuclei /usr/local/bin/nuclei

При первом запуске nuclei сама скачает все доступные шаблоны из своей базы. Решил сразу же по всем шаблонам проверить свой Микротик, который со стороны локалки полностью открыт:

# nuclei -u 192.168.137.1

Довольно быстро nuclei собрал всю информацию по устройству. Отчёт на картинке ниже. Ничего критичного не нашёл. Выдал много информации в формате info. Например, наличие routeros-api, открытого порта SSH и аутентификация по нему с помощью пароля.

Среди проблем нашёл одну уровня low - в SSH протоколе используется алгоритм, который признан недостаточно защищённым. Шаблон, который это определил, называется ssh-diffie-hellman-logjam. Я ничего нигде не искал, а просто зашёл в папочку с шаблонами и там прочитал описание. По умолчанию они скачиваются в ~/nuclei-templates. Конкретно этот шаблон в директории ~/nuclei-templates/javascript/enumeration/ssh.

Если вам не нужна некритичная информация, то все информационные результаты можно исключить, оставив только уровни low, medium, high, critical. Показываю на примере всего сегмента сети (вторая картинка):

# nuclei -u 192.168.137.0/24 -s low,medium,high,critical

Если будете сканировать сайты, веб сервера или любые другие сервисы, где есть ограничение на одновременное количество запросов, то используйте ключ -rl или -rate-limit. Я на своих серверах сразу же бан по IP получал из-за превышения этого лимита. Там десятки потоков одновременно открываются для максимально быстрой проверки.

Придумал себе применение nuclei, которое скорее всего реализую. Потом напишу подробнее. У меня есть набор внешних IP адресов, которые я хочу регулярно проверять. Думаю, что раз в неделю достаточно. Сделаю это с помощью nuclei и nmap, так как хочется ещё полный отчёт по открытым портам. Выглядеть это будет примерно так:

# nuclei -l ip-list.txt -s low,medium,high,critical -o nuclei_report.txt
# nmap -iL ip-list.txt -p- -T4 -oN nmap_report.txt

Дальше эти отчёты либо объединяю, либо по отдельности отправляю на почту и Telegram с помощью notify. Там это удобно реализовано через отдельный ключ и загрузку текста сразу из файла:

# notify -data nuclei_report.txt -provider-mail -provider-telegram
# notify -data nmap_report.txt -provider-mail

Вывод nuclei можно сделать в формате json, отправить в Zabbix и там на события high и critical сделать триггер. Тоже подумаю над реализацией, если на практике отчёты nuclei окажутся полезными. Например, отчёты Lynis мне очень нравятся. Постоянно их в Zabbix завожу.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍116👎3
Вчера получил необычное сообщение от хостера в тикет одного из клиентов, от которого холодок по спине пробежал. Я не буду называть хостера, потому что не знаю, насколько это вообще уместно такую переписку на публику выносить. Смысл заметки будет не в обсуждении хостера, потому что тема актуальна вообще для всех. Это может случиться, да думаю и случалось, и с другими.

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

Я использовал шаблон для быстрой установки Proxmox VE. Как оказалось, в этом шаблоне был жёстко зашит кластерный SSH-ключ. А он должен генерироваться уникальный во время установки. Этот ключ использует сам Proxmox для межкластерного взаимодействия. И этот ключ по умолчанию прописан в ~/authorized_keys (😱) даже если вы не настраиваете кластер. И этот ключ одинаковый у всех, кто успел сделать установку из этой версии шаблона 🤦 Это фиаско, братан.

Для тех, кто не понимает, что это значит, сразу поясню. Используя этот ключ, можно подключаться к серверу по SSH под правами root.

Хорошо, что я всегда по умолчанию закрываю на файрволе доступ по SSH белыми списками IP адресов. И вам того же советую. Такую подставу я вижу первый раз. Тут, я так понимаю, злую шутку сыграла особенность именно Proxmox. Мало где ещё по умолчанию создаются ключи и добавляются в authorized_keys. Обычно это надо самому делать. Но не в Proxmox.

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

Какие из этого можно сделать выводы?

1️⃣ Доступ по SSH надо закрывать, даже если используете аутентификацию по ключам.
2️⃣ Если есть возможность, систему лучше установить из своего образа.
3️⃣ Если установили из образа хостера, то хотя бы бегло проверьте, что там установлено и запущено. И обязательно проверьте ключи в ~/authorized_keys.
4️⃣ Я лично ещё и аутентификацию по паролю включаю. Пароль, разумеется, сложный.

#хостинг
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍150👎2
Я не так давно рассказывал про очень простую и наглядную интерпретацию метрики LA (Load Average). Данную тему будет уместно дополнить более современными метриками – PSI (Pressure Stall Information). Это подсистема ядра Linux, которая отслеживает три наиболее важных ресурса:

▪️CPU
▪️Memory
▪️I/O

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

PSI имеет 3 периода измерений: avg10, avg60, avg300. Это время в секундах, то есть 10 секунд, 1 минута и 5 минут. К периодам прилагаются два типа метрик:

🔹some - процент времени, когда хотя бы один процесс ждёт освобождение ресурсов (line indicates the share of time in which at least some tasks are stalled on a given resource)
🔹full - процент времени, когда все активные процессы находятся в ожидании освобождения ресурсов (line indicates the share of time in which all non-idle tasks are stalled on a given resource simultaneously)

Эти метрики можно и нужно использовать в повседневной работе, наравне с привычными LA, disk r/w, iops. В версии htop, начиная с 3.0.0, можно включить их отображение. По умолчанию они не отображаются. Включаются так:

Открываем htop ⇨ F2 ⇨ Meters ⇨ Aviable Meters ⇨ Выбираем нужные метрики, нажатием Enter ⇨ F10 выйти с сохранением.

В недавнем обновлении Proxmox эти метрики появились на стандартном дашборде.

PSI активно используется в systemd-oomd – современной замене OOM Killer. А точнее помощнике. На основе метрик PSI он более избирательно останавливает процессы, а не ждёт, как OOM Killer, когда закончится память, чтобы прибить самого жирного потребителя при прочих равных условиях.

На практике метрики PSI могут быстро помочь определить узкое место в системе. Например, у вас начала тормозить СУБД. Заходите на сервер и видите высокий LA. Но сама по себе эта метрика не даёт никакой конкретики. Может быть чрезмерно нагружен как процессор, так и диск. Рядом метрики cpu some и io some сразу ответят на вопрос, где у вас узкое место. Если оно реально в CPU, то не придётся лезть в дисковую подсистему и смотреть, что там происходит.

Изменение метрик в режиме реального времени позволяют сразу же оценить какие-то свои изменения и посмотреть, как они повлияли на нагрузку. В общем, это полезные метрики, которые имеет смысл по умолчанию выводить в htop. Не знаю, есть ли они в обычном top. Я на все свои сервера без исключения ставлю htop. Очень к нему привык. Там и PSI, и вкладка I/O с активностью диска, и lsof для просмотра открытых файлов, и strace. В общем, очень удобно.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#linux #perfomance
4👍144👎2
Последнее время редко захожу в блог Zabbix, так как не вижу интересных для меня статей. Там в основном какие-то общие слова и рекомендации публикуют, либо отчёты с мероприятий. Но одна запись привлекла моё внимание:

When Generative AI Meets Zabbix

В статье предлагают через вебхуки отправлять триггеры в ИИ, и взаимодействовать с мониторингом на человеческом языке, а не просмотром триггеров и графиков. То есть примерно так:

В три утра вы получаете критическое уведомление на свой телефон. Но вместо просмотра дашбордов и метрик, вы пишите вопрос: "Что случилось с продакшеном?"

- Сервер web-prod-01 съел всю память, а конкретно 94%. Начался дикий жор 15 минут назад вместе с всплеском трафика. Я рекомендую проверить пул подключений к базе данных и рассмотреть возможность перезапуска службы Apache. Хотите, я покажу вам соответствующие логи?

Как вам такая затравочка? Выглядит неплохо. В данном примере используется локальный сервер с бесплатным Gemini AI, который кушает триггеры Заббикса и логи с помощью Winston. Данные в Germini отправляет небольшой скрипт на Python, который использует формат MCP (Model Context Protocol).

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

- Доброе утро, что у нас с инфраструктурой?

- Доброе утро! Все спокойно. 14 активных хостов, 0 критических проблем. На выходных была запланирована перезагрузка сервера proxmox-desarrollo, которая завершилась успешно. Средняя загрузка процессора составляет 23%. Вам нужна подробная информация о какой-либо конкретной системе?

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

Лично мне не показалось это прям реально полезным. Да, интересно. Возможно актуально для большой инфраструктуры, где всё не очень точно настроено и на инциденты могут валиться десятки и сотни триггеров. Тогда реально выручит вопрос к ИИ, что случилось и кто конкретно первым упал. У меня бывает в одном месте такой шторм на 200-300 триггеров утром, если на самом сервере мониторинга возникнут проблемы с сетью. Иногда это бывает, если хостера штормит. Там много внешних хостов с отправкой метрик через интернет. Но я по характеру триггеров и так понимаю, что проблемы на сервере.

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

Если уже внедряли связку мониторинга и ИИ, то поделитесь, насколько это удобно и полезно на практике. Сейчас на тему ИИ много хайпа и не везде он реально полезен и удобен.

#zabbix #AI
4👍99👎3
Я одно время очень много работал с устройствами Mikrotik. Практически постоянно. Сейчас они тоже остались, но в основном на поддержке старые конфигурации, чего-то нового и необычного, о чём ещё не писал, давно не настраивал. Эти устройства, как и их система, хороша своим консерватизмом. Каких-то глобальных изменений в ней случается редко. И все старые наработки актуальны много лет.

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

Больше всего нюансов в казалось бы простом инструменте для отката настроек в случае ошибки - Safe Mode.

1️⃣ Если у вас где-то открыта сессия Winbox, а вы подключились новой и нажали Safe Mode, то режим не сработает. Это может оказаться неприятным сюрпризом. А если вы решите завершить эту сессию, а там окажется включённый Safe Mode, то откатите те настройки, что изменили в той сессии. Смотреть активные сессии в System ⇨ Users ⇨ Active Users.

2️⃣ Safe Mode хранит ограниченное количество изменений. Так что лучшим вариантом использования этой функциональности является подключение, включение опции, изменение настроек, проверка, что всё прошло удачно. И сразу после этого отключение режима.

3️⃣ Иногда на автомате включаешь Safe Mode, что-то настраиваешь. Ошибаешься, тебя отключает. Ты ждёшь, когда откатит настройки, но не откатывает. Доступ не восстанавливается. И тут понимаешь, что подключен по AnyDesk или RDP, а сессия Winbox открыта в локальной сети. Тебя отключило от интернета, но сессия на Микротике не оборвалась.

Сталкивался, когда на потоке настраивал на точках по 2 провайдера. Там обычно был компьютер, телефон, принтер и Микротик. Прямого доступа не было, пока не настроишь VPN. Все точки объединял в VPN сети для удобного мониторинга и управления.

4️⃣ Safe Mode не панацея, он может сглючить и не откатить настройки. Можно подстраховаться скриптом, который делает бэкап, спит какое-то время и загружает бэкап обратно. В минималке это может выглядеть так:

/system backup save password="secret" name=disconnect
delay 180
/system backup load name=disconnect.backup password="secret"

Запускаете скрипт, делаете настройки, если всё ОК, то останавливаете выполнение скрипта. Он будет висеть в списке 3 минуты и ничего не делать из-за delay 180.

Все эти заморочки не особо актуальны при простых настройках, например, файрвола. Я никогда фатально не ошибался с ним. А вот если 2 провайдера и переключение, один из них мобильный, да ещё и доступ только по VPN, который должен переподключиться после переключения провайдеров, другое дело. Там много нюансов может возникать.

5️⃣ Иногда надо перезапустить интерфейс. Если через него же вы и подключены, то сделать disable и обратно enable не получится. Вас отключит. Вместо этого можно нажать галочку с enable на интерфейсе в Winbox. Это актуально и для PPP соединений. VPN соединение переподключится.

6️⃣ Я очень долго не замечал, что в Winbox есть настройка Settings ⇨  Hide Passwords, которая по умолчанию активна. Она все сохранённые пароли на устройстве отображает звёздочками. Если её отключить, то их можно увидеть. Узнал случайно от одного админа. Например, так можно посмотреть пароли от PPP соединений непосредственно через Winbox в свойствах соединения, а не только в экспорте.

7️⃣ В разделе Tools ⇨ Packet Sniffer ⇨ Streaming можно указать IP адрес и порт машины, где запущена Wireshark с настройкой на прослушивание указанного порта. Можно смотреть весь трафик или отфильтрованный. Очень просто, быстро и удобно для отладки. Если постоянно нужно смотреть трафик, то удобнее настроить отправку через NetFlow (IP ⇨ Traffic Flow).

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍200👎4
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне понравились.

Депрессия и эмоциональное выгорание айтишника - личная история DevOps
Личная история известного блогера. Ещё по первым старым его видео думал, что человек нездоров. Реально это было заметно. В итоге так оно и было. Поучительная история, рекомендую посмотреть, даже если сейчас вам это неактуально. Распространённая тема, когда в погоне за карьерой и деньгами теряют здоровье. Кстати, автор поднимает в том числе тему ночных дежурств и побудок, которую я тоже не раз поднимал у себя на канале и рекомендовал от них отказываться. Нашлось немало людей, которые их оправдывали, что для меня удивительно. Некоторые даже говорили, что отказываться от ночных дежурств непрофессионально, якобы ты не хочешь брать ответственность за свою инфру (которая на самом деле не твоя).

Лучший будильник на алерты
Шуточка для любителей ночных дежурств.

Build your own HomeLab Firewall! // OPNSense Tutorial
Обзор программного шлюза OPNSense, который я недавно рекомендовал к установке, как замену pfSense.

Zulip - Open Source, Self Hosted, team and organization communication platform
Подробный обзор неплохого чат-сервера, который можно бесплатно развернуть у себя. Я знаю этот продукт, внедрял его, писал про него статью, делал заметки. Посмотрел видео, с тех пор Zulip не сильно изменился. Этот чат интересный и необычный, не похож на условные клоны Slack, типа Mattermost или Rocket.Chat, которые первое время старались его скопировать.

How to structure your HomeLab network?
Пример того, как можно организовать локальную сеть с изоляцией сегментов.

SDN в Proxmox — мощный инструмент для управления сетями. Как работают виртуальные сети и зоны.
Хорошее подробное видео на тему работы SDN в Proxmox. Описание, схемы, примеры, настройки. Всё присутствует.

RTX 5090 laptop - ЛУЧШАЯ видеокарта для ноутбука? LLM в ноутбуке.
Тесты топовой видеокарты для ноутбука. Конечно, всё это очень дорого, неудобно и заметно слабее десктопа. Но для ноутов ничего быстрее нет.

N8N. Автоматизируй процессы в пару кликов.
Примеры использования популярной платформы для автоматизации. Много раз про неё упоминал, видео приводил. Посмотрите, если кто ещё не знаком. Очень интересная тема. У видео длинное введение. Если более-менее понимаете, что такое n8n, то можно сразу примерно на середину перематывать, где идут примеры.

Управляемый свитч Sodola — обзор, настройка VLAN и возможностей Managed Switch
Обзор необычного 9-ти портового свитча, где 8 портов 2.5G и один 10G. Мне было интересно посмотреть обзор, хотя у меня нет ни одного устройства, которое бы поддерживало такие скорости. Удивился, что подобные свитчи такие дешёвые (6-10 т.р.). Я думал, это что-то на богатом, а оказывается, что уже давно нет.

Балансировка в nginx proxy manager (npm). Как и зачем?
Обзор неплохой веб панели для настройки Nginx в качестве обратного прокси. Я давно знаю этот продукт, писал про него. Он простой и удобный.

rwMarkable - Simple Self-Hosted Notes & Checklists (No Database Required!)
Обзор очень простого сервиса для хранения личных заметок. Их существуют десятки. В этом ничего примечательного не увидел, но посмотрите, может вам понравится. Мне кажется, в таких инструментах самое главное, чтобы вам лично понравился и показался удобным интерфейс. Всё остальное вторично, так как в реальности какой-то большой функциональности не надо, хотя кажется, что чем больше программа умеет, тем лучше. Тут хорошо то, что все заметки хранятся в текстовых файлах, без использования СУБД.

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍51👎3