Утилита для проверки настроек сквозной аутентификации веб-продуктов

23 7

Проблема

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

Решение

Для того чтобы упростить работу по настройке было решено написать утилиту Negotiation Authentication Test (NАTest), которая бы в автоматическом режиме проверяла необходимые настройки.
Утилита должна проверять настройки с которыми чаще всего возникают проблемы - это настройка IIS, SPN, UAC и делегирования.

Реализация

При запуске утилита запрашивает имя сайта, для которого необходимо проверить настройки (требуется указать имя сайта которое задано в IIS). После чего производится проверка необходимых настроек.
Если все настроено верно, то результат будет примерно таким:

Если часть настроек выполнена неверно, то утилита укажет на них: 

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

Особенности

  • Используется совместно с конфигуратором веб продуктов (проверки не перекрывают друг друга).
  • Запускать утилиту необходимо на сервере где развернут сайт.
  • Утилита должна запускаться под доменным пользователем.

Заключение

Надеюсь утилита будет полезной в работе и поможет сэкономить время при настройке сквозной аутентификации.
Ссылка на скачивание: NATest.zip

Денис Архипов

Почему не использовали PowerShell? Его возможностей более чем достаточно как для проверок настроек так и для их установки. А так же есть возможность модифицировать скрипт под себя если возникнет такая необходимость.

Сергей Тырин

В принципе да, можно было использовать PowerShell. Изначально утилита возникла как вспомогательная для внутреннего использования и была написана на C#.

Чуть позже исходники выложу на внешний репозиторий компании, так что будет возможность при необходимости модифицировать утилиту под свои нужды.

Сергей Тырин: обновлено 31.05.2019 в 12:54
Денис Архипов

Просто в PowerShell  быстрее изменения внести чем у вас VS 2019 загрузиться :)

з.ы. спасибо за тулинг.

Денис Архипов: обновлено 03.06.2019 в 11:00
Антон Гончаров

А тестировалась ли утилита, при настройке фермы веб-доступа?
Тестировалась ли для кластерных решений MS SQL?

Сергей Тырин

Нет, не тестировалась.

Не уверен, но вроде большинство настроек должны быть аналогичны. Даже если чего то нет, утилиту можно использовать как дополнительный источник информации.

Антон Гончаров

Собственно, отвечу на свой вопрос сам. 

Если используются инсталляции сложнее, чем неименованный инстанс, то для корректных настроек SPN сервера MS SQL. Подчеркиваю, только сервера MS SQL, можно воспользоваться утилитой вендора СУБД.
Ссылка ниже. 

Microsoft® Kerberos Configuration Manager for SQL Server

 

Скажите, пожалуйста, что может быть причиной ошибки .Имя сайта ввожу правильно (как указано в IIS)

Авторизуйтесь, чтобы написать комментарий