Назад | Перейти на главную страницу

Проверка подлинности IIS NTLM с запросом паролей для альтернативного DNS-имени

У нас есть существующий сервер с настроенным HTTPS и сертификатом, подписанным внутренним настраиваемым сертификатом CA.
Он запускает приложение, использующее проверку подлинности Windows.

например https: // внутренний сервер

Мы переходим к этому из окна Windows, используя IE / Edge / Chrome / Firefox, и все они просто загружали страницу, а не запрашивали учетные данные - используя ваши учетные данные домена Windows, вошедшие в систему. Веб-сервер и все клиенты Windows находятся в одном домене. Все идет нормально

Мы включили новый псевдоним DNS, используя сертификат SSL, приобретенный у настоящего центра сертификации, и внутренний DNS - это в основном для того, чтобы обойти необходимость установки нашего внутреннего настраиваемого центра сертификации повсюду (Linux, Mac, Android).

например https://internalserver.local.company.io

Я настроил этот сертификат в IIS, и я могу перейти к нему, но когда я это сделаю, все браузеры запрашивают у меня имя пользователя / пароль. Я ввожу учетные данные своего домена, и он работает, но почему появляется подсказка ?? Есть ли что-то в IIS, что заставляет аутентификацию NTLM работать только для определенного имени хоста? И как я могу это изменить?

Я не уверен, что HTTPS или сертификат имеют к этому какое-то отношение, но он упоминается на случай, если это актуально

Спасибо

Отправка кредитов на веб-сервер рискованна. У каждого браузера есть параметр политики или файл, который определяет, отправляет ли браузер кредиты без запроса. Chrome и FF здесь. https://specopssoft.com/blog/configuring-chrome-and-firefox-for-windows-integrated-authentication/

Я отследил это.

Старая запись DNS считалась Internet Explorer (и, следовательно, Edge и Chrome, у которых общие настройки безопасности) находилась в зоне «Интранет». «Автоматический вход в систему» ​​включен для сайтов в зоне интрасети, но отключен для других сайтов.

Новая DNS-запись имела другой суффикс и поэтому не считается частью «интрасети», а вместо этого считается «Интернетом», и поэтому автоматический вход в систему NTLM не происходит.

Я попросил наших администраторов домена добавить новый суффикс (local.mycompany.io) в список групповой политики доменов «Интранет». После обновления групповой политики IE, Edge и Chrome разрешили автоматический вход в систему NTLM без запроса имени пользователя и пароля, что решает проблему.

Firefox требует, чтобы local.mycompany.io был добавлен в network.automatic-ntlm-auth.trusted-uris в этом about: config, однако это всегда обязательный шаг для firefox, поэтому никаких изменений там

В администраторе IIS для сайта, на котором возникла проблема, перейдите по ссылке Sites, <the website>, IIS>Authentication и убедиться, что Anonymous Authentication является Enabled. Если это так, перейдите к Application Pools, <the application pool for the website>, Advanced Settings и убедитесь, что имя пользователя (и пароль) для учетной записи с соответствующими разрешениями физического каталога для корневого веб-сайта назначены Identity.

Раньше этого не требовалось, поскольку все ваши пользователи находятся в одной локальной сети и в папке "." в URL-адресе предотвращает автоматическое согласование / аутентификацию пользователей на вашем локальном сервере.

Имейте в виду, что это означает, что если вы ранее требовали от пользователей входа в систему, чтобы иметь возможность доступа к определенной информации или данным на уровне пользователя, вы должны знать, что это позволит любому, у кого есть URL-адрес (если он направлен публично), получить доступ к содержание.