4 MFA
Обзор
Многофакторная аутентификация (MFA) может использоваться для входа в Zabbix, обеспечивая дополнительный уровень безопасности по сравнению с одним только именем пользователя и паролем.
При использовании MFA пользователь должен существовать в Zabbix, должен указать учетные данные Zabbix при входе в систему, а также должен подтвердить свою личность другим способом, обычно с помощью кода, сгенерированного приложением-аутентификатором на телефоне пользователя.
Доступно несколько методов MFA, что позволяет пользователям выбрать вариант, который лучше всего соответствует их требованиям к безопасности и предпочтениям. Эти методы: одноразовый пароль на основе времени (Time-Based One-Time Password, TOTP) и Duo Universal Prompt.
Конфигурация

Параметры конфигурации:
| Parameter | Description |
|---|---|
| Enable multi-factor authentication | Установите флажок, чтобы включить многофакторную аутентификацию. |
| Methods | Нажмите Add, чтобы настроить метод MFA (см. настройка метода ниже). |
Настройка метода

Параметры настройки метода:
| Parameter | Description |
|---|---|
| Type | Выберите тип метода MFA: TOTP - используйте приложение-аутентификатор для генерации одноразовых паролей на основе времени; Duo Universal Prompt - используйте службу аутентификации Duo для обеспечения многофакторной аутентификации. |
| Name | Введите имя, которое будет отображаться как имя учетной записи для всех пользователей MFA в приложениях-аутентификаторах (например, "Zabbix"). |
| Hash function | Выберите функцию хеширования (SHA-1, SHA-256 или SHA-512) для генерации кодов TOTP. Этот параметр доступен, если для типа метода MFA установлено значение "TOTP". Обратите внимание, что выбор SHA-256 или SHA-512 может значительно ограничить совместимость, поскольку многие приложения в настоящее время не поддерживают эти функции. |
| Code length | Выберите длину кода подтверждения (6 или 8). Этот параметр доступен, если для типа метода MFA установлено значение "TOTP". |
| API hostname | Введите имя хоста API, предоставленное службой аутентификации Duo. Этот параметр доступен, если для типа метода MFA установлено значение "Duo Universal Prompt". |
| Client ID | Введите идентификатор клиента, предоставленный службой аутентификации Duo. Этот параметр доступен, если для типа метода MFA установлено значение "Duo Universal Prompt". |
| Client secret | Введите секрет клиента, предоставленный службой аутентификации Duo. Этот параметр доступен, если для типа метода MFA установлено значение "Duo Universal Prompt". |
Примеры конфигурации
В этом разделе приведены примеры настройки MFA с использованием Time-Based One-Time Password (TOTP) и Duo Universal Prompt.
TOTP
Для TOTP пользователи должны подтвердить свою личность с помощью приложения-аутентификатора (например, приложения Google Authenticator).
1. Перейдите в настройки MFA в Zabbix в разделе Users → Authentication и включите многофакторную аутентификацию.
2. Добавьте новый MFA метод со следующей конфигурацией:
- Type: TOTP
- Name: Zabbix TOTP
- Hash function: SHA-1
- Code length: 6
3. Нажмите кнопку Add, а затем кнопку Update.
4. Перейдите в Users → User groups и создайте новую группу пользователей со следующей конфигурацией:
- Group name: TOTP group
- Users: Admin
- Multi-factor authentication: Default (или "Zabbix TOTP", если это не задано как значение по умолчанию)
5. Выйдите из Zabbix и снова войдите, используя свои учетные данные. После успешного входа вам будет предложено зарегистрироваться в MFA, при этом будет отображаться QR-код и секретный ключ.

6. Отсканируйте QR-код или введите секретный ключ в приложение Google Authenticator. Приложение сгенерирует код подтверждения, который нужно ввести для завершения процесса входа.
7. При последующих входах получите код подтверждения в приложении Google Authenticator и введите его при входе.
Duo Universal Prompt
Для Duo Universal Prompt пользователи должны подтверждать свою личность с помощью приложения-аутентификатора Duo Mobile.
Метод MFA Duo Universal Prompt требует установки расширения php-curl, доступа к Zabbix по HTTPS и разрешения на исходящие подключения к серверам Duo. Кроме того, если вы включили Content Security Policy (CSP) на веб-сервере, обязательно добавьте "duo.com" в директиву CSP в файле конфигурации вашего виртуального хоста.
1. Зарегистрируйте бесплатную учетную запись администратора Duo на Duo Signup.
2. Откройте панель Duo Admin Panel, перейдите в Applications → Protect an Application, найдите приложение Web SDK и нажмите Protect.
3. Запишите учетные данные (Client ID, Client secret, API hostname), необходимые для настройки метода MFA в Zabbix.
4. Перейдите в настройки MFA в Zabbix в разделе Users → Authentication и включите многофакторную аутентификацию.
5. Добавьте новый MFA метод со следующей конфигурацией:
- Type: Duo Universal Prompt
- Name: Zabbix Duo
- API hostname: (use API hostname from Duo)
- Client ID: (use Client ID from Duo)
- Client secret: (use Client secret from Duo)
6. Нажмите кнопку Add, а затем кнопку Update.
7. Перейдите в Users → User groups и создайте новую группу пользователей со следующей конфигурацией:
- Group name: Duo group
- Users: Admin
- Multi-factor authentication: Default (or "Zabbix Duo" if it is not set as default)
8. Выйдите из Zabbix и войдите снова, используя свои учетные данные. После успешного входа вам будет предложено зарегистрироваться в MFA, после чего вы будете перенаправлены в Duo. Завершите настройку Duo и подтвердите пользователя с помощью приложения Duo на телефоне, чтобы войти в систему.
9. Для последующих входов используйте соответствующий метод MFA, предоставляемый приложением Duo (например, получение кода подтверждения, ответ на push-уведомления или использование аппаратных ключей), и вводите требуемую информацию во время входа.