Содержание статьи:
Разберем как интегрировать Zabbix с Active Directory. Рассмотрим два варианта аутентификации, обычная и прозрачная (SSO).
Исходные данные:
- Развернутая система Zabbix 4.0 (по этой статье)
- Домен контроллер Windows Server 2012 R2 (JAKONDA.LOCAL)
Для интеграции Zabbix с Active Directory, необходимо создать пользователя который будет выступать администратором Zabbix и с помощью которого будет осуществляться чтение LDAP, для авторизации пользователей системы Zabbix.
Создание пользователя в Active Directory
Создаем пользователя (прим. zabbix), снимаем галочку «Требовать смены пароля при следующем входе в систему», выставляем галочки «Запретить смену пароля пользователем», «Срок действия пароля не ограничен». После создания пользователя, в свойствах его, указываем адрес электронной почты.
Интеграция Zabbix с Active Directory
В ZABBIX необходимо создать пользователя с аналогичными данными от ранее созданного пользователя в Active Directory (zabbix). Переходим Администрирование — Пользователи, нажимаем Создать пользователя:
Псевдоним и Имя указываем (zabbix). Добавляем пользователя в группу Zabbix administrators:
Переходим во вкладку Права доступа. В поле Тип пользователя указываем Zabbix Супер Администратор. Нажимаем Добавить.
Выполним конфигурацию связи ZABBIX с Active Directory. Переходим в Администрирование — Аутентификация, нажимаем на вкладку Настройки LDAP.
Заполняем поля по аналогии, как на скриншоте:
Для проверки правильности введенных данных в настройки LDAP, выполним тестовое подключение под пользователем zabbix, вводим Логин (zabbix) и пароль, нажимаем Тест. В случае правильности система выдаст сообщение об успешном подключении:
Перейдем на вкладку Аутентификация и укажем параметр аутентификации по-умолчанию (LDAP) и нажимаем Обновить
На этом настройка аутентификации в Zabbix через Active Directory завершена.
Для того чтобы пользователи могли для авторизации могли использовать свои учетные данные Active Directory, их необходимо сперва создать в Zabbix, используя логин как в Active Directory.
Прозрачная аутентификация SSO (Single Sign On)
Реализацию прозрачной/сквозной (SSO) аутентификации в ZABBIX, будем осуществлять посредством авторизации Apache в Active Directory.
Выполняем настройку авторизации SSO на Apache в Active Directory по этой статье. При создании KEYTAB-файла, используем созданную ранее учетную запись администратора (zabbix).
Для настройка сайта ZABBIX, на использование Kerberos аутентификации, отредактируем файл:
nano /etc/apache2/conf-available/zabbix.conf
Добавим после блока:
<IfModule mod_alias.c> Alias /zabbix /usr/share/zabbix </IfModule>
Следующий блок с параметрами Kerberos авторизации:
<Location /zabbix> AuthType Kerberos AuthName "Kerberos Authenticated" KrbAuthRealms JAKONDA.LOCAL KrbServiceName HTTP/zabbix.JAKONDA.local Krb5Keytab /etc/zabbix.keytab KrbMethodNegotiate On KrbLocalUserMapping On Require valid-user </Location>
Перезапускаем веб-сервер apache:
service apache2 restart
Теперь в настройках ZABBIX, необходимо указать что нужно использовать HTTP аутентификацию. Переходим в Администрирование — Аутентификация, вкладка Настройки HTTP.
Выставляем параметры, как на скриншоте ниже, нажимаем «Обновить«:
На этом SSO (Single Sign On) настройка завершена. Теперь при входе в ZABBIX, идентификационные данные будут браться на основе текущего авторизованного пользователя в системе.
Восстановление режима внутренней аутентификации на Zabbix-сервере
В случае если Active Directory не доступен, то авторизоваться в ZABBIX не получится. Для того чтобы восстановить доступ В ZABBIX, необходимо переключить режим аутентификации с LDAP на Внутреннюю.
Сделать это можно, изменив параметр в базе данных. Входим в MySQL и выполняем команду:
mysql -u root -p UPDATE `zabbix`.`config` SET `authentication_type` = '0' WHERE `config`.`configid` =1;
Теперь можно авторизоваться с помощью учетной записи которая была создана при установке Zabbix. По-умолчанию Логин/пароль — Admin/zabbix
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
А еще путь может быть
CN=zabbix,CN=Users,DC=домен,DC=local
Он может и должен быть, такой как он есть в текущей AD среде.
можете прокомментировать для чего это вообще нужно?
Что именно ?
связывать забикс с адешкой через LDAP
просто в чём плюсы, для чего это делается интересно
вот подробности сами интересны)
Плюс в том что используется одна учетная запись AD. И при вхоле на Zabbix не нужно вводить логин и пароль, происходит сквозная авторизация.
Самая деганская доменная авторизация
Для того чтобы пользователи могли для авторизации могли использовать свои учетные данные Active Directory, их необходимо сперва создать в Zabbix, с аналогичными данными (Логин\Пароль) как в Active Directory.
Да точно, исправил в заметке. Необходимо создать пользователя с аналогичными логон-именем как в AD. Спасибо за замечание.