Управление доступом
Обзор
В этом разделе приведены рекомендации по безопасной настройке управления доступом.
Принцип наименьших привилегий
Учетные записи пользователей должны всегда работать с минимально возможным набором привилегий. Это означает, что учетные записи пользователей во веб-интерфейсе Zabbix, пользователи базы данных или пользователь для процессов сервера/прокси/агента Zabbix должны иметь только те привилегии, которые необходимы для выполнения предназначенных функций.
Предоставление дополнительных привилегий пользователю 'zabbix' позволит ему получать доступ к файлам конфигурации и выполнять операции, которые могут поставить под угрозу безопасность инфраструктуры.
При настройке привилегий учетных записей пользователей следует учитывать типы пользователей веб-интерфейса Zabbix. Обратите внимание, что хотя тип пользователя Admin имеет меньше привилегий, чем тип пользователя Super Admin, он все равно может управлять конфигурацией и выполнять пользовательские скрипты.
Некоторая информация доступна даже пользователям без привилегий. Например, хотя Alerts → Scripts доступно только пользователям Super Admin, скрипты также можно получить через API Zabbix. В этом случае ограничение прав на скрипты и исключение конфиденциальной информации из скриптов (например, учетных данных для доступа) может помочь избежать раскрытия конфиденциальной информации, доступной в глобальных скриптах.
Безопасный пользователь для агента Zabbix
По умолчанию процессы сервера, прокси и агента Zabbix (или agent 2) используют одну учетную запись zabbix.
Чтобы предотвратить доступ агента Zabbix/agent 2 (запущенного на том же компьютере, что и сервер/прокси) к конфиденциальным сведениям в конфигурации сервера/прокси (например, к учетным данным базы данных), агент следует запускать от имени другого пользователя:
Для агента Zabbix:
- Создайте безопасные группу и пользователя (например,
zabbix-agent). - Укажите этого пользователя в параметре User файла конфигурации агента.
- Перезапустите агент, чтобы понизить привилегии до нового пользователя.
Для 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.