ServerAdmin.ru
30.9K subscribers
531 photos
45 videos
20 files
2.8K links
Авторская информация о системном администрировании.

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

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

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
​​Как вы себе представляете жилище типичного хакера? Разработчики игры Hacker Simulator считают, что в его комнате должен быть уголок с компьютером, стойка с сервером и кучей видеокарт, скамья со штангой (нахрена???) для жима, приглушённый свет и неон за окном.

Если вас интересует хакерская тематика, то можете попробовать эту аутентичную игру. Хакером быть не надо. По отзывам игра ничего особенного не представляет, но это один из немногих представителей игр данного жанра, где хотя бы не всё в текстовом виде. Можно и походить в 3D мире, но не много.

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

Игра относительно свежая (октябрь 2021), аналогов особо нет. На торрентах есть, если что. Не знаю, насколько сейчас реально оплатить в Стиме. У меня его нет и никогда не было.

Steam - https://steamcommunity.com/app/1754840
Обзор - https://www.youtube.com/watch?v=-M5NYTTTJig

#игра
​​Нередко возникает задача по логированию действий пользователя на сервере. Я нагуглил простое и эффективное решение - log-user-session. Проблема возникла одна - никакого описания, как это настраивается. Даже примера конфига нет в репозитории, хотя в описании упомянуто, что он может существовать.

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

Проверял всё на Debian 11. Устанавливаем:
# apt install autoconf gcc make git
# git clone https://github.com/open-ch/log-user-session
# cd open-ch/log-user-session
# ./autogen.sh
# ./configure
# make
# make install

Убеждаемся, что программа log-user-session появилась в /usr/local/bin/. Для проверки её можно запустить в консоли и посмотреть, начала ли она писать лог вашей сессии в /var/log/user-session.

Дальше я не понял, как заставить утилиту писать логи пользователя. Сначала подумал, что её надо поставить, вместо стандартной shell, но это так не работает. Потом чисто методом тыка решил поискать, как настроить принудительный запуск через sshd и нашёл там подходящий параметр. Надо в sshd_config добавить параметр:
ForceCommand /usr/local/bin/log-user-session

Теперь у каждого пользователя будет запускаться оболочка через log-user-session. Если попытаться её закрыть, то пользователя отключит от ssh. У обычного пользователя нет доступа к логам, так что они скрыть свою деятельность не смогут. Может и есть лазейки, но я не разбирал подробно эту тему.

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

Заметку имеет смысл сохранить, если есть потребность в таком функционале. Я вообще нигде не нашёл информации по настройке этой программы. Какие вы использовали решения для задачи логирования действий пользователей? По идее, тут наколхозить можно много всяких способов, но решение с log-user-session мне показалось самым простым и эффективным. Она даже вывод MC отображает. Я сначала не понял, когда вывел лог работы пользователя в консоль, что это за сессия MC приехала. Потом сообразил, посмотрев текстовым редактором лог файл.

#security #ssh #linux
​​Простая, но, как мне кажется, в наше время полезная заметка. Думаю, все уже слышали, что с сайта Microsoft нельзя скачать образы систем с российских IP.

📌 Скачать можно отсюда:
🟢 образы: https://tb.rg-adguard.net/public.php
🟢 обновления: https://uup.rg-adguard.net

Я давно знаю и использую этот сервис. С него скачать официальный образ гораздо быстрее и удобнее, чем откуда-либо ещё. Особенно удобнее, чем с сайта Microsoft.

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

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

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

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

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

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

#windows
​​Вчера рассказал, как с помощью log-user-session можно логировать все действия. Сегодня хочу затронуть ещё одну полезную тему - оповещение о логине по SSH. Я настраиваю это почти везде, где подразумевается не только моё подключение к серверам. Это сильно упрощает контроль за инфраструктурой. Если что-то сломалось и ты видишь, что накануне кто-то подключался к серверу, путь к решению лежит на поверхности. Надо сразу написать и спросить, что делали на сервере, а параллельно посмотреть лог действий пользователя.

Вариантов решения этой задачи может быть много. Есть настроен Zabbix Server, то я делаю через него. Для меня это самое простое. Надо добавить айтем с анализом лог файла авторизаций и сделать триггер, срабатывающий на определённые строки. Если мониторинг развёрнут, то достаточно добавить готовый шаблон и дать Zabbix Agent доступ на чтение соответствующего лога. Обычно это /var/log/auth.log или /var/log/secure. Пример подобного мониторинга можно посмотреть у меня в статье. Она довольно старая, а сам я использую другой шаблон, но идея такая же. Каждый уже сам может доработать под себя.

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

Если системы мониторинга или сборов логов нет, то можно обойтись возможностями самой ОС. Достаточно установить postfix, настроить отправку почты через какой-то почтовый сервис, чтобы письма не улетали в спам. Настройка легко гуглится, есть и у меня на сайте.

Затем добавляем пользователям в .bash_profile небольшой код. Набросал и проверил прямо сейчас, по ходу написания заметки:

if [ -n "$SSH_CLIENT" ]; then
EMAIL="SSH login to $(hostname)\n
\nDATE: $(date)\n
\nUSER: ${USER} from $(echo $SSH_CLIENT | awk '{print $1}')"
echo -e $EMAIL | mail -s "SSH login to ${USER}@$(hostname) from $(echo $SSH_CLIENT | awk '{print $1}')" userpochta@mail.ru
fi

Пример вывода скрипта в итогом письме можно посмотреть во вложении к посту. Теперь при каждом логине в систему будет срабатывать этот код и отправлять уведомление. Если надо добавить сразу всем пользователям этот код и убрать у всех, кроме root, возможность его изменить, добавьте в файл /etc/profile.

#linux #ssh #security
​​Продолжаю тематику безопасности веб серверов на примерах популярных утилит, которые используют для поиска уязвимостей или просто разведки перед началом активных действий. Сегодня расскажу про утилиту whatweb, которую часто предлагают для начальной разведки веб сервера или сайта. С её помощью можно получить некоторую информацию о самом сайте и веб сервере, на котором он работает. Соответственно, чем меньше информации выдаст эта утилита о вас, тем лучше.

Утилита есть в репозиториях Debian и Kali. Про остальные системы не знаю:
# apt install whatweb

Дальше просто запускаем программу, указывая адрес сайта в качестве аргумента:
# whatweb https://xaker.ru
Сразу видим, что сайт на Wordpress (не самая свежая версия от 11 марта), закрыт защитой от QRATOR, так что настроек веб сервера и версий софта не видно. У каких-то сайтов прям тут можно увидеть и версию самого веб сервера, и версию php.

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

Для похожих задач можно использовать плагин для Firefox whatruns. Иногда из любопытства запускаю Firefox с этим плагином, чтобы посмотреть, на чём работает тот или иной сайт. Он выдаёт примерно такую же информацию, что и whatweb.

Сайт - https://www.whatweb.net/
Исходники - https://github.com/urbanadventurer/WhatWeb

#webserver #security
​​Давно ничего не было на тему мониторинга. В разное время я написал заметки практически по всем популярным системам. Вечером будет подборка с кратким описанием этих систем. А сегодня предлагаю познакомиться с NetXMS. Мне давно про неё писали, но всё руки не доходили познакомиться поближе.

NetXMS - Open Source решение для мониторинга компьютерных систем и сетей. Может быть использована для мониторинга всей IT инфраструктуры, начиная с SNMP-совместимых устройств (коммутаторы и маршрутизаторы) и заканчивая программным обеспечением, операционными системами на серверах через установку агентов. Поддерживаются Windows, Linux, Unix системы.

Сразу прокомментирую сравнение с Zabbix и Prometheus, так как обычно начинают задавать вопрос на тему того, зачем это надо, если они уже есть. Первое и самое главное - NetXMS намного проще в установке, настройке, обслуживании. Базовый функционал мониторинга будет доступен сразу после установки. Не надо ничего донастраивать, искать шаблоны, подключать плагины и т.д. Всё, что поддерживается, определяется и ставится на мониторинг практически сразу. Сервер можно установить в том числе на Windows.

NetXMS написан на Java, отсюда и кроссплатформенность. В качестве БД может использовать MySQL, Oracle, PostgreSQL (в том числе с TimescaleDB). Сервер может быть установлен как на Linux, так и на Windows. Под .deb системы есть свой репозиторий.

Расскажу на конкретном примере быстроту и простоту настройки NetXMS. Достаточно настроить доступ к коммутатору по SNMP, а дальше программа сама подключится, определит версию коммутатора, применит нужный шаблон и нарисует панель портов, где покажет их статус. Добавить железки можно как вручную, так и автообнаружением по сети. Другой пример - карту сети с подключенными устройствами она тоже рисует автоматически.

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

В NetXMS есть возможность разграничения прав доступа на основе пользователей и групп. Так что это вполне зрелая система мониторинга, подходящая для больших инфраструктур. Что у неё по нагрузке, не знаю. Не видел информацию. Мне лично эта система чем-то напомнила Observium или LibreNMS. Вот только внешний вид у неё очень не современный. Типичное Java приложение из двухтысячных. Но это можно обойти - есть интеграция с Grafana.

Думаю, NetXMS подойдёт тем, кому просто надо мониторинг, и не хочется с ним заморачиваться, так как это не его основная тема. Поэтому изучать и внедрять Zabbix или Prometheus не имеет большого смысла. А если ещё и с Linux не знакомы, то вообще хорошо зайдёт. Можно всё на Windows настроить. Отдельно отмечу, что у продукта хорошая документация. Administrator Guide собран в отдельный pdf документ.

По моему описанию может показаться, что это что-то простое для эникеев на Windows, но это не так. NetXMS имеет огромные возможности по донастройке и интеграции с различными системами и устройствами. В документации всё это видно. Просто погружение и первоначальная настройка простые.

Сайт - https://www.netxms.org/
Исходники - https://github.com/netxms/netxms
Документация - https://www.netxms.org/documentation/

#мониторинг
Обзор систем мониторинга

Подборка систем мониторинга, которые я обозревал ранее на канале. Zabbix и Prometheus в списке нет, потому что и так понятно, что это такое. Отдельных заметок по ним не делал.

🟢 Observium - система мониторинга с акцентом на snmp и сетевые устройства. Также поддерживает все популярные ОС, как Windows, так и Linux. Данные с них собирает через агентов. Основной упор системы - минимум ручных действий. Всё, что поддерживается, автоматически обнаруживается в сети и ставится на мониторинг, рисуются графики, строятся дашборды. Работает на базе php + mysql. Приятный интерфейс.

🟢 LibreNMS - форк Observium с более широким функционалом. Модный, современный, молодежный. Можно запускать в Docker, есть интеграция с Grafana, умеет хранить данные в InfluxDB. Заточена на мониторинг сетей по snmp. Из коробки имеет поддержку практически всех популярных сетевых устройств. Помимо сетевых устройств умеет мониторить windows, linux, freebsd. Для этого использует агенты. Работает на базе php + mysql. Все типовые метрики подхватывает сама, напильником пилить не надо.

🟢 Netdata - мониторинг с очень простой установкой и настройкой. Скрипт сам в автоматическом режиме развернёт сервер на Linux машине. Есть возможность использовать по модели saas на облачном сервере разработчиков. Работает на основе агентов и коллекторов, которые ставятся очень просто, автоматически регистрируют себя на сервере и начинают отправлять данные.

🟢 Newrelic - мониторинг, работающий по модели saas. Вам достаточно установить агент на сервер, указать свой уникальный ключ. Дальше агент всё сделает сам, а вам останется только зайти в веб интерфейс и смотреть метрики. Функционал мониторинга очень крутой. Пользоваться удобно. Бесплатный тарифный план - 100 GB данных в месяц.

🟢 Munin - очень простой мониторинг одиночного или небольшой группы серверов на perl. Данные хранятся в rrdtool. Настраивается очень просто и быстро, за что его любят некоторые разработчики, устанавливая на свои сервера для каких-то собственных проектов. Munin используют разработчики BitrixEnv, включили его в комплект своего окружения.

🟢 Monitorix - похожий на Munin мониторинг и тоже на основе perl и rrdtool. Подойдёт для одиночного сервера. Отличительная черта в том, что он потребляет очень мало ресурсов. Графики рендарятся сразу в png картинки. Помимо базовых системных и сетевых метрик, из коробки поддерживает мониторинг наиболее популярного софта - postfix, exim, apache, nginx, php-fpm, nfs, zfs, mysql, postgresql, redis и т.д.

🟢 Monit - похож на Munin и Monitorix. Такой же легковесный с акцентом на мониторинг одиночного сервера. Умеет не только мониторить, но и выполнять какие-то заскриптованные действия. Данные хранит в SQLite. Monit для тех, кто просто хочет мониторить свой локалхост, получать алерты, перезапускать сервисы, когда они падают. И при этом тратить минимум ресурсов. Писать oldschool конфиги без учёта отступов, пробелов, скобок.

🟢 Veliam - система мониторинга и управления IT инфраструктурой. Есть self-hosted платная версия и saas с бесплатным тарифным планом. Это не только система мониторинга, но и удалённого доступа, и helpdesk система. Ставится на Windows и не требует специальных знаний по настройке и внедрению. Покрывает базовые потребности по типовому мониторингу сетевых устройств и операционных систем. Есть возможность создания своих шаблонов и метрик.

🟢 Monitoror - очень простой мониторинг, который состоит всего лишь из одного бинарника и конфигурационного файла к нему. Отдельным конфигом настраивается web интерфейс. Используется формат json. Настраивать проверки быстро и просто. Monitoror отличает простота парсинга и сбора текстовых данных по http с возможностью их вывести в плитках на дашбодр. Это отличный инструмент для всяких чисел, получаемых из API.

Всё не влезло в один пост, упёрся в ограничение на размер. Завтра будет продолжение: Nagios, Monika, Icinga, The Dude, Сheckmk, healthchecks.io, Algorius, MONQ, NetXMS.

#мониторинг #подборка
Обзор систем мониторинга

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

🟢 Nagios - старая и известная система мониторинга. В своё время была популярнее Zabbix, появилась раньше. Более простая установка и настройка по сравнению с Zabbix. Много готовых плагинов для мониторинга всего и вся. Хорошее быстродействие. Система больше заточена на статусы и состояния, а не на графики. Последнее время бесплатная версия развивается слабо. Появился форк - Icinga. Использовать лучше его.

🟢 Icinga - изначально это был форк Nagios. Но со временем их пути сильно разошлись, так что можно считать Icinga самостоятельным продуктом. Причем качественным и полностью бесплатным. В ней есть всё, что надо, для полноценного мониторинга. Данные может собирать как с помощью агентов, так и без них. Бэкенд написан на C++, веб интерфейс на php. В качестве БД поддерживает MySQL, Oracle Database, PostgreSQL.

🟢 Monika - это утилита, которая способна выполнять различные сценарии веб проверок (не только пинги и коды ответа) и отправлять оповещения различными способами. А все настройки хранятся в одном json файле. Получается хорошее решение для автоматизации, когда надо что-то собрать, протестировать и отправить результат. Monika написана под node.js. Оповещения поддерживаются во все популярные направления - smtp, slack, telegram, webhook, whatsapp, discord и т.д.

🟢 The Dude - мониторинг на базе ОС RouterOS, которая используется в Mikrotik. Основное её отличие - простота настройки и неприхотливость в плане ресурсов . The Dude очень легко установить и запустить в работу. Не нужны специальные знания и время на изучение продукта. Базовая настройка проста и интуитивна. The Dude умеет автоматически сканировать сеть и добавлять в мониторинг все найденные устройства. Это могут быть как сетевые устройства с передачей данных по snmp, так и системы Windows, которые передают данные через агентов.

🟢 Сheckmk - построена на базе nagios, но сильно доработана. Система простая, удобная и функциональная. Порог входа очень низкий. Разобраться сможет почти любой. Мониторинг выполняет на основе агентов и по snmp. Отлично работает автообнаружение. Достаточно подключить хост с агентом и Сheckmk сам подберёт шаблон, обнаружит все известные ему метрики и начнёт мониторинг. Удобнвй и красивый веб интерфейс. После добавления изменений, необходимо их подтвердить. До этого они не применятся.

🟢 Algorius - комплексная система для мониторинга, визуализации и инвентаризации компьютерного оборудования. Устанавливается на Windows систему через типовой установщик. Максимально простая и быстрая настройка, в том числе с автоматическим обнаружением устройств в сети.
Вся настройка выполняется мышкой в окне программы, никакие конфиги править не надо, долго разбираться и читать документацию тоже, всё интуитивно понятно.

🟢 MONQ - платформа, объединяющая системы мониторинга и сбора данных. С её помощью можно управлять потоками не только данных, но и метрик из систем мониторинга, чтобы затем делать разностороннюю аналитику на основе этой информации.

🟢 Friendly Pinger - простая программа для построения карты сети с простым icmp мониторингом объектов на этой карте. Помимо мониторинга, через программу можно настроить быстрые удалённые подключения к наблюдаемым объектам. Программа очень старая, но тем не менее удобная. Кое-где используется и по сей день.

🟢 NetXMS - кроссплатформенная система мониторинга, написанная на Java. Собирает метрики по snmp или через агентов. Поддерживает все популярные ОС. Серверная часть может быть установлена как на Linux, так и Windows. NetXMS отличает обширный функционал и возможности, но при этом относительная простота настройки и низкий порог входа. Если использовать сервер на Windows, то подойдёт чисто виндовым админам.

Если я пропустил какую-то известную и стоящую внимания систему мониторинга, то поделитесь информацией. Посмотрю её и напишу свой обзор.

#мониторинг #подборка
​​Чтобы быть в курсе самого актуального из мира облаков и дата-центров, достаточно подписаться всего на один канал: https://t.me/unidataline

Здесь ребята из DataLine:
- разбирают вопросы миграции ИТ-систем (переход на отечественный NGFW)
- рассказывают о сервисах для удаленной работы (использование виртуальных рабочих столов
- делятся полезными чек-листами (аудит ИБ в компании своими силами)

Также в канале «Салатовая телега» публикуют вакансии, приглашают на бесплатные вебинары и выпускают подкасты про облака.

Присоединяйтесь и не пропускайте все самое свежее из облачного мира:
👉🏼 https://t.me/unidataline

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

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

Предстоял разбор полётов, который я постоянно откладывал. Очень не люблю разбираться в производительности базы данных, потому что мало там понимаю. Это очень узкая ниша и без постоянной практики не так то просто ускорить запросы. Начал с просмотра базовой загрузки сервера. Там всё в порядке, никаких просадок нет, ресурсов более чем достаточно.

Потом заглянул в конфиги Mariadb и сначала не понял, а где вообще основная конфигурация. Всё пересмотрел и тут до меня дошло. Я забыл подтюнить СУБД под ресурсы сервера. В итоге MariaDB работала с дефолтными настройками. Если не ошибаюсь, там innodb_buffer_pool_size установлен в 128M. Это очень сильно влияет на производительность.

Скачал mysqltuner и выставил основные параметры в соответствии с объёмом оперативной памяти сервера. Этого оказалось достаточно, чтобы нормализовалась работа. Я этот тюнер использую как калькулятор. С его помощью удобно подобрать параметры innodb_buffer_pool_size и все сопутствующие настройки, а также буферы. И чтобы всё это не потребляло ресурсов больше, чем есть оперативной памяти под нужды СУБД. Если ошибиться, то можно словить OOM Killer, который будет прибивать базу данных.

Полезные ссылки по теме:
- Сравнение mysql vs mariadb
- На что обращать внимание при настройке Mysql
- Производительности Mysql сервера на файловой системе zfs
- индексы в Mysql
- Размещение субд в контейнерах

#mysql #website
​​Был вчера весь день на VK Cloud Conf в Москве. Это бывшее облако mail.ru, теперь они под брендом VK. Интересное мероприятие получилось. Ориентировано в основном на технических директоров крупных компаний. Я сходил чисто для расширения кругозора. Технической информации почти не было, в основном теория по управлению, внедрению, безопасности.

Событие было бесплатное. Я просто оставил заявку, представившись Devops инженером. Ни про сайт, ни про блог не писал ничего. Заявку подтвердили и прислали приглашение. Этот пост меня никто не просил писать, сам решил поделиться впечатлениями.

Судя по всему у облаков в 2022 всё в порядке с финансами. Арендовали особняк в центре Москвы. Хорошее питание в течении всего мероприятия. Безлимитные напитки, после обеда в том числе с алкоголем в виде вина, пива, коктейлей. Некоторые люди после обеда уже не возвращались в зал, а тусовались в фуршетной зоне и дегустировали напитки 🍹.

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

Я уже сейчас повсеместно вижу мелкий и средний бизнес, покупающий мощности в облаке. Мало кто задумывается о своём серваке и тем более серверной. Да я и сам в этом уже не вижу смысла. Про крупный и говорить нечего. Они уже плотно сидят на облачных провайдерах. Кто-то полностью, кто-то частично переехал.

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

К чему я всё это написал. Хочу дать совет тем, кто думает, куда ему двигаться в системном администрировании. Плотнее изучайте работу с облаками. Это наше будущее. Учитесь быстро разворачивать инфраструктуру с использованием готовых сервисов провайдера. К примеру, через terraform. И донастраивать потом с помощью ansible.

❗️Не спорю, что полезно знать более низкий уровень - читать правила iptables, поднимать кластер субд, собирать свой почтовый сервер, кластер ceph, kubernetes на своих хостах. Но сейчас в этом нет большой необходимости. Без этого уже можно обойтись. К тому же полно более зрелых специалистов, которые это умеют делать, потому что раньше облаков не было. Например я. Так что эти задачи можно оставить прошлому поколению, а сейчас стартовать и двигаться в следующие абстракции в виде готовых облачных сервисов.

#мысли
Казалось бы, чего там не знать в Midnight Commander. Я им пользуюсь практически с самого первого знакомства с Unix и Linux. Лет 15 где-то. И тем не менее, есть много удобных вещей, про которые я не знал, не использовал.

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

Вот то, что я не использовал, но узнал из видео:
Shift+F4 - создание нового файла. Я всегда по привычке писал в консоль touch filename.
Alt+A - вывести текущий путь в консоль. Я привык сворачивать MC и набирать pwd, чтобы получить текущий путь для того, чтобы его скопировать. Такая привычка сформировалась из-за того, что у меня эта комбинация задействована в другой программе и не срабатывает в консоли.
Alt+T - менять отображение панелей. Я редко это делаю, поэтому и комбинацию не запоминал никогда, но иногда надо.
Ctrl+R - обновить содержимое панели. Очень зря я не знал про эту комбинацию. Это нужно постоянно, и я привык выходить из директории и заходить снова, для того, чтобы увидеть обновлённый список файлов.

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

https://www.youtube.com/watch?v=CEp2-G3HQ_s

#видео
На днях разбирался с одной проблемой на Bitrix, читал форумы. Случайно попал в тему с жуткой историей 😱. Хотя она типичная. Человек скопировал команду и применил в терминале, но не удостоверился в том, что конкретно он делает.

История такая. Нужно было очистить директории с инвентарём и ролями ansible и скачать их заново:

# rm -rf /etc/ansible/host* /etc/ansible/group_vars/ /etc/ansible/ansible-roles

Кто-то сделал это, ему помогло. Он процитировал код и прокомментировал, что ему помогло. Другой горе-администратор не заметил, что движок форума добавил пробелов в команду при цитировании и применил её в таком виде:

# rm -rf /etc/ansible/host* /etc/ ansible/group_vars/ /etc/ ansible/ansible-roles

Как думаете, что произошло? Из-за предательских пробелов он грохнул себе всё в директории /etc/ 🙄

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

Вот эта тема, про которую я написал:
https://dev.1c-bitrix.ru/support/forum/forum32/topic84971/?PAGEN_1=2

Не копируйте команды напрямую в терминал. Я сначала вообще их в текстовый файл копирую, чтобы точно увидеть, что будет вставлено. А только потом уже из текстового файла в терминал. Давняя привычка.

#ошибка #совет
Расскажу немного, как у меня организована личная инфраструктура в квартире. Думаю это многим будет интересно. Меня периодически просят об этом. Я и сам люблю узнать, что и как сделано у других.

У меня дома внешний статический IP адрес и роутер Mikrotik. Снаружи доступ к нему закрыт, никаких пробросов нет. Есть несколько внешних простеньких VPS, которые используются исключительно под VPN (openvpn). Их IP адреса, а также домашний, используются для белых списков доступа к SSH, консолям гипервизоров и т.д. Всё, что не требует публичного доступа, закрывается статичными списками разрешённых IP адресов. Рекомендую делать так же.

Обязательно адресов должно быть несколько. На днях буквально случился инцидент. Мой основной VPN сервер у провайдера RUVDS. Там же часто размещаю VPS для мониторинга. Пропала сетевая связность между этим провайдером и Selectel, где у меня много всего хостится. Налетела куча алертов, а я не смог подключиться к серверам в Selectel. Сначала подумал, что это они легли. Даже тикет успел завести. Потом немного разобрался и понял, что связь через VPN не работает. Провайдеры не видят друг друга. Подключился на запасной VPN и смог зайти на сервера. Через пару часов связность восстановилась.

Дома у меня два тестовых гипервизора Proxmox и один Hyper-V. Два более ли менее мощные и шумные с кучей дисков на базе старых десктопов. Один вывел в отдельный vlan, чтобы можно было быстро закрыть доступ в интернет или общую локалку. Запускаю там что-то подозрительное.

Третий "сервер" - небольшой неттоп с быстрым SSD. Четвёртый - файловый на базе HP Microserver и XPenology. Всё это стоит как попало рядом с рабочим столом и на полке над ним. В доме, который достраиваю, всё будет в стойке. Выделил место под неё и уже проложил кабели под все устройства, камеры. Wifi не планирую ставить. Попробую без него обойтись.

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

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

#разное
​​Продолжая тему мониторинга, хочу вас познакомить с ещё одной полноценной распределённой системой мониторинга, которую попробовал сам. Речь пойдёт про Open Source проект Centreon. Я изучил систему, установил себе на сервер и настроил мониторинг одного хоста.

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

Например, в Centreon, как и в Nagios наблюдаемые метрики сгруппированы в Services, наравне с хостами. Можно строить выборки, группировать данные, создавать виджеты как на основе хостов, так и сервисов, которые привязаны к этим хостам.

Вторая особенность, которая вроде бы тоже из Nagios унаследована, хотя на 100% не уверен - после изменения настроек через веб интерфейс, их необходимо применить. То есть сразу ничего не меняется. Можно выполнить набор каких-то действий, а потом разом их применить. Мне лично такой подход нравится. Есть страховка от ошибочных действий.

Устанавливается Centreon очень просто. Есть готовый скрипт для rpm систем, который ставит php, maridb, apache. Связывает всё это между собой и запускает. Также этот скрипт, ❗️внимание!!!, включает SELinux и настраивает его. Вообще впервые такое вижу. Обычно все скрипты SELinux не любят и отключают его, чтобы не мешал.

Базовый мониторинг систем и устройств осуществляется через snmp. Это касается как Linux, так и Windows систем. Для мониторинга приложений надо ставить специальный poller на сервер. Например, для мониторинга Mysql.

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

Система в целом так себе. Не могу сказать, что она мне сильно понравилась. Бесплатная версия довольно простая и подойдёт для базовых метрик. Всё работает из коробки и настраивается быстро и просто. Добавляем хост, прикрепляем шаблон, применяем конфигурацию и метрики cpu, mem, ping, swap начинают собираться.

В общем, я не проникся. Если кто-то использует, дайте обратную связь. Система старая, активно развивается, постоянно новые релизы. При этом я не увидел там чего-то, чтобы мне захотелось её использовать. Её условно можно сравнить с LibreNMS, Сheckmk или Icinga. Лично мне из этой компании checkmk понравилась больше всего. Она тоже форк Nagios.

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

#мониторинг
​​Существует любопытные проекты, которые позволяют вам вживую потренироваться над взломом или изучением каких-то уязвимостей. Я расскажу про два из них, которые я сначала принял за один и тот же, так как не заметил разницы в одной букве в названиях.

Начну с vulhub. Это коллекция уязвимостей популярного софта, упакованная в готовое окружение на базе docker-compose. Сразу показываю на конкретном примере, как это работает. Недавно была обнаружена 0-day уязвимость CVE-2022-26134 в Confluence. Вот готовое окружение с уязвимой версией confluence и описание эксплоита. Можете развернуть и потренироваться взлому или закрытию уязвимости. И таких примеров там очень много.

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

Для образов vulnhub много примеров в сети, где люди рассказывают на конкретных примерах и программах, как они взламывают ту или иную систему. Я и статью почитал, и видео посмотрел. Интересное и полезное занятие. Для общего образования админам полезно всё это знать, хотя бы в базе, чтобы понимать, как их системы будут сканировать, изучать, ломать.

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

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

Здравствуйте, коллеги. Устроился в новую организацию. Имею:
- два офиса и склад в одном городе
- один офис в другом городе
- всего 50-60 человек с Windows 10 и несколько MacBook

Управлял всем аутсорс, который сейчас потихоньку передаёт полномочия. В каждом офисе стоит pfSense. На них настроены vlan и VPN (точно для банков и, как я понял, для взаимодействия между pfSense). Построена единая сеть, но без доступа к устройствам филиалов между собой.

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

Подскажите вариант как можно всё красиво организовать? Была мысль закупиться микротами и связать их через VPN + OSPF, так как с ними хотя бы есть опыт работы. А для удаленки настроить на их устройствах VPN. Либо всё это организовывать на том оборудовании, которое уже есть - на pfSense. 

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

#вопрос_читателя
Мой ответ. Разобью его на 3 части:

1️⃣ По поводу настройки сети. Если уже есть pfsense, то я бы ничего не менял 100%. Тем более сейчас не понятно, что будет с микротиками и по каким ценам они будут продаваться в будущем. Pfsense адекватное, функциональное, бесплатное решение, которое полностью обеспечит необходимый функционал для небольшой компании. Его будет полезно изучить.

2️⃣ Проброс RDP порта нужно 100% убрать. Самое простое, это поднять хотя бы RD Gateway. Еcть ещё варианты, которые могут подойти:
- Apache Guacamole и доступ к терминальному серверу через браузер. Я недавно для одной небольшой компании настроил. Их устраивает такой формат.
- Настроить пользователям VPN и подключать их только через неё. На базе pfsense это не трудно организовать, но надо будет всем пользователям настроить VPN. Он иногда глючит и не подключается, особенно если работают через мобильных операторов.
- Взять готовое решение для удалённого доступа, например Veliam. Там вроде бы 20 подключений бесплатно. Может хватит в твоём случае. Пользоваться удобно и настраивать юзерам ничего не надо. Достаточно один бинарник передать.

С удалённым доступом вариантов может быть много. Надо по ситуации подбирать.

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

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

По моим данным, сейчас обо всех проверках софта предупреждают заранее. Есть возможность либо купить его, либо удалить. Есть шанс как-то сманеврировать. Но это те данные, что я получал лично от знакомых. Как в общем случае проходят проверки, не знаю. Меня лично тоже предупреждали, но это было примерно 5-6 лет назад. Просто докупили недостающее. Тут хотелось бы получить обратную связь от тех, кто с этим сталкивался в последние пару лет.

Так что конкретно Microsoft можно не покупать, если руководство не получится убедить в отказе от этих продуктов. А вот всё остальное, особенно российское, я бы категорически не рекомендовал крякать. Особенно 1С.

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

Моё видение ситуации такое. Любопытно узнать ваше мнение по этому поводу.
​​Поговорим ещё немного о мониторинге. Все знают Prometheus. Он завоевал популярность в первую очередь из-за того, что соответствует на 100% современному подходу Iac (Infrastructure-as-Code), поэтому для динамических сред это сейчас стандарт мониторинга. Помимо очевидных преимуществ, у него есть недостатки - трудности с долговременным хранением данных, сложности с масштабированием, большое потребление ресурсов.

Для решения этих и некоторых других недостатков Prometheus появляется VictoriaMetrics. Это тоже бесплатный Open Source проект. Изначально она позиционировала себя как более удобное, производительное, долгосрочное хранилище данных для Prometheus. На сегодняшний день это самостоятельная система мониторинга, которая поддерживает язык запросов PromQL и интеграцию с Grafana. То есть для перехода с Prometheus практически ничего менять не надо.

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

Для попробовать, можно установить локально через Docker:
# docker run -it --rm \
-v `pwd`/victoria-metrics-data:/victoria-metrics-data \
-p 8428:8428 victoriametrics/victoria-metrics:latest

Далее вам нужен будет компонент vmagent для сбора данных, vmalert для отправки уведомлений. Это минимум. Также в Open Source версии есть следующие компоненты:
VictoriaMetrics Cluster для построения кластера;
vmbackup и vmrestore для бэкапа и восстановления хранилища;
vmoperator - оператор Kubernetes для деплоя, управления и масштабирования;
vmauth - шлюз для авторизации и балансировки нагрузки;
vmctl - утилита для миграции с Prometheus, Thanos, InfluxDB, OpenTSDB.

Если я правильно понимаю, то на текущий момент это более функциональное, удобное и производительное решение, нежели Prometheus с его базой TSDB.

❗️В завершении важное дополнение, которое в текущей ситуации я не могу не сделать. Насколько я понял, VictoriaMetrics разработала команда из Украины. Есть заявление Co-Founder и CTO VictoriaMetrics - Aliaksandr Valialkin:
Важное обновление: если вы работаете на Российские компании и пользуетесь приложениями VictoriaMetrics, то должны делать все, чтобы остановить войну Путина против Украины, в т.ч. распространять информацию с телеграмм-каналов "груз 200" и "ищи своих" и ходить на митинги против войны. В противном случае мы, разработчики VictoriaMetrics, запрещаем пользоваться нашими продуктами. См. также https://t.me/VictoriaMetrics_ru1/35410

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

Сайт: https://victoriametrics.com
Исходники: https://github.com/VictoriaMetrics/VictoriaMetrics

#мониторинг
​​Существует удобная и простая программа под Windows для инвентаризации IT устройств - Lansweeper. Программа старая и довольно известная. Я видел её в некоторых компаниях. Бесплатная версия позволяет добавить в систему до 100 устройств.

Lansweeper автоматически сканирует сеть и находит устройства, а также интегрируется с AD. Это позволяет автоматически собрать всю информацию о компьютерах и пользователях. Где какой софт стоит, какие лицензии применены, куда пользователь последний раз логинился и т.д. Есть куча готовых отчётов, чтобы быстро что-то найти. Например, вывести все компьютеры, где есть локальные учётные записи и показать их. Можно поискать MAC адреса, посмотреть журналы безопасности и т.д. Штука довольно функциональная.

Устанавливается и работает программа под Windows. Управление через web интерфейс, так что будет установлен IIS. В качестве СУБД использует либо существующий MSSQL Server, либо поставит бесплатный SQL Server Express. Установка и настройка не представляет каких-то сложностей.

Есть поддержка Linux машин. Ходит на них по SSH и собирает данные. Помимо безагентного сбора данных, также существует LsAgent, который можно развернуть на компьютерах и собирать данные с его помощью.

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

Сайт - https://www.lansweeper.com
Скачать без регистрации - https://www.lansweeper.com/update-lansweeper/ (для загрузки указать любой email)

#управление #ITSM