В разделе Администрирование → Аутентификация можно задать глобальный метод аутентификации в Zabbix и требования к паролю. Доступны следующие методы аутентификации: внутренний, HTTP, LDAP, SAML.
По умолчанию Zabbix использует внутреннюю аутентификацию Zabbix для всех пользователей. Это можно изменить по умолчанию на LDAP для всей системы или включить аутентификацию LDAP только для определенных групп пользователей.
Чтобы установить LDAP в качестве метода аутентификации по умолчанию для всех пользователей, перейдите к вкладке LDAP и настройте параметры аутентификации, затем вернитесь в вкладку Аутентификация и установите переключатель Аутентификация по умолчанию в положение LDAP.
Обратите внимание, что метод аутентификации можно точно настроить на странице user group. Даже если Аутентификация LDAP устанавливается глобально, некоторые группы пользователей по-прежнему могут проходить аутентификацию через Zabbix. У этих групп должен быть выставлен доступ к веб-интерфейсу как Внутренний. И наоборот, если внутренняя аутентификация используется глобально, детали аутентификации LDAP можно указать и использовать для определенных групп пользователей, чей интерфейсный доступ настроен на LDAP. Если пользователь входит хотя бы в одну группу пользователей с аутентификацией LDAP, этот пользователь не сможет использовать метод внутренней аутентификации.
HTTP и SAML 2.0 методы аутентификации могут использоваться в дополнение к стандартным методам аутентификации.
Вкладка Аутентификация позволяет определить сложность пользовательского пароля для внутренних пользователей Zabbix.
Можно настроить следующие параметры политики паролей:
Параметр | Описание |
---|---|
Минимальная длина пароля | По умолчанию минимальная длина пароля установлена на 8. Поддерживаемый диапазон: 1-70. Обратите внимание, что пароли длиннее 72 символов будут усечены. |
Пароль должен содержать | Отметьте один или несколько флажков, чтобы требовать использования в пароле указанных символов: --прописная и строчная латинская буква -цифра -специальный символ < br>Наведите указатель мыши на вопросительный знак, чтобы увидеть подсказку со списком символов для каждого варианта. |
Избегайте легко угадываемых паролей | Если отмечено, пароль будет проверяться на соответствие следующим требованиям: - не должен содержать имя, фамилию или имя пользователя - не должен быть одним из общеупотребительных или контекстно-зависимые пароли. Список общих и контекстно-зависимых паролей генерируется автоматически из списка NCSC «100 000 лучших паролей», списка SecList «1 миллион популярных паролей» и списка Zabbix контекстно-зависимых паролей. определенные пароли. Внутренним пользователям не будет разрешено устанавливать пароли, включенные в этот список, поскольку такие пароли считаются слабыми из-за их частого использования. |
Изменения в требованиях к сложности пароля не повлияют на существующие пароли пользователей, но если существующий пользователь решит изменить пароль, новый пароль должен соответствовать текущим требованиям. Подсказка с списком требований будет отображаться рядом с полем Пароль в профиле пользователя и в пользовательском форме конфигурации, которая доступна из меню Администрирование→Пользователи.
Аутентификацию на основе HTTP или веб-сервера (например: базовая аутентификация, NTLM/Kerberos) можно использовать для проверки имен пользователей и паролей. Обратите внимание, что пользователь также должен существовать в Zabbix, однако его пароль Zabbix не будет использоваться.
Будь осторожен! Перед включением убедитесь, что аутентификация веб-сервера настроена и работает правильно.
Параметры конфигурации:
Параметр | Описание |
---|---|
Включить HTTP-аутентификацию | Отметьте флажок, чтобы включить HTTP-аутентификацию. |
Форма входа по умолчанию | Укажите, следует ли направлять неаутентифицированных пользователей на: форму входа Zabbix — стандартную страницу входа Zabbix. форму входа HTTP — страницу входа HTTP.<br >Рекомендуется включать аутентификацию на основе веб-сервера только для страницы index_http.php . Если для Формы входа по умолчанию установлено значение «Страница входа по протоколу HTTP», пользователь будет входить в систему автоматически, если модуль аутентификации веб-сервера установит действительный логин пользователя в переменной $_SERVER .Поддерживаемые ключи $_SERVER : PHP_AUTH_USER , REMOTE_USER , AUTH_USER . |
Удалить доменное имя | Список доменных имен, разделенных запятыми, которые следует удалить из имени пользователя. Например. comp,any - если имя пользователя 'Admin@any', 'comp\Admin', пользователь войдет в систему как 'Admin'; если имя пользователя 'notacompany\Admin', вход будет запрещен. |
Вход с учетом регистра | Снимите флажок, чтобы отключить вход с учетом регистра (включен по умолчанию) для имен пользователей. Например. отключите вход с учетом регистра и войдите в систему, например, с пользователем «ADMIN», даже если пользователем Zabbix является «Admin». Примечание, что при отключенном входе с учетом регистра вход будет запрещен, если в системе существует несколько пользователей. База данных Zabbix с похожими именами пользователей (например, Admin, admin). |
В случае аутентификации на веб-сервере все пользователи (даже если для доступа к интерфейсу установлено значение LDAP/Internal) будут аутентифицироваться веб-сервером, а не Zabbix!
Для внутренних пользователей, которые не могут войти в систему с использованием учетных данных HTTP (с установленной формой входа HTTP по умолчанию), что приводит к ошибке 401, вы можете добавить строку «ErrorDocument 401 /index.php?form=default» к основным директивам аутентификации, который перенаправит на обычную форму входа в Zabbix.
Внешнюю аутентификацию LDAP можно использовать для проверки имен пользователей и паролей. Обратите внимание, что пользователь также должен существовать в Zabbix, однако его пароль Zabbix не будет использоваться.
Аутентификация Zabbix LDAP работает как минимум с Microsoft Active Directory и OpenLDAP.
Параметры конфигурации:
Параметр | Описание |
---|---|
Включить аутентификацию LDAP | Поставьте флажок, чтобы включить аутентификацию LDAP. |
Хост LDAP | Имя сервера LDAP. Например: ldap://ldap.zabbix.com Для защищенного сервера LDAP используйте протокол ldaps. ldaps://ldap.zabbix.com Для OpenLDAP 2.x.x и более поздних версий полный Можно использовать URI LDAP в форме ldap://hostname:port или ldaps://hostname:port. |
Порт | Порт сервера LDAP. По умолчанию — 389. Для безопасного подключения LDAP номер порта обычно равен 636. Не используется при использовании полных URI LDAP. |
Базовое DN | Базовый путь к учетным записям поиска: ou=Users,ou=system (для OpenLDAP), DC=company,DC=com (для Microsoft Active Directory) |
Атрибут поиска | Атрибут учетной записи LDAP, используемый для поиска: uid (для OpenLDAP), sAMAccountName (для Microsoft Active Directory) |
Привязать DN | Учетная запись LDAP для привязки и поиска на сервере LDAP, примеры: uid=ldap_search,ou=system (для OpenLDAP), CN=ldap_search,OU=user_group ,DC=company,DC=com (для Microsoft Active Directory) Также поддерживается анонимная привязка. · Обратите внимание, что анонимная привязка потенциально открывает доступ к конфигурации домена неавторизованным пользователям (информация о пользователях, компьютерах, серверах, группах, службах и т. д.). Из соображений безопасности отключите анонимные привязки на хостах LDAP и используйте вместо этого доступ с проверкой подлинности. |
Вход с учетом регистра | Снимите флажок, чтобы отключить ввод с учетом регистра (включено по умолчанию) для имен пользователей. Например. отключите вход с учетом регистра и войдите в систему, например, с пользователем «ADMIN», даже если пользователем Zabbix является «Admin». Примечание, что при отключенном входе с учетом регистра вход будет запрещен, если в системе существует несколько пользователей. База данных Zabbix с похожими именами пользователей (например, Admin, admin). |
Пароль привязки | Пароль LDAP учетной записи для привязки и поиска на сервере LDAP. |
Тестовая аутентификация | Заголовок секции для тестирования |
Логин | Имя тестового пользователя (который в данный момент зарегистрирован во внешнем интерфейсе Zabbix). Это имя пользователя должно существовать на сервере LDAP. Zabbix не будет активировать аутентификацию LDAP, если он не сможет аутентифицировать тестового пользователя. |
Пароль пользователя | Пароль LDAP тестового пользователя. |
В случае проблем с сертификатами, чтобы обеспечить работу безопасного соединения LDAP (ldaps), вам может потребоваться добавить строку TLS_REQCERT allow
в файл конфигурации /etc/openldap/ldap.conf. Это может снизить безопасность подключения к каталогу LDAP.
Рекомендуется создать отдельную учетную запись LDAP. (Bind DN) для выполнения привязки и поиска на сервере LDAP с минимальными привилегиями в LDAP вместо использования реальных учетных записей пользователей (используемых для ведения журнала во внешнем интерфейсе Zabbix). Такой подход обеспечивает большую безопасность и не требует изменения Привязать пароль, когда пользователь меняет свой пароль на сервере LDAP.
В таблице выше это имя учетной записи ldap_search.
Для входа в Zabbix можно использовать аутентификацию SAML 2.0. Обратите внимание, что пользователь должен существовать в Zabbix, однако его пароль Zabbix не будет использоваться. Если аутентификация прошла успешно, Zabbix сопоставит локальное имя пользователя с атрибутом имени пользователя, возвращаемым SAML.
Если аутентификация SAML включена, пользователи смогут выбирать между локальным входом в систему или через систему единого входа SAML.
Для работы с Zabbix, поставщиком идентификации SAML (onelogin.com, auth0.com, okta.com и др.) необходимо настроить следующим образом:
<path_to_zabbix_ui>/index_sso.php?acs
<path_to_zabbix_ui>/index_sso.php?sls
<path_to_zabbix_ui>
примеры: %% https://example.com/zabbix/ui, http://another.example.com/zabbix, http://<любой_общедоступный_ip_адрес>/zabbix %%
It is required to install php-openssl if you want to use SAML authentication in the frontend.
To use SAML authentication Zabbix should be configured in the following way:
1. Private key and certificate should be stored in the ui/conf/certs/, unless custom paths are provided in zabbix.conf.php.
By default, Zabbix will look in the following locations:
2. All of the most important settings can be configured in the Zabbix frontend. However, it is possible to specify additional settings in the configuration file.
Configuration parameters, available in the Zabbix frontend:
Parameter | Description |
---|---|
Enable SAML authentication | Mark the checkbox to enable SAML authentication. |
IDP entity ID | The unique identifier of SAML identity provider. |
SSO service URL | The URL users will be redirected to when logging in. |
SLO Service URL | The URL users will be redirected to when logging out. If left empty, the SLO service will not be used. |
// Username attribute// | SAML attribute to be used as a username when logging into Zabbix. List of supported values is determined by the identity provider. Examples: uid userprincipalname samaccountname username userusername urn:oid:0.9.2342.19200300.100.1.1 urn:oid:1.3.6.1.4.1.5923.1.1.1.13 urn:oid:0.9.2342.19200300.100.1.44 |
SP entity ID | The unique identifier of SAML service provider. |
SP name ID format | Defines which name identifier format should be used. Examples: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:entity |
Sign | Mark the checkboxes to select entities for which SAML signature should be enabled: Messages Assertions AuthN requests Logout requests Logout responses |
Encrypt | Mark the checkboxes to select entities for which SAML encryption should be enabled: Assertions Name ID |
Case-sensitive login | Mark the checkbox to enable case-sensitive login (disabled by default) for usernames. E.g. disable case-sensitive login and log in with, for example, 'ADMIN' user even if the Zabbix user is 'Admin'. Note that with case-sensitive login disabled the login will be denied if multiple users exist in Zabbix database with similar usernames (e.g. Admin, admin). |
Additional SAML parameters can be configured in the Zabbix frontend configuration file (zabbix.conf.php):
Zabbix uses OneLogin's SAML PHP Toolkit library (version 3.4.1). The structure of $SSO['SETTINGS'] section should be similar to the structure used by the library. For the description of configuration options, see official library documentation.
Only the following options can be set as part of $SSO['SETTINGS']:
All other options will be taken from the database and cannot be overridden. The debug option will be ignored.
In addition, if Zabbix UI is behind a proxy or a load balancer, the custom use_proxy_headers option can be used:
Configuration example: