Безопасность Zabbix: как защитить систему мониторинга

Безопасность — это ключевой аспект любого инструмента в вашей IT-инфраструктуре, и Zabbix не исключение. В этой статье мы рассмотрим основные меры безопасности, которые помогут защитить вашу систему мониторинга Zabbix и обеспечить безопасное управление данными и операциями в рамках IT-инфраструктуры.

Безопасность в Zabbix: общая информация

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

Помимо шифрования взаимодействия между всеми компонентами Zabbix, администраторы могут создавать гибкие пользовательские роли для детального управления доступом. Пароли пользователей хранятся в базе данных в зашифрованном виде с использованием алгоритма bcrypt. Начиная с версии Zabbix 6.0 LTS, появилась возможность задавать политику сложности паролей, что позволяет усилить защиту учетных записей.

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

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

Управление пользователями и доступом в Zabbix

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

В Zabbix существует три типа пользователей с различным уровнем доступа:

  • Zabbix Super Admin. Есть неограниченный доступ ко всем функциям системы. Может изменять любые настройки и просматривать все секреты, включая пароли и макросы.
  • Zabbix Admin. Может изменять часть конфигурации, создавать хосты и шаблоны. Есть доступ к некоторой информации о конфигурации системы.
  • Zabbix User. Ограничен только мониторингом данных. Может создавать карты и панели мониторинга, но не имеет доступа к конфигурационным разделам.

Для удобства управления пользователями можно создавать группы с определенными уровнями доступа:

  • Администраторские группы. Им доступны права на чтение и запись.
  • Пользовательские группы. Ограничены только правами на чтение.
  • Группы Super Admin. Есть полный доступ ко всем хостам и объектам.

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

Чтобы предотвратить несанкционированный доступ, важно принять меры по защите пользователей, в особенности с правами Super Admin. Несоблюдение этих мер может привести к утечке данных, паролей и макросов, а также к доступу злоумышленников к удаленному управлению хостами.

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

  • После установки Zabbix обязательно измените стандартные имя пользователя и пароль администратора.
  • Сразу после установки Zabbix необходимо отключить гостевую учетную запись (guest), так как она представляет угрозу несанкционированного доступа.
  • Минимизируйте количество пользователей с неограниченным доступом.
  • Создайте отдельные учетные записи для мониторинга и администрирования. Так вы уменьшите риск случайного изменения настроек и улучшите контроль над доступом к системе.
  • Убедитесь, что пароли учетных записей пользователей обновляются регулярно. Используйте надежные пароли, которые включают буквы разного регистра, цифры и специальные символы.
  • После завершения работы в веб-интерфейсе всегда завершайте сессию админа вручную.
  • Чтобы улучшить управления пользователями можно использовать внешние методы аутентификации, такие как LDAP, SAML или HTTP. Они позволяют хранить имена пользователей и пароли вне системы Zabbix и обеспечивать централизованное управление доступом.
Источник: Shutterstock. Правильное распределение привилегий учетных записей в Zabbix поможет обеспечить безопасность системы мониторинга

Настройка шифрования

Zabbix поддерживает два метода шифрования сертификаты и Pre-Shared Keys (PSK). Выбор между ними зависит от ваших требований к безопасности и простоте настройки.

Сертификаты:

  1. используют асимметричное шифрование;
  2. позволяют выполнять аутентификацию пользователя;
  3. поддерживают списки отозванных сертификатов (CRL);
  4. могут быть ограничены через указание Issuer и Subject.

PSK:

  1. используют симметричное шифрование;
  2. более просты в настройке.

Хотя PSK легче настроить, сертификаты обеспечивают более высокий уровень безопасности благодаря использованию пары ключей.

Чтобы настроить SSL-сертификат в Zabbix, мы используем Let's Encrypt:

  1. Обновите список пакетов и установите snapd с помощью команды:
  1. Когда установка завершится, убедитесь, что snapd работает, выполнив команды:
  1. Чтобы проверить обновления snapd, пропишите:
  1. Далее нужно установить Certbot. Он необходим для автоматической генерации SSL-сертификатов. Установите его с помощью команды:

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

После настройки DNS выполните команду для генерации сертификата:

На экране появится сообщение: "Successfully received certificate". Теперь вы можете открыть веб-интерфейс Zabbix в браузере и убедиться, что соединение защищено SSL.

Источник: Shutterstock. Плагин Zabbix Threat Control поможет с обнаружением и устранением уязвисмостей

Использование хранилища Vault

Zabbix поддерживает интеграцию с внешним хранилищем HashiCorp Vault для безопасного хранения паролей и других секретов. Он позволяет отделить конфиденциальную информацию от основной конфигурации системы и повысить безопасность.

Чтобы настроить Vault в Zabbix, необходимо указать три параметра:

  • VaultToken — токен аутентификации для безопасного взаимодействия с хранилищем.
  • VaultURL — URL-адрес сервера Vault с поддержкой TLS.
  • VaultPath — путь в Vault, где хранится конфиденциальная информация.

Пример конфигурации сервера Zabbix:

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

Настройка аудита событий в Zabbix-сервере

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

Чтобы Zabbix начал фиксировать события, необходимо включить функцию логирования аудита:

  1. Перейдите в раздел Administration → Audit log.
  2. Установите флажок Enable audit logging.

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

Доступ к записям журнала предоставляется в разделе Reports → Audit log.

Здесь вы можете отслеживать следующие параметры:

  • Time — временная метка события.
  • User — имя пользователя, совершившего действие.
  • IP — IP-адрес, с которого была замечена активность.
  • Resource — тип ресурса, на который повлияло действие (например, токен API, действия, авторизация и так далее).
  • ID — идентификатор ресурса. Кликнув на ID, можно отфильтровать записи, связанные с этим ресурсом.
  • Action — тип выполненной активности (например, добавление, обновление, удаление, неудачная попытка входа и так далее).
  • Recordset ID — общий идентификатор для всех записей, созданных в рамках одной операции. Его особенно удобно использовать при анализе сложных операций, например, привязки шаблона к хосту, где генерируются несколько записей для каждого элемента шаблона.
  • Details — описание ресурса и детальная информация о выполненном действии. Если запись содержит больше двух строк, будет доступна ссылка Details, которая позволяет увидеть полные детали изменений.

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

Контроль уязвимостей с помощью плагина Zabbix Threat Control

Zabbix Threat Control — это плагин с открытым исходным кодом, который интегрируется с Zabbix для управления уязвимостями в вашей инфраструктуре. Он написан на Python и предоставляет простой и эффективный способ мониторинга, анализа и устранения угроз безопасности прямо из веб-интерфейса Zabbix.

Основные возможности плагина:

  • Визуализация уязвимостей. Плагин отображает в веб-интерфейсе Zabbix полную информацию об уязвимостях, которые были найдены в вашей системе. Она позволяет администраторам быстро выявить проблемные области и определить приоритетные задачи.
  • Оценка уровня угроз. Каждая найденная уязвимость оценивается по стандарту CVSS (Common Vulnerability Scoring System), что помогает определить степень критичности проблемы. Используя эту информацию, вы можете сосредоточиться на устранении наиболее опасных уязвимостей.
  • Рекомендации по устранению. Zabbix Threat Control предоставляет практические рекомендации по устранению каждой найденной уязвимости. Эти инструкции легко применимы и значительно упрощают процесс исправления проблем, а также снижает вероятность ошибок.

Изоляция Zabbix-сервера

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

Что можно сделать? Например:

  1. Переместите Zabbix-сервер в DMZ — выделенную сеть, которая отделена как от внешнего интернета, так и от основной корпоративной сети.
  2. Настройте Zabbix Прокси для передачи данных от компонентов мониторинга на Zabbix-сервер. Прокси-серверы размещаются в локальных сегментах сети и выполняют сбор данных о состоянии хостов, а затем пересылают эту информацию на основной сервер.
  3. Избегайте прямого подключения устройств и систем мониторинга к Zabbix-серверу. Все взаимодействия должны осуществляться через прокси или защищенные каналы по типу VPN.
  4. Настройте файервол и ограничьте IP-адреса, у которых есть доступ к веб-интерфейсу Zabbix.

Заключение

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

Для защиты Zabbix и всей IT-инфраструктуры важно соблюдать следующие меры безопасности:

  • изолируйте Zabbix-сервер от нежелательных компонентов;
  • грамотно настройте привилегии пользователей;
  • включите аудит событий для отслеживания активности пользователей;
  • используйте инструменты для контроля уязвимостей;
  • обеспечьте надежную аутентификацию.

Следуя этим рекомендациям, вы снизите риски атак, защитите данные мониторинга и повысите надежность вашей IT-инфраструктуры.

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

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

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

Когда были созданы первые компьютеры, операционной системой на них можно было управлять только при помощи ввода текстовых команд. Со временем...
Read More

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More