Как работает 2FA в Zabbix
При обычной аутентификации для входа в Zabbix пользователю достаточно знать логин и пароль.
После включения MFA процесс выглядит так:
Логин + пароль
↓
Проверка учётной записи
↓
Одноразовый TOTP-код
↓
Вход в Zabbix
Даже если пароль пользователя станет известен постороннему, для входа потребуется второй фактор.
Для использования встроенной MFA в Zabbix 7.0 не требуется устанавливать дополнительные плагины.
Какие методы MFA поддерживает Zabbix 7.0
В Zabbix 7.0 можно настроить несколько методов многофакторной аутентификации и применять их к различным группам пользователей.
Основные варианты:
- TOTP (Time-based One-Time Password);
- Duo Universal Prompt.
В этой статье будем использовать TOTP — наиболее простой вариант, не требующий отдельного внешнего сервиса MFA.
Что такое TOTP
TOTP (Time-based One-Time Password) — одноразовый пароль, генерируемый на основе общего секретного ключа и текущего времени.
Пользователь устанавливает на смартфон приложение-аутентификатор, привязывает его к своей учётной записи Zabbix и при входе получает временный цифровой код.
Обычно TOTP-коды меняются через небольшой фиксированный интервал времени.
Для работы можно использовать совместимые приложения-аутентификаторы, например:
- Google Authenticator;
- Microsoft Authenticator;
- другие приложения с поддержкой TOTP.
Что такое Duo Universal Prompt
Duo Universal Prompt — ещё один поддерживаемый Zabbix вариант многофакторной аутентификации.
Он предназначен для интеграции с платформой Duo и может использовать дополнительные механизмы подтверждения входа и централизованные политики доступа.
Такой вариант больше подходит организациям, которые уже используют Duo или хотят централизованно управлять MFA.
Для обычной установки Zabbix проще начать со встроенного TOTP, который мы и настроим далее.
Включаем MFA в Zabbix 7.0
Открываем веб-интерфейс Zabbix и переходим:
Users → Authentication → MFA settings
Включаем многофакторную аутентификацию и нажимаем Add, чтобы создать новый метод MFA.
Zabbix позволяет создать несколько методов MFA, а затем назначать их различным группам пользователей.
Создаём метод TOTP
При создании метода задаём понятное название.
Например:
Zabbix-2FA
Это название в дальнейшем поможет пользователю идентифицировать учётную запись в приложении-аутентификаторе.
Выбираем Hash function
Далее необходимо выбрать хэш-функцию, используемую TOTP.
В нашем примере выбираем:
SHA-512
Выбираем длину TOTP-кода
Zabbix позволяет выбрать длину одноразового кода:
- 6 цифр;
- 8 цифр.
В нашем примере используем:
8 digits
После настройки нажимаем Add.
После создания метода проверяем настройки и сохраняем общую конфигурацию MFA кнопкой Update.
Применяем 2FA к группе пользователей
Следующий шаг — определить пользователей, для которых будет обязательна многофакторная аутентификация.
В Zabbix это удобно делать через группы.
Переходим:
Users → User groups
Можно изменить существующую группу или создать отдельную через Create user group.
В нашем примере создаём отдельную группу пользователей с MFA.
В настройках группы находим Multi-factor authentication и выбираем созданный ранее метод:
Zabbix-2FA
Добавляем пользователя в группу с 2FA
Теперь добавим пользователя в созданную группу.
Переходим:
Users → Users
Можно изменить существующую учётную запись или создать тестового пользователя через Create user.
Назначаем пользователю группу, для которой ранее включили MFA.
Какие права дать тестовому пользователю
Для проверки самой двухфакторной аутентификации выдавать пользователю права Super admin не требуется.
Назначьте минимальную роль и права, которых достаточно для выполнения теста.
После создания проверяем, что пользователь включён и состоит в нужной группе.
Проверяем работу 2FA
Теперь открываем отдельное окно браузера или режим инкогнито и пытаемся войти под созданным пользователем.
После успешной проверки имени пользователя и пароля Zabbix предложит выполнить первоначальную регистрацию второго фактора.
На экране появится QR-код.
Устанавливаем приложение-аутентификатор
Для работы с TOTP понадобится приложение-аутентификатор на смартфоне.
Например, можно использовать Google Authenticator:
Также можно использовать другое приложение, поддерживающее выбранные параметры TOTP.
Добавляем Zabbix в приложение
Открываем приложение-аутентификатор и добавляем новую учётную запись.
В Google Authenticator для этого нажимаем кнопку добавления новой записи.
Выбираем:
Scan a QR code
и сканируем QR-код, отображаемый Zabbix.
После сканирования в приложении появится новая запись для Zabbix.
В нашем примере приложение будет генерировать восьмизначный одноразовый код в соответствии с параметрами созданного метода MFA.
Подтверждаем привязку TOTP
Берём текущий код из приложения и вводим его в форму Zabbix.
Если код правильный, регистрация второго фактора завершается и пользователь входит в систему.
При последующих входах повторно сканировать QR-код уже не требуется.
Пользователь вводит:
- логин и пароль;
- текущий TOTP-код из приложения.
Что делать, если Zabbix не принимает правильный TOTP-код
Если приложение показывает код, но Zabbix его не принимает, сначала проверьте время.
На сервере Linux можно выполнить:
timedatectl
Обратите внимание на строки:
System clock synchronized:
NTP service:
Также проверьте автоматическую синхронизацию даты и времени на смартфоне.
Если со временем всё нормально, дополнительно проверьте:
- правильную учётную запись в приложении;
- выбранный алгоритм TOTP;
- длину кода;
- не был ли ранее сброшен TOTP secret пользователя.
Как сбросить TOTP secret пользователя
Если пользователь потерял смартфон, удалил запись из приложения или переходит на новое устройство, администратор может сбросить его TOTP secret.
Переходим:
Users → Users
Открываем нужную учётную запись и используем функцию:
Reset TOTP secret
После сброса ранее зарегистрированный TOTP secret перестаёт использоваться. При следующей регистрации второго фактора пользователю потребуется заново привязать приложение-аутентификатор.
Как лучше внедрять 2FA в рабочем Zabbix
Если Zabbix уже используется большим количеством сотрудников, не стоит включать MFA сразу для всех пользователей без предварительной проверки.
Практический порядок внедрения:
- создать отдельный метод MFA;
- создать тестовую группу;
- добавить одного тестового пользователя;
- проверить первоначальную регистрацию TOTP;
- проверить повторный вход;
- проверить процедуру сброса TOTP secret;
- подготовить инструкцию для пользователей;
- после этого постепенно подключать рабочие группы.
FAQ
Нужны ли дополнительные плагины для 2FA в Zabbix 7.0?
Нет. Поддержка многофакторной аутентификации встроена в Zabbix 7.0.
Какой способ 2FA проще всего использовать в Zabbix?
Для большинства небольших и средних установок удобно начать с TOTP. Он работает с распространёнными приложениями-аутентификаторами и не требует отдельного внешнего MFA-сервиса.
Можно ли включить 2FA только для администраторов?
Да. Метод MFA можно назначить соответствующей группе пользователей и включить его, например, только для административных учётных записей.
Почему правильный код из Authenticator не подходит?
Одна из частых причин — рассинхронизация времени. Проверьте синхронизацию часов на сервере и смартфоне, а также параметры используемого метода TOTP.
Что делать при потере телефона с Authenticator?
Администратор Zabbix может выполнить Reset TOTP secret для пользователя. После этого потребуется заново зарегистрировать второй фактор.
Нужно ли сканировать QR-код при каждом входе?
Нет. QR-код используется при первоначальной регистрации TOTP. При последующих входах пользователь вводит текущий одноразовый код из уже настроенного приложения.
Можно ли использовать Microsoft Authenticator вместо Google Authenticator?
Можно использовать совместимое TOTP-приложение при условии, что оно поддерживает параметры TOTP, настроенные в Zabbix. Перед массовым внедрением лучше проверить выбранное корпоративное приложение на тестовой учётной записи.
Заключение
Встроенная многофакторная аутентификация Zabbix 7.0 позволяет значительно усилить защиту учётных записей без установки дополнительных плагинов. Для большинства инфраструктур наиболее простым вариантом будет TOTP с приложением-аутентификатором.
Настройка состоит из нескольких этапов: создаём метод MFA, назначаем его группе пользователей, выполняем первоначальную регистрацию через QR-код и проверяем вход с одноразовым паролем.
При внедрении важно учитывать не только техническую настройку. Следует заранее продумать процедуру сброса TOTP secret, проверку личности пользователя при потере устройства и резервный административный доступ.
Для административных учётных записей Zabbix использование второго фактора особенно желательно, поскольку они имеют расширенный доступ к настройкам мониторинга и информации об инфраструктуре.
Также рекомендую статью Как создавать отчёты в Zabbix 7.0.