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

Обзор

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

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

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

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

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

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

Безопасный пользователь для агента Zabbix

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

Для агента Zabbix:

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

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

Отзыв доступа на запись к конфигурации 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 отключено по умолчанию (можно включить, добавив параметр AllowKey=system.run[<command>,*] для каждой разрешенной команды в конфигурации агента).
  • Доступ к настройке пользовательской HTTP-аутентификации включен по умолчанию; его можно отключить, установив $ZBX_FEATURE_FLAGS['http_auth_enabled'] = false в файле конфигурации веб-интерфейса (zabbix.conf.php).
  • Доступ к настройке модулей включен по умолчанию; его можно отключить, установив $ZBX_FEATURE_FLAGS['modules_config_enabled'] = false в файле конфигурации веб-интерфейса (zabbix.conf.php).
  • Редактирование отдельных типов медиа можно ограничить, установив $ZBX_FEATURE_FLAGS['media_type_denylist'] = [<value1>, <value2>, ...] в файле конфигурации веб-интерфейса (zabbix.conf.php). Возможные значения: 'email', 'script', 'sms' и 'webhook'. Можно указать одно или несколько значений.

Переустановка веб-интерфейса с помощью setup.php ограничена, если существует файл конфигурации zabbix.conf.php.

Доступ к UNC-пути в Windows через агент Zabbix

Агенты Zabbix в Windows следуют по UNC-путям (SMB-ресурсы, такие как \\server\share\file.txt) в элементах данных, например vfs.file.*, vfs.dir.*, modbus.get и perf_counter*. В некоторых случаях это может представлять риск для безопасности.

Когда Windows запрашивают доступ к UNC-пути, она пытается выполнить аутентификацию на этом сервере. Это означает, что вредоносный запрос к агенту Zabbix может раскрыть NTLM-хэш серверу, отправившему запрос. При необходимости пользователи могут снизить этот риск с помощью параметров конфигурации AllowKey и DenyKey.