Zabbix single sign-on sso

Блог о системном администрировании. статьи о linux, windows, схд netapp и виртуализации.

nodejs: SSO-авторизация через Kerberos +12

  • 16.02.17 09:16


sjoekle

#321962

Хабрахабр


Из песочницы

4200

Node.JS, Криптография, Разработка веб-сайтов
Рекомендация: подборка платных и бесплатных курсов веб разработки — https://katalog-kursov.ru/

Всё гениальное просто. Но до этой простоты нужно перечитать тысячи мануалов. Поэтому, разобравшись, мне захотелось написать quick start по тому, как сделать прозрачную авторизацию в Web-приложении для пользователя, авторизованного в AD, и поделиться своим тестовым проектом. Интересен взгляд со стороны.
Для начала немного теории. SSO, она же прозрачная авторизация, это идея, по которой пользователь раз вводит логин/пароль своей учётной записи в Active Directory при входе на компьютер, и дальше, открывая Web-приложение (не только, но речь о нём) уже автоматически авторизуется с данными своей учётки.
В браузерах для этого заложен принцип — получая в ответ на свой Get-запрос HTTP-код 401 «Not Authorized», и в HTTP-заголовках <WWW-Authenticate: Negotiate>, он, браузер, делает запрос в KDC (Key Distribution Center — одна из служб AD) на получение специального SPNEGO-токена для данного Web-сервиса. Если учётки для такого Web-сервиса нет в AD, то браузер берёт стандартный ответ для авторизации по NTLM. Но в данном случае мы считаем, что что-то пошло не так.
Итак, браузер, в случае корректных настроек данного Web-сервиса в AD, на ответ 401 вновь отправляет Get-запрос, но уже с заголовком вида <Authorization: YIIJvwYGKw… > Если токен начинается так, с «YII», значит это Kerberos-закодированный тикет, содержащий данные для авторизации.
Kerberos — это просто тип шифрования, но поскольку он в основном используется для SSO, эти понятия тесно связаны.
Далее Web-сервис, получив токен, с помощью kerberos-клиента отправляет его в KDC на проверку. И, в случае успеха, получает имя пользователя в AD. Которое дальше уже можно использовать для поиска данных о пользователе (например, групп, в которых он состоит) уже через другой сервис доступа к AD — LDAP.
Наиболее наглядно описывает этот процесс схема из официальной документации Microsoft. И, надо сказать, на удивление именно их документация дала наибольшее понимание предмета.Отсюда
Таким образом, помимо создания Web-приложения, нужны следующие действия:Что требуется сделать на стороне администраторов AD
— задать в AD SPN-имя для Web-сервиса (вида HTTP/[email protected]). Это позволит клиентским браузерам запрашивать токен для данного сервиса и передавать его в HTTP-заголовке Web-сервису, а Kerberos-клиенту через данный сервис на основе ключа проверять подлинность пользователей,
— сформировать для этого сервиса ключ krb5.keytab, который будет использоваться в Kerberos-клиенте для проверки подлинности пользователей.Дополнительные действия на сервере Web-сервиса
— потребуется установить Kerberos-клиент (в Windows он уже есть, в случае Linux — например, для RedHat команда для установки: yum install krb5-workstation krb5-libs krb5-auth-dialog krb5-devel);
— для него нужно будет настроить файл конфигурации krb5.conf для доступа к KDC (как — администраторы AD назовут правильные настройки, главный параметр — kdc);
— а также подложить файл ключа /etc/krb5.keytab.В Web-приложении
— устанавливается модуль kerberos, для работы с kerberos-клиентом,
— и модуль activedirectory, для выполнения LDAP-запросов.
Один неприятный момент — для Windows модуль kerberos предоставляет отдельный API, и использовать его не вышло. Если у кого-то есть решение — это была бы неоценимая помощь.
Для Linux модуль kerberos предоставляет два основных метода, которые нужны в работе:
— authGSSServerStep — отправка токена на проверку,
— authUserKrb5Password — авторизация по логин/пароль, на случай если прозрачная авторизация не сработала.
Документации по использованию методов нет, но есть толковые комментарии в файле lib\kerberos.js.
Вот основной кусок кода, проверяющий пришедший от браузера токен:

тестовый проект на GitHub

Настройка времени

Каждый тикет (билет) Kerberos сопровождается меткой времени, и если время между клиентом и сервером расходится более чем на 10 минут процесс обмена тикетами прерывается. Что бы этого не происходило нужно настроить синхронизацию времени между нашим веб-сервером и контроллером домена.
Устанавливаем клиент NTP и планировщик задач, если он еще не установлен.

# yum install ntpdate cronie

Делаем первоначальную синхронизацию времени, добавляем запуск синхронизации времени в планировщик и запускаем его.

# ntpdate mydomain.local
# echo "0 0 * * * root /usr/sbin/ntpdate mydomain.local" >> /etc/crontab
# service crond start

Supported identity providers

You can use the identity provider of your choice, but some capabilities are only available with selected identity providers. Learn which identity providers we support

The steps involved to set up single sign-on will differ depending on the identity provider you use. Refer to the setup instructions for your identity provider.

Identity provider

Setup instructions

Active Directory Federation Services (AD FS)

Auth0

CyberArk (Idaptive)

Google Cloud

SAML single sign-on with Google Cloud for Atlassian (different to Google Workspace setup)

JumpCloud

Microsoft Azure AD

miniOrange

Okta

OneLogin

Log in to OneLogin to see these pages.

PingFederate

Set up automated user provisioning and de-provisioning

Automated user provisioning allows for a direct sync between your identity provider and your Atlassian Cloud products. You no longer need to manually create user accounts when someone joins the company or moves to a new team.

Automated de-provisioning reduces the risk of information breaches by removing access for those that leave your company. We automatically remove people when they leave the company or a group. This gives you control over your bill. Here are your options for user provisioning:

  • Provisioning with SCIM — With a subscription to Atlassian Access, you can sync Atlassian cloud tools directly with your identity provider to enable automated provisioning and de-provisioning of your users and groups. Learn about user provisioning

  • Provisioning with Google Workspace — You can sync Atlassian cloud tools with Google Workspace for provisioning. However, any group categorization will not be reflected on your site. Learn how to connect to Google Workspace

Настройки клиента

Код остается почти таким же, как в предыдущей статье, только поменяются некоторые настройки регистрации:

  • Теперь authorization-uri страницы авторизации и token-uri получения токенов указывают не на Spring Authorization Server, а на сервер Keyloak.
  • Также client-secret берем тот, который сгенерировался (или мы сами создали) на Keyloak.
  • Убрали вариант Client Credentials Grant Flow.
  • Поскольку у нас SSO, добавили адрес конечной точки userinfo (информация о пользователе) — это user-info-uri. И user-name-attribute — это какой атрибут пользователя использовать в качестве имени аутентифицированного пользователя OAuth2User.
spring:
  thymeleaf:
    cache: false
  security:
    oauth2:
      client:
        registration:
          keyloak:
            client-id: messaging-client
            client-secret: 4953cb21-7dce-43cf-831d-004495a05509
            authorization-grant-type: authorization_code
            redirect-uri: "{baseUrl}/login/oauth2/code/keyloak"
            scope: message.read,message.write
        provider:
          keyloak:
            authorization-uri: http://keyloak-server:9000/auth/realms/demo/protocol/openid-connect/auth
            token-uri: http://keyloak-server:9000/auth/realms/demo/protocol/openid-connect/token
            user-info-uri: http://keyloak-server:9000/auth/realms/demo/protocol/openid-connect/userinfo
            user-name-attribute: preferred_username
  mvc:
    log-request-details: true
#url сервера ресурсов
messages:
  base-uri: http://localhost:8090/messages

Отладка и устранение проблем c Kerberos аутентификацией в Apache

При возникновении проблем, включите режим отладки в apache2:

В файле /etc/apache2/sites-available/000-defaults.conf перед закрывающим тегом впишите:

Перезагрузите apach, теперь в error.log апача вы сможете видеть какие ошибки выдаёт модуль Kerberos.

Для удобства используйте команду с фильтром по IP

tail -f /var/log/apache2/error.log | grep ‘ваш ип’

Для работы и диагностики с Kerberos можно использовать команды kinit и klist.

kinit – утилита для получения и кеширования Kerberos тикетов. Пример:

Утилитой klist можно посмотреть кэшированные тикеты Kerberos:

Предыдущая статья Следующая статья

Установка принтеров пользователям домена AD с помощью групповых политик

Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль

Критическая уязвимость Active Directory Zerologon (CVE-2020-1472)

Подключение сетевых дисков в Windows через групповую политику

Добрый день! А если несколько доменов в инфраструктуре.- один для серваков, другой для юзеров Можна в аутентификацию Zabbix указывать 2 юзера из 2 доменов?

Рубрики сайта

Последние статьи

  • Ошибка вычисления выражения 1с

      

  • 2 4g device ошибка драйвера

      

  • Visual studio code fortran как работать

      

  • Как сделать диаграмму в excel

      

  • Ipibl l8 прошивка bios

Установка Zabbix агентов на ОС Windows и Linux

Начнем с Linux, так как на этой ОС всё это делается элементарно. В наличии у нас Ubuntu Linux 14.04 LTS и и в репозитории Ubuntu zabbix-agent уже представлен, правда версии 2.2:

Можно обойтись и этой версией агента, но мы хотим использовать последнюю версию Zabbix-агента:

Устанавливаем агента:

После того, как мы установили агента, идем по пути /etc/zabbix/zabbix_agentd.conf (для Ubuntu, путь в зависимости от конкретного дистрибутива может отличаться) и вносим настройки.

После внесения изменений не забываем перезапускать Zabbix агента.

Кстати по параметру Server в конфигурационном файле zabbix агента, приведу такую цитату:

Note that hostnames must resolve hostname→IP address and IP address→hostname.

То есть, когда в DNS будем создать A-запись для Zabbix сервера, то не забываем создать и PTR запись.

Еще момент для параметра Server:

List of comma delimited IP addresses (or hostnames) of Zabbix servers. Incoming connections will be accepted only from the hosts listed here.

То есть наш Zabbix агент может работать одновременно с разными Zabbix серверами. Просто стоит указать их FQDN или IP-адрес через запятую.

Далее идем на наш Zabbix сервер и указываем ему FQDN и IP адрес нашего клиента.

В поле DNS name я пишу неполный FQDN наблюдаемого хоста, так как у меня корректно настроена сеть на Zabbix сервере.

Далее идем на вкладку Templates.

Без применения шаблона или шаблонов на конкретный хост никакие параметры подвергаться мониторингу не будут.

Возвращаемся на вкладку Hosts.

И видим, что индикатор ZBX зеленый – это значит, что Zabbix сервер и агент взаимодействуют между собой и так же появились Items и Triggers, потому что мы применили шаблон для OS Linux, т.е. какой-то набор параметров начал мониториться. Можно нажать на Items и Triggers и увидеть, что именно мы наблюдаем.

Можно в ручном режиме изменять или добавлять. К примеру Items.

Zabbix – это конструктор.

Добавим SSH шаблон и проверим, как он отработает.

Выключаем SSH руками на наблюдаемом сервере и смотрим на нашу dashboard на zabbix сервере.

Настройка сквозной аутентификации по смарт-карте

  • на ПК пользователя запустите утилиту командной строки CMD с правами администратора;
  • в командной строке указать путь к файлу установщика Citrix Receiver 4.0 и дополнительно указать параметры для включения SSO: /includeSSON AM_SMARTCARDPINENTRY=CSP; Пример: C:\Distr\CitrixReceiver.exe /includeSSON AM_SMARTCARDPINENTRY=CSP
  • дождитесь окончания установки ПО Citrix Receiver 4.0 и перезагрузите ПК пользователя;
  • после перезагрузки ПК пользователя проверьте, что в исполняемых процессах (Task Manager/Processes) присутсвует процесс ssonsrv.exe;
  • выполните настройку политик аутентификации для ПО Citrix XenDesktop, которые будут применяться на серверы Citrix и устройства пользователей, как описано в разделе 3.3.

http://support.citrix.com/proddocs/topic/receiver-windows-40/receiver-windows-smart-card-cfg.htmlTo enable single sign-on for smart card authentication, To use CSP PIN prompts

3. Настройка политик аутентификации для ПО Citrix XenDesktop

  • в шаблоны групповых политик службы каталога Active Directory импортируйте шаблон политик Citrix ADM Template (Add Template в оснастке управления групповыми политиками); Шаблон политик можно найти в папке установки клиента ПО Citrix Receiver: C:\Program Files (x86)\Citrix\ICA Client\Configuration\icaclient.adm.
  • создайте политику (или отредактируйте имеющуюся) и включите сквозную аутентификацию по смарт-картам;
  • откройте раздел Computer Configuration -> Policies -> Administrative templates -> Classic -> Citrix Components -> Citrix receiver -> User Authentica-tion;
  • выберите настройку Smart Card Authentication и включите параметры «Allow smart card authentication» и «Use pass-through authentication for PIN». Выберите настройку Local User Name and Password и включите параметры «Enable pass-through authentication» и «Allow pass-through authentication for all ICA connections» (рис. 54, рис. 55).

http://support.citrix.com/proddocs/topic/ica-settings/ica-settings-wrapper.htmlРис. 54 — Настройка групповых политик AD для SSOРис. 55 — Настройка групповых политик службы каталога AD для SSO

4. Настройка ПО Citrix StoreFront 2.1 для включения сквозной аутентификации по смарт-картам

Вниманиеpropagate your configuration changes to the server group

  • выполните первоначальную настройку ПО Citrix StoreFront 2.1, согласно разделу —Настройка Citrix StoreFront;
  • в разделе Add/Remove Authentication Methods добавьте метод аутентификации Domain pass-through (рис. 56);Рис. 56 — Настройка метода аутентификации
  • для включения сквозной аутентификации с использованием смарт-карт необходимо внести дополнительные изменения в конфигурацию. Для этого отредактируйте default.ica для каждого ПО Citrix Store, где требуется сквозная аутентификация по смарт-картам;
  • используя текстовый редактор, откройте файл default.ica, который находится в папке:
    C:\inetpub\wwwroot\Citrix\storename\App_Data\;
  • если в инфраструктуре не используется аутентификация через NetScaler Gateway, то добавьте следующий параметры
    : DisableCtrlAltDel=Off.
    Данная настройка будет применяться для всех пользователей;
  • для включения сквозной аутентификации по смарт-картам с использованием NetScaler Gateway добавьте следующий параметр:
    : UseLocalUserAndPassword=On; Подробная информация доступна на сайте: http://support.citrix.com/proddocs/topic/dws-storefront-21/dws-configure-conf-smartcard.html.
  • выполните настройку пользователя, согласно разделу — Настройка ПК пользователя (см. раздел 2.5). Проверьте, что вход на виртуальную машину пользователя выполняется успешно. Проверьте, что после входа на ПК пользователя (по смарт-карте или по паролю) больше не появляется окно запроса учётных данных или PIN-кода при доступе к StoreFront или/и виртуальной машине пользователя.
  • повышение общего уровня безопасности, что происходит за счёт отказа от простых паролей и перехода к строгой аутентификации с использованием второго фактора;
  • обеспечение защищённого доступа к виртуальным рабочим столам и приложениям;
  • возможность работы со смарт-картами и USB-токенами после аутентификации в защищённой сессии;
  • возможность использования электронной подписи;
  • поддержка RSA- и ГОСТ-алгоритмов;
  • дополнительные преимущества — одна и та же карта, помимо основных функций аутентификации и ЭП, может служить пропуском в помещение (наличие RFID-метки), также может являться зарплатной (платёжное приложение MasterCard или VISA) или транспортной картой;
  • доступны и другие варианты кастомизации — нанесение логотипа и использование
    корпоративного стиля заказчика.

Создаем учетную запись компьютера в AD

Исходные данные

  • У вас есть аккаунт с правами создавать новые учетные записи компьютеров. Пусть он называется [email protected]
  • Учетная запись компьютера в AD отсутствует

Предупреждение. В иных случаях могут потребоваться дополнительные действия, и я не знаю, какие именно.

Выполняем логин в AD с помощью аккаунта [email protected]

kinit -V [email protected]

Если нет ошибок — проверка:

klist

Создаем учетную запись компьютера

msktutil -c -s host -s HTTP -s HTTP/ubuntuadmember /
 --computer-name ubuntuadmember --server dc1.lab.local

Эту команду разберем подробнее:

  • Ключ -c указывает, что нужно создать учетную запись компьютера.
  • Ключи -s указывают, какие значения нужны в атрибуте servicePrincipalName учетной записи компьютера. Если ничего не указать, то не там не будет нужных строчек с префиксом HTTP.
  • Ключ —computername указывает имя учетной записи компьютера. Можно пропустить, тогда имя будет соответствовать системному имени сервера.
  • Ключ —server указывает имя контроллера домена, на котором будет создана учетная запись. Можно пропустить, тогда будет предпринята попытка самостоятельно определить имя.

!!! Внимание !!! Внимание !!! Внимание !!!У утилиты msktutil есть ключ —verbose, который призван сделать вывод результатов работы утилиты на экран более «человекочитаемым». Однако в x64 версии тулзы содержится баг, при котором запуск с ключом —verbose останавливается с ошибкой, а без него отрабатывает корректно! Вроде как в x86 версии бага нет

Не попадитесь на этот дешевый трюк, не теряйте время, как я.

Если все сработало, в AD в контейнере Computers должна появиться учетная запись, в нашем случае, ubuntuadmember.

Выставим нужные права на файл с ключами

chown root.www-data /etc/krb5.keytab
chmod 0640 /etc/krb5.keytab

Установка сервера Zabbix

Перед тем как мы сможем установить zabbix ubuntu 17.04, 16.04 и в других версиях, потребуется кое-что настроить. Нужно установить веб-сервер, MySQL и PHP. Если эти сервисы у вас уже настроены, то просто можете пропустить этот шаг.

Установка Apache, PHP, MySQL

Для установки выполните такие команды:

Дальше необходимо настроить правильный часовой пояс в php.ini. Вам нужна секция Data и строка timezone:\

Добавление репозитория

Скачать установщик репозитория для вашего дистрибутива можно в папкеzabbix/5.2/ubuntu/pool/main/z/zabbix-release/. Там находятся установщики для разных версий Ubuntu:

Например, можно использовать wget для загрузки файла:

Если у вас другая операционная система, посмотрите список файлов на сервере через браузер и выберите нужный установщик. Затем установка zabbix 3.2 на Ubuntu:

После установки пакета репозитория, обновление списка пакетов обязательно:

Установка и настройка Zabbix

Когда репозиторий будет добавлен, можно перейти к настройке самого сервера Zabbix. Для установки программ выполните:

Как я уже говорил, для работы программы понадобится база данных. Сейчас нам предстоит создать ее и выдать все необходимые привилегии пользователю:

Для нормальной работы Zabbix нужна кодировка базы данных UTF-8, если вы создадите базу в кодировке utf8mb4, то получите ошибку: «Specified key was too long; max key length is 767 bytes». Дальше нужно загрузить все таблицы в базу данных, они находятся в папке /usr/share/doc/zabbix-server-mysql/ или /usr/share/zabbix-server-mysql/. Вместо zabbix и zabbixdb нужно указать своего пользователя и имя базы данных:

Чтобы Zabbix смог подключиться к базе данных нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_server.conf и указать там данные аутентификации:

Далее, включаем конфигурационный файл zabbix для apache2:

Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:

Установка и настройка Zabbix Ubuntu почти завершена, осталось настроить веб-интерфейс.

Настройка веб-интерфейса zabbix

Веб-интерфейс программы готов к работе, теперь вы можете его открыть, набрав в адресной строке http://адрес_сервера/zabbix/:

На первой странице нажмите Next. На следующем шаге программа проверит правильно ли настроен интерпретатор PHP:

Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:

На следующем шаге можно изменить ip и порт, на котором будет слушать Zabbix:

Далее можно выбрать тему оформления:

Последний шаг, проверьте все ли верно и не нужно ли чего менять:

Теперь вернитесь в браузер и нажмите Finish:

Перед вами откроется окно ввода логина и пароля. Используйте стандартные значения, логин Admin и пароль zabbix.

Вот и все, теперь установка Zabbix Ubuntu завершена и вы можете переходить к настройке.

Установка Zabbix на Ubuntu 14.04

Сама установка Zabbix 3.0 LTS сервера на Ubuntu Server 14.04 LTS очень тривиальна и не доставляет особых проблем. Многие зададутся вопросом, почему для установки Zabbix 3.0 не взять дистрибутив Ubuntu к примеру 15-16 версии, но на данный момент Zabbix не поддерживает эти версии Ubuntu. И при попытке установки Zabbix сервера на Ubuntu 15-16 получим ошибку.

Особо ленивые могут скачать Zabbix Appliance, развернуть и протестировать, но как можно прочитать “The Appliance is not intented for serious production use at this time”

Мы установим Zabbix из пакетов, даем последовательно ряд команд. Скачаем и установим пакет, который добавит репозиторий для Zabbix сервера:

Обновим кэш менеджера пакетов и убедимся в том, что репозиторий для Zabbix добавился:

Наш Zabbix-сервер будет хранить всю информацию в MySQL и поэтому устанавливаем пакет для Zabbix сервера с поддержкой MySQL:

Сразу установим Zabbix-агента на Zabbix-сервер, чтобы сервер мог мониторить сам себя, а к настройкам агента вернёмся позже:

Теперь нужно создать в MySQL базу данных. Подключимся к MySQL:

Переходим в директорию, где лежит скрипт, который создаст структуру для нашей базы:

Создаем структуру:

Теперь нужно указать Zabbix-серверу какую базу данных использовать:

Запускаем Zabbix-сервер:

Проверяем статус:

Теперь заходим в конфигурацию веб-сервера Apache:

Цитата из документации:

It’s necessary to uncomment the “date.timezone” setting and set the correct timezone for you. After changing the configuration file restart the apache web server.

После правки конфигурационного файла перезапускаем Apache:

Возможно вы увидите, что apachе2 выдает предупреждение.

В таком случае снова заходим в конфигурационный файл Apache и задаем параметр ServerName:

После этого предупреждение должно исчезнуть.

Далее открываем веб-консоль Zabbix.

Будет запущен мастер первоначальной конфигурации. Каждый шаг этого мастера описывать нет смысла, так как мастер очень простой.

Для аутентификации используем UserName: Admin Password: zabbix – регистр важен – это Linux.

Как видите, все элементарно просто. Установка занимает не более 30 минут.

What is Active Directory?

Microsoft Active Directory is the historical, market share leading, on-prem commercial directory service. Many IT organizations rely upon Active Directory as their core identity provider (IdP) for authenticating resource access to Windows-based systems and applications. AD is offered as a complementary facet of Windows Server.

Alongside vanilla AD, there are a host of added services available from Microsoft which, when combined, create the AD domain. The domain traditionally consists of any on-prem, Windows-based systems and applications managed through Active Directory.

As Microsoft’s core identity and access management solution, naturally, AD works well in traditional Windows-centric networks. However, AD struggles when non-Windows or cloud-based resources come into play. A few common examples of resources that Active Directory struggles to connect and manage include Google Workspace, AWS, Salesforce, and Dropbox. Of course, the problem gets worse as IT organizations consider the use of macOS and Linux systems, WiFi and VPN networks, on-prem file servers, and much more.

The Cloud Problem

The rise of the internet brought many innovations to the IT industry, one of which was the emergence of web applications. This event presented a major drawback for AD: web apps, which require identity management for proper access and security, exist outside of the traditional domain. To deal with this problem, Microsoft added another solution to the list of AD add-ons, called Active Directory Federation Services (AD FS), in 2003. 

AD FS uses the SAML 2.0 protocol to connect an AD identity to a web application. By doing so, AD FS widens the boundaries of the domain to include some web apps, making identity management considerably easier for IT organizations.

However, AD FS proved to be costly for admins because it was housed on-prem, making it difficult to implement, and it ultimately required additional work to maintain on top of added licensing costs. Not only that, but AD FS comes with hidden maintenance costs, adds unnecessary complexity to the IT landscape, and comes with security risks if used straight out-of-the-box. Add to that the plethora of other AD solutions needed to completely manage the entire group of IT resources end-users need to access, and the complexity increases dramatically.

Securely connect to any resource using Google Workspace and JumpCloud.

Learn More

Copy details from your identity provider to your Atlassian organization

  1. Go to admin.atlassian.com. Select your organization if you have more than one.

  2. Select Security > Identity providers.

  3. Select your identity provider Directory.

  4. Select Set up SAML single sign-on.

  5. Add SAML details.

  6. Save SAML configuration.

SAML details

Description

Identity provider Entity ID

This value is the URL for the identity provider where your product will accept authentication requests.

Identity provider SSO URL

This value defines the URL your users will be redirected to when logging in.

Public x509 Certificate

This value begins with ‘——BEGIN CERTIFICATE——‘.

This certificate contains the public key we’ll use to verify that your identity provider has issued all received SAML authentication requests.

Создание учетной записи в AD и файла keytab

Для подключения к контроллеру домена нам необходимо подтверждать подлинность. Это выполняется с помощью учетной записи в LDAP и файла keytab.

Создание учетной записи

Открываем консоль управления пользователями и добавляем нового со стандартными правами. От этой учетной записи будут выполняться запросы к AD DS.

В своем примере мы создаем пользователя spnego.

Учетная запись должна быть размещена по пути, в котором присутствуют названия только на латинице. Подразделения и контейнеры не должны быть на русском. В противном случае, при выполнении команды ниже мы получим ошибку «Password set failed! 0x00000020».

Создание keytab-файла

В двух словах, данный файл позволяет пройти идентификацию в Kerberos без запроса пароля. Он содержит пары имен субъектов Kerberos и зашифрованные ключи, полученные из пароля Kerberos.

Мы создадим данный файл на контроллере домена и скопируем на сервер NGINX. Для этого на контроллере домена и от имени администратора запускаем Powershell или обычную командную строку. Вводим:

* где:

  • nginx.domain.local — полное имя нашего nginx-сервера;
  • DOMAIN.LOCAL — наш домен;
  •  — учетная запись в AD для выполнения запросов (создана на шаге выше);
  • pass * — пароль, который будет задан пользователю (должен соответствовать требованию AD). Система запросит его ввод дважды.

* регистр важен.

В нашем примере, после выполнения команды на контроллере домена в корне диска С появится файл spnego.keytab. Его копируем на Linux-сервер, например, при помощи WinSCP.

Учебное пособие — Zabbix LDAP Authentication в Active Directory

Откройте браузер и введите IP-адрес вашего веб-сервера plus / zabbix.

В нашем примере в браузере был введен следующий URL:

• http://35.162.85.57/zabbix

На экране входа в систему используйте имя пользователя по умолчанию и пароль по умолчанию.

• Имя пользователя по умолчанию: Admin
• Пароль по умолчанию: zabbix

После успешного входа в систему вы будете отправлены на панель инструментов Zabbix.

На экране панели инструментов откройте меню «Администрирование» и выберите параметр «Аутентификация».

На экране «Аутентификация» выберите параметр «LDAP».

Вам необходимо настроить следующие элементы:

Вам нужно изменить IP-адрес на IP-адрес контроллера домена.

Вам необходимо изменить информацию о домене, чтобы отразить сетевую среду.

Введите имя пользователя администратора, его пароль и нажмите кнопку «Тест».

Если ваш тест завершился успешно, вы должны увидеть следующее сообщение.

После завершения настройки вы должны выйти из веб-интерфейса Zabbix.

Попробуйте войти в систему с помощью пользователя Admin и пароля из базы данных Active Directory.

На экране входа в систему используйте пользователя Admin и пароль из базы данных Active Directory.

• Имя пользователя: Admin
• Пароль: введите базу данных Active Directory.

Поздравляем! Вы настроили аутентификацию LDAP Zabbix в Active Directory с помощью LDAP.

Чтобы аутентифицировать пользователя в Active Directory, учетная запись пользователя также должна существовать в базе данных пользователей сервера Zabbix.

2018-08-10T13:57:26-03:00

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: