Подписчик поделился информацией про один интересный проект, который следит за обновлениями в операционных системах.
Речь пойдёт про PatchMon. Сразу скажу, что он мне очень понравился. Решил его для теста оставить в своей локальной сети и попользоваться какое-то время. Он продаётся как сервис, и при этом есть self-hosted версия без каких-либо ограничений на использование. Разворачиваешь локально у себя и пользуешься.
PatchMon представляет из себя веб панель, куда можно добавлять хосты, чтобы следить за их обновлениями. Поддерживаются как Linux системы, так и Windows. При этом процесс организован очень удобно и максимально просто. Рассказываю на пальцах, как выглядит работа с ним:
1️⃣ Запускаем PatchMon через docker compose.
2️⃣ Добавляем туда хост. Для этого достаточно в веб интерфейсе получить код со ссылкой для установки и выполнить его на нужном сервере. Он автоматом скачает всё, что надо с сервера PatchMon, зарегистрируется на нём и запустит агента как службу в systemd.
3️⃣ Агент проверит пакеты и обновления к ним и отправит отчёт на сервер.
4️⃣ На сервере виден статус по обновлениям для всех хостов. Можно посмотреть, какие пакеты и где требуют обновления.
5️⃣ Обновление может происходить как в ручном режиме, так и автоматически по расписанию через заранее созданные задания.
6️⃣ Ручное обновление может быть выполнено через интерфейс PatchMon непосредственно службой агента, а можно тут же подключиться к хосту по SSH или RDP и руками запустить обновление.
Я всё это потестировал, показалось удобным. Плюс, панель сама по себе симпатично и информативно выглядит. Хотя интерфейс на любителя, много разных цветов.
Ставить или нет отдельно такую систему в свою рабочую инфраструктуру - вопрос неоднозначный. Она закрывает одну небольшую задачу, но при этом хочет отдельного агента для этого. Это ещё одна точка компрометации всей инфраструктуры, в случае чего. А на серверах и так скорее всего уже стоят агенты мониторинга, сбора логов, а возможно и агенты какой-нибудь SIEM системы, типа Wazuh. Он тоже частично закрывает эту задачу. На базе этих систем этот вопрос реально закрыть, но, возможно, не так удобно. Придётся покостылить.
Например, через Zabbix я этот вопрос закрываю с помощью Lynis. Получается не так удобно и гибко, потому что вижу только список обновлений безопасности для пакетов и необходимость перезагрузки, но зачастую этого достаточно. Так что использовать или нет PatchMon - решать вам по месту. Пока писал, вспомнил, что некоторые системы удалённого доступа, типа MeshCentral, тоже частично решают эту задачу. Сам PatchMon, кстати, тоже можно считать такой системой, потому что там встроен Apache Guacamole как раз для возможности удалённого подключения к узлу.
В общем, продукт довольно зрелый, целостный, легко устанавливается и настраивается, так что с внедрением проблем не будет. Свою задачу решает неплохо, я бы даже сказал - хорошо. Много настроек на тему раскатки обновлений - последовательное, разбитое по группам, только ручное, по расписанию, или по расписанию, но с подтверждением. Всё это логируется, шлются уведомления, отчёты и т.д.
#мониторинг