Интеграция Zabbix с Active Directory. Настройка прозрачной аутентификации SSO (Single Sign On).
Разберем как интегрировать 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.
Заполняем поля по аналогии, как на скриншоте:
[stextbox id=’warning’]Узнать как правильно написать «Имя для подключения (Bind DN), можно выполнив команду в командной строке на домен контроллере: dsquery user -name zabbix[/stextbox]
Для проверки правильности введенных данных в настройки 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, идентификационные данные будут браться на основе текущего авторизованного пользователя в системе.
[stextbox id=’warning’]Хочу обратить внимание, что для корректной работы SSO, необходимо добавить в доверенные узлы местной интрасети, сайт ZABBIX (прим. http://zabbix).[/stextbox]
Восстановление режима внутренней аутентификации на 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
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Самая деганская доменная авторизация
Для того чтобы пользователи могли для авторизации могли использовать свои учетные данные Active Directory, их необходимо сперва создать в Zabbix, с аналогичными данными (Логин\Пароль) как в Active Directory.
Да точно, исправил в заметке. Необходимо создать пользователя с аналогичными логон-именем как в AD. Спасибо за замечание.
можете прокомментировать для чего это вообще нужно?
Что именно ?
связывать забикс с адешкой через LDAP
просто в чём плюсы, для чего это делается интересно
вот подробности сами интересны)
Плюс в том что используется одна учетная запись AD. И при вхоле на Zabbix не нужно вводить логин и пароль, происходит сквозная авторизация.
А еще путь может быть
CN=zabbix,CN=Users,DC=домен,DC=local
Он может и должен быть, такой как он есть в текущей AD среде.