Настройка сквозной авторизации в ManageEngine ServiceDesk
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В пошлый раз мы рассмотрели, как находить основной шлюз в операционных системах. Сегодня я хочу вернуться к рассмотрению еще одной настройки для программного продукта ManageEngine ServiceDesk. В данной статье мы рассмотрим механизм сквозной авторизации (SSO) или как его еще называют единый вход. Данный механизм поможет пользователям открывать сервис деск без ввода логина и пароля, используя учетные данные под которыми они вошли в систему.
В большинстве организаций, для удобства управления компьютерами и пользовательскими учетными записями, установлена служба Active Directory, удобнее ее я если честно еще не встречал ничего, нужно отдать должное компании Microsoft. Благодаря этому. у пользователя есть возможность получать доступ к различным службам и услугам с помощью единой учетной записи. Все хорошо, но в некоторых службах, где используется для доступа браузер, необходимо вводить логин и пароль, это не проблема, но и это можно улучшить.
Есть такая вещь, как SSO (Single-Sign-On) или как ее еще именуют сквозная авторизация - это по сути единый вход на сервис, без ввода логина и пароля с использованием текущих учетных данных, которые были использован при авторизации на компьютере. Большинство современных программных комплексов стараются внедрять у себя SSO, например как у vCenter, где он добавляет Windows авторизацию. ManageEngine ServiceDesk в этом плане не исключение. Тут два варианта реализации, первый это служба федерации Active Directory для всех браузеров, и требует дополнительного сервера или встроенная SSO, но там есть ограничения на поддерживаемые браузеры, будут работать Internet Explorer, Google Chrome.
Алгоритм SSO в ManageEngine ServiceDesk
Когда служба хочет инициировать единый вход, сначала необходимо создать безопасный канал с контроллером домена, и этот же сервис должен использоваться службой для дальнейшего процесса аутентификации в Active Directory. В многодоменной среде служба будет иметь защищенное соединение только с одним контроллером домена, и тот же будет аутентифицировать пользователей других доменов, используя доверительные отношения с этим доменом.
ServiceDesk Plus внедрил безопасный канал в Active Directory, используя службу NETLOGON через учетную запись компьютера. Для включения службы NetLogon эта учетная запись компьютера требует пароль. Сервис NetLogon является внутренним каналом связи Microsoft. Один компьютер создаст уникальный идентификатор в домене и создаст некоторый случайный пароль для дальнейшей связи в домене. Например, когда пользователь пытается войти в систему, компьютер выдаст свою идентификационную информацию AD, а затем попытается аутентифицировать пользователя.
Учетные записи пользователей используются для доступа, и он не может напрямую взаимодействовать с AD, поэтому мы используем учетную запись компьютера для netlogon. Поскольку пароль генерируется случайным образом во время регистрации компьютера в домене, то вы его явным образом не будите знать.
ServiceDesk Plus использует VBScript для создания учетной записи компьютера и установки пароля для них. Начиная с версии 7600, ServiceDesk Plus для сквозной аутентификации использует метод NTMLV2, который обеспечивает лучшую безопасность и проверяет учетные данные с помощью сервиса NETLOGON, и NTLMV1 больше не будет поддерживаться.
Показывать настройку сквозной авторизации я буду на ManageEngine ServiceDesk 10016, которую я недавно обновил. Открываем веб интерфейс ManageEngine ServiceDesk, находим раздел "Параметры - Active Directory".
Находим раздел "Проверка подлинности Active Directory" и активируем функцию "Включить сквозную авторизацию (единый вход)".
Пожалуйста, выберите доменное имя, с которого вы хотите настроить сквозную аутентификацию. Вы можете включить сквозную аутентификацию для пользователей из определенного домена/леса AD. Чтобы аутентификация выполнялась для других пользователей домена, другой домен должен иметь доверительные отношения с выбранным доменом или родительские и дочерние отношения. В случае домена Parent-Child, здесь должен быть выбран только родительский домен. После настройки доверительных отношений в AD необходимо настроить сквозную проверку подлинности.
Чтобы использовать поставщик безопасности NTLM в качестве службы проверки подлинности, необходимо создать учетную запись компьютера в Active Directory с определенным паролем, который соответствует политике паролей в Active Directory. Укажите уникальное имя для учетной записи компьютера и пароль для этой учетной записи. Примечание. Убедитесь, что ваш пароль соответствует политике паролей домена. Тогда имя учетной записи компьютера не должно быть более 12 символов и не должно содержать никаких специальных символов.
- Имя домена - пишем корневой домен в лесу
- Учетная запись компьютера - имя компьютера, который будет создан для SSO в вашем домене. Если учетная запись компьютера была создана заранее, то поместите ее на время сброса пароля в контейнер "Computers".
- Пароль - пароль компьютера, который создан для SSO. ПАРОЛЬ не должен содержать спец символов, иначе работать не будет.
- IP адрес или DNS сервер - тут обычно прописывают контроллере домена
- Строка привязки (Bind String) - суда пишется DNS суффикс домена, обычно совпадает с именем рутового домена в лесу.
- Сайт DNS - имя сайта Active Directory, где находится контроллер домена, к которому идет подключение.
Если вы указываете имя существующей учетной записи компьютера, указанный здесь пароль также будет установлен в Active Directory для этой учетной записи компьютера. Вы также можете сбросить пароль учетной записи компьютера, нажав на ссылку «Сбросить пароль». Даже если при создании учетной записи компьютера или сброса пароля (уже созданной учетной записи компьютера) из приложения возникнет ошибка, сведения, указанные в окне, будут сохранены в базе данных приложения. Загрузите сценарии и сохраните сценарии NewComputerAccount.vbs и SetComputerpass.vbs. Оба сценария нам пригодятся.
Запуск сценариев на сервере Active Directory
Скопируйте в корень диска C:\ оба сценария, NewComputerAccount.vbs и SetComputerpass.vbs.
- NewComputerAccount.vbs - создаст в Active Directory в контейнере Computers новую учетную запись компьютера с нужным вам паролем
- SetComputerpass.vbs - позволит поменять пароль у уже существующей учетной записи компьютера
На контроллере домена, куда вы скопировали ваши скрипты, откройте командную строку от имени администратора. Перейдите в командной строке в корень диска C:\, через команду cd C:\. Если нужно создать новый компьютер, то введите:
В моем примере
CSCRIPT NewComputerAccount.vbs servicedesksso /p пароль /d pyatilistnik
Если нужно сменить пароль, то конструкция будет такой
CSCRIPT SetComputerPass.vbs servicedesksso /p пароль /d pyatilistnik
Так же я вас советую включить логирование на вашем сервере ManageEngine ServiceDesk, поставив соответствующую галку в SSO. Логи будут лежать в C:\ManageEngine\ServiceDesk\logssso.txt
http://kbase.zohocorp.com/kbase/ServiceDeskPlus/TroubleShooting/ file_100009.html
Настройка браузера для SSO
Откройте ваш Internet Explorer и перейдите в его свойства.
Перейдите на вкладку "Безопасность" далее "Местная интрасеть - Сайты" нажимаем кнопку "Дополнительно" и добавляем адрес нашего ManageEngine ServiceDesk в узлы.
Установите на интрасети, низкий уровень безопасности и нажмите кнопку "Другой"
Активируйте пункт "Автоматический вход в сеть с текущим именем пользователя и паролем"
Далее сохраните настройки и перейдите на вкладку "Дополнительно" и активируйте галку "Разрешить встроенную проверку подлинности Windows"
После этого закройте Internet Explorer и заново откройте. Проверьте сквозную авторизацию в ManageEngine ServiceDesk.
Включаем Kerberos аутентификацию в Google Chrome
Google Chrome берет все настройки SSO из Internet Explorer, так что настройте его и еще выполните вот такую команду. Кроме того, нужно отметить, что все новые версии Chrome автоматически определяют наличие поддержки Kerberos. В том случае, если используется одна из старых версий Chrome (Chromium), для корректной авторизации на веб-серверах с помощью Kerberos, его нужно запустить с параметрами:
- --auth-server-whitelist="*.pyatilistnik.org"
- --auth-negotiate-delegate-whitelist="*.pyatilistnik.org"
Например, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --auth-server-whitelist="*.pyatilistnik.org" --auth-negotiate-delegate-whitelist="*.pyatilistnik.org". Сделать это можно из командной строки.
На этом у меня все. Мы с вами подробно разобрали настройку сквозной авторизации (единого входа) в ManageEngine ServiceDesk 10016. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Добрый день, если нет домена, на основе сертификатов возможно ли авторизоваться в SD plus?
Добрый день! В 11 версии не видел такого функционала.
Добрый день!
Иван, не могу разобраться как настроить закрытие заявки по входящему письму.
У Вас есть какие-нибудь наработки по этому вопросу?
Сергей можете более подробно описать ситуацию, я спрошу у наших разработчиков
Добрый день Сергей,
Спасибо за инструкцию, можете подсказать несмотря добавления домена в «Сканирование доменов Windows», в списке отсутствует корн.домен, а дочерные домены видны.
Заранее благодарень
Прошу прощения Иван, нужно было импортировать пользователей, всё проблема решена. Всем удачи и здоровья!