ServerAdmin.ru
32.6K subscribers
1.26K photos
77 videos
29 files
3.25K links
Авторская информация о системном администрировании.

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

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

Ресурс включён в перечень Роскомнадзора
Download Telegram
Продолжу тему с мониторингом почтового сервера. Вспомнился ещё один очень простой вариант, когда у вас нет Zabbix или Prometheus, или вы не хотите по какой-то причине всё это настраивать. Можно настроить мониторинг основных метрик по доставке писем и анализа очереди буквально за 5 минут.

Есть очень старый, но до сих пор по какой-то причине поддерживаемый мониторинг - Monitorix. Я уже упоминал его когда-то давно. Это простейший мониторинг, написанный на Perl, для одиночного сервера. У него преднастроен набор некоторых метрик и графиков, так что вручную настраивать ничего не надо. Достаточно указать модули, которые вы хотите добавить в мониторинг.

Один из таких модулей поддерживает Postfix и анализ его логов с помощью всё того же pflogsumm. Я даже удивился, когда его попробовал и всё практически сразу заработало. Погонял письма на сервере, получил пару rejected, посадил письмо в очередь. Посмотрел на графики, там всё это отобразилось, хоть и не совсем наглядно. Мониторинг не даёт посмотреть графики на интервале меньше суток, а на моём тестовом сервере трафика почти нет. Графики и значения усредняются.

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

Показываю, как настроил Monitorix для почтового сервера Postfix. Устанавливаем:

# apt install monitorix pflogsumm

В файле конфигурации /etc/monitorix/monitorix.conf включаю отображение графиков почты:

<graph_enable>
.....
mail = y
....
</graph_enable>

Меняю во всех строках имя лог файла /var/log/maillog на /var/log/mail.log.
Указываю в качестве почтового сервера postfix:

<mail>
...
mta = postfix
...
</mail>

Перезапускаю мониторинг:

# systemctl restart monitorix
# systemctl enable monitorix

Можно идти на http://IP:8080/monitorix/ и смотреть графики. Помимо почты будут собираться и другие метрики, которые активированы в разделе конфигурации graph_enable. Всё, что не нужно, можно отключить.

Такой вот необычный мониторинг из прошлого. У него можно настроить аутентификацию, уведомления и некоторые другие вещи. На сайте есть руководства. Например, можно мониторить LM-Sensors, размер директорий и кол-во файлов (я проверил, легко настраивается, нормально работает), статистику Netstat, активность процессов, открытые файлы, статистику конкретных TCP портов и многое другое.

Метрики Monitorix хранит в RRDtool, а для графиков автоматом рисует готовые png. Уже после написания заметки увидел, что можно включить не только суточные интервалы просмотра, но и часовые. Для этого в конфигурацию надо добавить:

enable_hourly_view = y

И перезапустить сервис.

Выглядит всё это очень непривычно в 2025 году. Но в целом всё работает из коробки. Графики приятны для глаз. Собираются все базовые метрики: CPU, Mem, Network, I/O и т.д. Поставил, запустил и всё заработало.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#postfix #мониторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👎1
Nextcloud, появившийся изначально как форк файлового хранилища, в настоящее время оброс всевозможной функциональностью и стал по сути веб платформой для совместной работы, общения и обмена информацией. Я не раз упоминал про наличие у него мессенджера Nextcloud Talk. Решил отдельно про него написать в рамках цикла моих заметок про бесплатные self-hosted чат-сервера.

На установке Nextcloud я не буду останавливаться. Продукт популярный, в сети куча инструкций. Проще всего взять официальный установщик через Docker и установить всё необходимое с его помощью. Там на этапе начальной установки можно будет сразу выбрать установку Nextcloud Talk со всем необходимым обвесом в виде STUN и TURN серверов. Раньше их отдельно вручную ставили, сейчас всё автоматизировано.

📌 Перечислю плюсы Nextcloud Talk:

➕ Очень простая установка. Если взять VPS с внешним IP и настроенной DNS записью для него, то установщик автоматически развернёт Nextcloud и Talk, выпустит сертификат, запустит всё по доменному имени.
➕ Сразу работают видеозвонки. Вообще не пришлось заморачиваться с настройкой. Установил, зашёл, создал пользователей, создал комнату, пригласил их туда принудительно и получил ссылку для отправки и добровольного захода.
➕ Есть мобильные приложения. Установил на Android, проблем не возникло. Указал DNS имя в качестве сервера, зашёл под учёткой, подключился к видеоконференции. Пуши работают. Ноль заморочек и сложностей.
➕ Есть индикация прочтения сообщений, уведомление в режиме реального времени, когда собеседник печатает своё сообщение.
➕ Nexcloud это не только чат и звонки, но и всё остальное - файловое хранилище, совместная работа с документами, календарь и т.д. Функциональная площадка для совместной работы.

📌 Теперь минусы:

➖ Мне лично не нравится внешний вид Nextcloud. Русскоязычный перевод неаккуратный, где-то перевод непонятен, где-то текст вылезает за границы кнопок. Постоянно этим пользоваться не хочется. Надо переходить на английский. Вкупе с так себе интерфейсом совсем грустно. Но это всё субъективно. Внешний вид чатов в Mattermost или Rocket Chat мне нравится больше.
➖ Видеозвонки немного тормозные, как на десктопе, так и на смартфоне. Вроде всё работает, но как-то подтормаживает, заедает и т.д. И это при конференции между двумя устройствами. Как это всё будет тянуть несколько человек одновременно не представляю. Мне кажется, плохо.
➖ По мобильной связи общение было так себе. Вроде всё работает, но чувствуются, что канала не хватает. Качество плавает, подлагивает.
➖ Nextcloud в целом прожорливое и тормозное приложение. Разработчики с этим пытаются что-то сделать, но не знаю, насколько удачно. Не очень верится, что что-то получится. Там такое наследие из прошлого тянется.
➖ Nextcloud сейчас - это куча Docker контейнеров и сервисов. Подозреваю, что поддерживать всё это не очень просто. Пока всё работает, проблем нет. Но если, к примеру, видеозвонки начнут тормозить, то неочевидно, с чего начинать отладку. А проблемы там будут. Видел много отзывов на этот счёт.

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

Если кто-то использует Nextcloud для больших коллективов, поделитесь отзывами.

Из близких бесплатных альтернатив - Jitsi и все чат серверы, куда её можно интегрировать. Но с Jitsi придётся с настройкой повозиться, если нужно будет интеграцию с чатом делать. Это решение известное и проверенное, если настроить, то будет работать. Хоть на него тоже ругаются, что глючит, костыльное и т.д., но лучше self-hosted ничего нет 🤷🏼‍♂️ Jitsi используют многие коммерческие продукты.

Обзоры других чатов:

◽️Mattermost
◽️Zulip
◽️TrueConf Server Free
◽️Rocket.Chat

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#chat #nextcloud
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍100👎2
Расскажу про ещё одну функциональность на базе Nextcloud - приложение Passwords на её основе. У меня был цикл заметок на тему хранения паролей. Этот продукт хорошо её его дополняет, так как подходит и для хранения личных паролей, и для совместного использования.

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

📌 Основные возможности Nextcloud Passwords:

▪️Личное или совместное использование паролей с другими пользователями Nextcloud.
▪️Проверка утечки паролей через публичные сервисы, типа "Have I Been Pwned".
▪️Пароли можно раскладывать по папкам и метить тэгами.
▪️Есть расширение для браузеров для автозаполнения, мобильные и десктопные приложения.
▪️Автоматический учёт повторяемости и срока давности пароля, если он задан.
▪️Умеет подтягивать иконки сайтов в паролях для них.
▪️По заявлению разработчика, пароли на сервере зашифрованы и расшифровываются перед передачей клиенту. Используется встроенное шифрование Nextcloud (Nextclouds integrated encryption functionality).
▪️Хранится история изменений паролей. Это, кстати, полезная функциональность. Я иногда вручную сохраняю старые пароли.
▪️Можно ограничить время доступа к паролю других людей, разрешить или запретить им менять пароль и самим управлять доступом. Все расшаренные тобой или для тебя пароли видны в отдельных разделах.
▪️Можно задать мастер-пароль или 2FA аутентификацию.
▪️Есть бэкап/восстановление паролей из приложения и обратно. Форматы: встроенный, csv, excel. Есть импорт паролей из Chrome.
▪️Пароль можно передать в виде QR кода.

📌 Минусы, которые заметил:

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

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

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

Аналоги:

▪️Vaultwarden
▪️Bearpass
▪️Bitwarden
▪️TeamPass
▪️Syspass
▪️Passbolt
▪️Psono
▪️KeePassXC

Наиболее популярный менеджер паролей - Vaultwarden. Если подбираете себе что-то подобное, то рекомендую обратить внимание именно на него. BearPass - российская разработка с бесплатной версией на 5 пользователей. Исходники открыты ☝️.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#password #nextcloud
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72👎3
Ниже будет простая информация на тему шифрования данных. Вспомнил про это, когда меня один знакомый спросил, как ему зашифровать систему на арендованной VPS, чтобы хоть как-то защитить личные данные, которые там будут храниться.

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

Причём подход этот работает примерно одинаково и в Linux, и в Windows. Эта функциональность уже есть в ядре. Покажу, как это примерно может выглядеть. Для начала Linux. Ставим набор утилит:

# apt install cryptsetup

Создаём виртуальный диск:

# dd if=/dev/zero of=~/crypt.img bs=1M count=1024 status=progress

Шифруем его:

# cryptsetup -y -v luksFormat ~/crypt.img

Вам нужно будет подтвердить команду, написав YES заглавными буквами. Затем ввести парольную фразу. Открываем зашифрованный образ и присваиваем любое имя, например, crypt:

# cryptsetup luksOpen ~/crypt.img crypt

Появится диск /dev/mapper/crypt, с которым можно работать как обычно. Создаём файловую систему и монтируем:

# mkfs.ext4 /dev/mapper/crypt
# mkdir -p /mnt/crypt
# mount /dev/mapper/crypt /mnt/crypt

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

В Windows всё примерно то же самое, только в качестве шифрования используется BitLocker. Выполнить создание диска проще всего через оснастку Управление компьютером. Открываем её и переходим в Управление дисками ⇨  Дополнительные действия ⇨ Создать виртуальный жёсткий диск.

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

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

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

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍159👎2
В стандартных репозиториях Debian, да и многих других дистрибутивов давно живёт небольшая и неприметная утилита grc, которая умеет подкрашивать терминал для популярных утилит и типовых логов. Использовать её очень просто, ничего запоминать не надо.

# apt install grc

И теперь можно подсвечивать почти все типовые действия в консоли:

# grc ss -tulnp
# grc ps axf
# grc ping ya.ru
# grc cat /var/log/syslog
# grc tail -f /var/log/syslog

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

Причём в Debian для алиасов уже всё настроено. Достаточно в в файле /etc/default/grc указать параметр:

GRC_ALIASES=true

После этого активируется файл конфигураций /etc/profile.d/grc.sh и подсветка будет активирована для добавленных туда утилит.

Некоторые современные SSH клиенты сами умеют подкрашивать некоторые строки. Например, в MobaXterm по умолчанию по шаблонам есть подсветка некоторых элементов: подсветка IP адресов, слов error, warn и т.д. Но я обычно это отключаю, что видеть исходный терминал так, как он есть.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#linux #terminal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍213👎3
Рассказываю, как выполнить важную базовую настройку, которую я обычно делаю на всех серверах. Речь пойдёт про отправку системной почты пользователя root через внешний почтовый сервер. Для этого можно использовать любой smtp клиент, например ssmtp или msmtp.

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

Если Postfix не установлен, то надо поставить:

# apt install postfix

Сохраняем на всякий случай стандартную конфигурацию и заменяем своей:

# cp main.cf main.cf.orig

Содержимое main.cf:

relayhost = mail.zeroxzed.ru:465
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/ssl/certs/Entrust_Root_Certification_Authority.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_session_cache_timeout = 3600s
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_generic_maps = hash:/etc/postfix/generic

Здесь достаточно поменять адрес сервера и порт mail.zeroxzed.ru:465 на свои. Создаём файл sasl_passwd, где будут храниться данные для аутентификации. Формат такой:

mail.zeroxzed.ru servers@zeroxzed.ru:password123

◽️mail.zeroxzed.ru - имя почтового сервера, такое же как в параметре relayhost
◽️servers@zeroxzed.ru:password123 - почтовый ящик и пароль от него

Файл generic имеет следующий формат:

root servers@zeroxzed.ru

Здесь мы указываем, что в письмах отправителя root меняем на servers@zeroxzed.ru. Это нужно для того, чтобы не было проблем с доставкой. Если у вас имя сервера имеет вид srv.local, то без этой замены отправитель будет root@srv.local. С таким отправителем вашу почту большинство серверов не примут, ответив что-то в духе: "Sender address rejected: Domain not found". А почтовая служба Яндекса в обязательном порядке требует, чтобы имя пользователя для аутентификации совпадало с адресом отправителя, иначе письмо не будет отправлено.

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

Формируем на основе текстовых файлов локальные базы данных, с которыми будет работать Postfix, и перезапускаем его:

# postmap /etc/postfix/generic /etc/postfix/sasl_passwd
# systemctl restart postfix

Проверяем отправку:

# echo "Test body message." | mail -s "$(hostname)" zeroxzed@gmail.com

Письмо нормально улетело в Gmail. В теме письма - имя сервера, в отправителе - root <servers@zeroxzed.ru>.

Теперь сделаем так, чтобы локальная почта, адресованная пользователю root, отправлялась куда-то на внешний ящик. Для этого добавляем в /etc/aliases:

root: root@zeroxzed.ru

И обновляем базу алиасов:

newaliases

Проверяем:

# echo "Test body message." | mail -s "$(hostname)" root

В ящик root@zeroxzed.ru должно прийти письмо от root <servers@zeroxzed.ru>.

Теперь все системные уведомления для root будут отправляться в этот ящик. Проверим на каком-нибудь задании crontab с ошибкой. Для этого создадим такое ошибочное задание на выполнение несуществующей команды:

# crontab -e

Добавляем задачу:

* * * * * /usr/bin/command-not-found

Сохраняем и ждём минуту. Получаем на почту ошибку выполнения задания cron. Тема письма будет примерно такая: "Cron <root@srv-web01> /usr/bin/command-not-found". По имени сервера srv-web01 можно сделать правило фильтрации.

С такими настройками, к примеру, кроны с rsync и ключами -v или --progress шлют вывод rsync на почту. Удобно бегло посмотреть, что там куда копируется, или увидеть ошибки, если есть.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍172👎2
Сисадминская баллада
tbgazeta
Подписчик поделился песней про сисадмина, которую я ранее не слышал. Мне понравилась. Такая лёгкая, чиловая песенка с простеньким текстом, поэтому решил поделиться. Чижа мне напомнила.

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

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

⇨ https://t.me/srv_admin_humor

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

#музыка
👍42👎8