Ubuntu

Zabbix SSO SSO SSO SSO в Active Directory

Zabbix SSO SSO SSO SSO в Active Directory

У цій статті ми розглянемо крок -крокетку прозору (SSO -єдиний знак) аутентифікація Zabbix 4.0 (і вище) в Active Directory через протокол Кербероса.

Кінцевий результат: Переходячи до URL -адреси Zabbix, користувач автоматично автентифікується без введення облікових даних. Для цього користувача потрібно обрізати в Windows під обліковим записом домену, який пов'язаний з Vybbix. Також користувач повинен бути налаштований браузером (Cerberos підтримка та довірені довірені сайти для непереборності IE включені).

Зміст:

Стояти:

Примітка. Для впровадження SSO в цій статті буде використано Apache2 З модулем Libapache2-mod-auth-cherb. Nginx не буде розглядатися в цій статті, але для неї є модуль Spnego-http-auth-nginx-module, яка повинна бути включена окремо під час компіляції Nginx.

Встановлення аутентифікації LDAP Zabbix в Active Directory

Зв'язування доменного користувача до Zabbix

Спочатку вам потрібно прив’язати користувачів домену до Zabbix. Для цього достатньо створити користувача з тим самим користувачем. Наприклад, якщо ваш вхід (атрибут - це SamaccountName) user_5, тоді користувач у Zabbix повинен мати однакове ім'я введення.

Зробіть це з кожним користувачем, який використовуватиме Zabbix.

Створення обліку Active Directory для спілкування Zabbix з доменом

Тепер вам потрібно створити окремого користувача в Active Directory, завдяки якому Zabbix буде прихильний до домену. На практиці ви можете використовувати будь -який обліковий запис домену, але створити спеціальний обліковий запис послуг назавжди. У моєму випадку це буде zabbix_admin. Щоб створити користувача в AD, я буду використовувати команду PowerShell New Duser:

New -aduser -name "zabbix_admin" -givenname "zabbix_admin" -surname "zabbix_admin" -samaccountname "zabbix_admin" -accountpassword (read host -assecurestring "пароль $") -displayname "zabbix_admin" -enabled $

Заповніть команду в консолі PowerShell та встановіть пароль користувача. Ваш новий користувач буде в контейнері користувачів у корені домену.

Налаштування автентифікації LDAP у веб -інтерфейсі Zabbix

Тепер ми перенастефігуємо Zabbix до автентифікації LDAP. У веб -інтерфейсі перейдіть до Адміністрація -> Аутентифікація, вкладка Налаштування LDAP. Увімкніть параметр Authentication LDAP та заповніть наступні поля.

HOST LDAP: LDAP: // DC1.Домен.Місцевий порт: 389 База DN: DC = домен, DC = локальний атрибут пошуку: SamaccountName Bind DN: CN = ZABBIX_ADMIN, OU = Користувачі, DC = домен, DC = локальний

Ви можете побачити опис кожного параметра в документації Zabbix https: // www.Zabbix.Com/documentation/current/raual/web_interface/frontendend_section/адміністрування/аутентифікація в розділі Аутентифікація LDAP.

Перш ніж завершити налаштування, обов’язково перевірте обґрунтованість ваших налаштувань, завершивши тестовий вхід (кнопка Тест). Вкажіть користувача (ми запустили його в Zabbix раніше) та його пароль від AD.

Якщо тест є успішним, тоді збережіть налаштування та переключіть тип авторизації в Zabbix з Інтернету на Ldap.

Включіть аутентифікацію HTTP (налаштування HTTP -> Увімкнути HTTP -аутентифікацію).

Налаштування аутентифікації LDAP завершено на цьому.

Порада. У разі недоступності сервера LDAP ви не зможете дістатися до Zabbix. Щоб перейти на внутрішню автентифікацію, перейдіть до MySQL та виконайте команду:

Оновити Zabbix.Набір конфігурації authentication_type = "0" були configid = "1";

Один знак налаштування (Apache2, KRB5-користувач)

По -перше, у файлі /etc /hostName вкажіть ім'я FQDN сервера, яке повинно збігатися з записом DNS у вашому домені, у моєму випадку це Zabbix.Домен.Місцевий.

У файлі /etc /hosts також напишіть fqdn свого сервера на локальному IP та на IP вашого сервера:

127.0.0.1 localhost Zabbix.Домен.Місцеві 10.10.1.50 Zabbix.Домен.Місцевий

Для правильної роботи аутентифікації Kerberos необхідно синхронізувати час з контролером вашого домену. Покладіть пакет NTPDATE та надішліть його до контролера домену

Apt-get встановити ntp ntpdate
NTPDATE DC.Домен.Місцевий

У Centos 8 хронія використовується для синхронізації часу. NTP і NTPDATE відсутній у офіційному сховища.

Тепер нам потрібно генерувати файл Keytab. Кейтаб - Це файл, який містить SPN та зашифровані ключі. Keytab використовується для аутентифікації в різних системах, використовуючи Kerberos, не вводячи пароля.

Ви можете генерувати файл Keytab на контролері домену:

  1. Увійдіть до контролера домену та запустіть командний рядок з правами адміністратора. Перейдіть до каталогу C: \
  2. Введіть:
    KTPASS -PRINC HTTP/ZABBIX.Домен.Місцевий@doomain.Локальний -mapuser zabbix_admin -pass strongpass -crypto all -ptype krb5_nt_principal -ut zabbix.Keytab -Setupn -SetPass
  3. Копіювати c: \ Zabbix -файл.Keytab для вашого сервера Zabbix у каталозі/etc/apache2/.

Ми встановлюємо необхідні пакети для Kerberos та модуля Apache2:

APT Встановіть KRB5-user libapache2-mod-auth-cherb

Налаштуйте KRB5-користувач. Праворуч файл конфігурації /etc/krb5.CNF:

[Реєстрація] за замовчуванням = файл:/var/log/krb5libs.Журнал KDC = Файл:/var/log/krb5kdc.Журнал admin_server = файл:/var/log/kadmind.log [libdefaults] default_realm = домен.Local default_keytab_name =/etc/apache2/zabbbix.keytab dns_lookup_kdc = false dns_lookup_realm = false farthable = true ticket_lifetime = 24h [царства] домен.Local = kdc = dc.Домен.Local default_domain = домен.Local Admin_Server = DC.Домен.Локальний [domain_realm] .Домен.Локальний = домен.Місцевий домен.Локальний = домен.Місцевий 

Замініть свій домен, в деяких місцях домен написаний у формі заголовка - дотримуйтесь цього правила.

Примітка. Зверніть увагу на рядок за допомогою файлу keitab "default_keytab_name =/etc/apache2/zabbix.Keytab ", переконайтеся, що файл доступний на цьому шляху. Обов’язково надайте цьому файлу право читати для www-data, виконайте Chown www-data: www-data/etc/apache2/zabbbix.Кейтаб

Перевірте роботу автентифікації Kerberos у Linux:

Kinit -kv -p http/zabbix.Домен.Локальний -T/etc/apache2/Zabbix.Кейтаб

Ви можете зіткнутися з помилкою

Kinit: клієнт 'http/zabbix.Домен.Місцевий@doomain.Локальний 'не знайдено в базі даних Kerberos, отримуючи початкові облікові дані

У цьому випадку, перш за все, спробуйте увійти з іншого користувача, наприклад, ваш обліковий запис^

Kinit -pv login

Якщо автентифікація є успішною, то справа знаходиться у файлі справи. Переконайтесь, що ви правильно його створили. Перевірте правильність команди для створення файлу Keytab.

Перевірте наявність записів SPN для запису служби Zabbix в AD. У командному рядку контролера домену введіть:

Setspn -l zabbix_admin

Ви повинні побачити таке повідомлення, запис повинен бути у форматі HTTP/Zabbix.Домен.Локально, якщо немає записів, вам потрібно додати його.

setspn -a http/zabbix.Домен.Місцевий Zabbix_admin

Вам також потрібно перевірити, чи змінив користувач ім’я введення на http/Zabbix.Домен.Місцевий.

Якщо це не змінилося, то змініть його вручну.

Тепер вам потрібно змінити файл конфігурації apache2-/etc/apache2/sites -ailable/000.Конфігурація.

Під лінією сервера Zabbix.Домен.Місцеве додавання

 AuthType Kerberos Authname "Kerberos authersiced" Krbauthrealms домен.Локальний #krbserviceename http/zabbix.Домен.Місцеве krbserviceEname будь -який krb5keytab/etc/apache2/zabbbix.Keytab krbmethodnegotiate на krbsavecredentials на krblocalusermapping на потребі дійсного користувача  

Часто виявляється помилка, яка пов'язана з невідповідністю krbserviceEname з тим, що зареєстровано у файлі Keytab, щоб ви могли поставити будь -яке значення під час тестування. Після того, як все працює, введіть дійсну назву послуги. Ви можете перевірити команду Klist -le/etc/apache2/zabbix.Кейтаб .

Налаштування браузера для аутентифікації Kerberos

Для того, щоб браузер Internet Explorer використовував аутентифікацію Kerberos на сайті, вам потрібно додати цю URL -адресу до місцевих інтранетських сайтів. Google Chrome успадковує ці налаштування Internet Explorer, тому вам не потрібно його налаштувати окремо.

Примітка. URL -адреса вашого сайту Zabbix повинна відсутня у списку надійних сайтів, інакше Керберос не буде працювати. Сайт повинен бути виписаний лише на вкладці Інтранет.

Перейдіть до IE до Інтернет -параметрів -> безпека.

У Local Intranet натисніть сайти, поставте прапорці як на скріншоті та натисніть Advanced.

Напишіть URL -адресу вашого сервера Zabbix.

Перейдіть на вкладку Просунутий І увімкніть параметр Увімкнути інтегровану автентифікацію Windows.

Якщо ви не були позначені цим елементом, перезавантажте комп'ютер. За замовчуванням він увімкнено.

Ви також можете налаштувати це через групові політики

У браузері Mozilla firefox в Про: конфігурація Змінити адресу URL -адресу Zabbix Server у таких параметрах:

Мережа.Автоматичний-NTLM-Auth.Мережа довірених урівень.Переговори.Мережа делегації.Переговори.Довірені уріси

Якщо у вас є проблеми, зверніться до більш детальної статті про налаштування Kerberos у браузерах HTTPS: // WinitPro.ru/index.PHP/2018/01/22/Nastrojka-kerberos-autentifikacii-v-razlichnyx-brauzurax/

Після завершення цих етапів налаштування можна вважати завершеним. Під час звернення до URL -адреси Zabbix ви повинні автоматично бути автентифікованою без введення пароля ..

Налагодження та усунення проблем з автентифікацією Kerberos Apache

У разі проблем увімкніть режим налагодження в Apache2:

У файлі/etc/apache2/сайти доступні/000.Conf перед закриттям тегу, введіть:

LogLevel Trace8

Корисність Кістка Ви можете побачити кеш -кліщі kerberos:

Klist -a

Як підключити AirPods до Windows 10 та до Android
Ми говоримо про те, як підключити AirPods до комп’ютера з Windows. AirPods - явище останніх кількох років. Навушники, які повинні були стати аксесуаро...
Як відкрити кілька папок у вікнах одночасно
Працюючи на комп’ютері, часто виникає потреба тримати кілька папок відразу відкритими, і ви повинні їх відкривати щодня. У Windows, включаючи останні ...
Як підключити дві субтитри у VLC одразу
VLC є одним з найпопулярніших мультимедійних гравців - такі хороші показники та функціональність зробили це. Гравець VLC дійсно має багато додаткових ...