1. Контроль доступа

Обзор

В этом разделе приведены рекомендации по настройке контроля доступа безопасным образом.

Принцип наименьших привилегий

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

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

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

Некоторая информация доступна даже непривилегированным пользователям. Например, хотя раздел ОповещенияСкрипты доступен только для пользователей с ролью Супер-администратор, скрипты также можно получить посредством Zabbix API. В этом случае ограничение прав доступа к скриптам и исключение конфиденциальной информации из скриптов (например, учётных данных) может помочь избежать раскрытия конфиденциальной информации, доступной в глобальных скриптах.

Защищённый пользователь для Zabbix агента

По умолчанию процессы Zabbix сервера, прокси и агента (или агента 2) используют одного пользователя zabbix. Чтобы предотвратить доступ Zabbix агента/агента 2 (работающего на том же компьютере, что и сервер/прокси) к конфиденциальным данным в конфигурации сервера/прокси (например, к учётным данным базы данных), агент следует запускать под другим пользователем:

Для Zabbix агента:

  1. Создайте защищённую группу и пользователя (например, zabbix-agent).
  2. Укажите этого пользователя в параметре User файла конфигурации агента.
  3. Перезапустите агента, чтобы сбросить привилегии на нового пользователя.

Для Zabbix агента 2, настройки должны применяться на уровне службы [en], так как файл конфигурации агента 2 не поддерживает параметр User. Пример можно посмотреть в ZBX-26442 [en].

Отзыв доступа на запись к конфигурации SSL (Windows)

Если вы скомпилировали агент Zabbix в Windows, где OpenSSL находится в незащищённом каталоге (например, C:\zabbix, c:\openssl-64bit, C:\OpenSSL-Win64-111-static или C:\dev\openssl), обязательно отмените доступ на запись в этот каталог для пользователей, не являющихся администраторами. В противном случае агент будет загружать настройки SSL из пути, который могут изменить непривилегированные пользователи, что приведёт к потенциальной уязвимости безопасности.

Усиление безопасности компонентов Zabbix

Для усиления безопасности компонентов Zabbix некоторые функции можно отключить:

  • выполнение глобальных скриптов на Zabbix сервере можно отключить, установив EnableGlobalScripts=0 в настройках сервера;
  • выполнение глобальных скриптов на Zabbix прокси по умолчанию отключено (можно включить, установив EnableRemoteCommands=1 в настройках прокси);
  • выполнение глобальных скриптов на агентах Zabbix agents по умолчанию отключено (можно включить, добавив параметр AllowKey=system.run[<command>,*] для каждой разрешённой команды в настройках агента);
  • HTTP-аутентификацию пользователей можно отключить, установив $ALLOW_HTTP_AUTH=falseв файле конфигурации веб-интерфейса (zabbix.conf.php). Обратите внимание, что переустановка веб-интерфейса (запуск setup.php) удалит этот параметр.