У меня возникла проблема с настройкой моего веб-сайта IIS 7.0 в тестовой среде с Kerberos. У меня установлена пробная версия Windows Server 2008 R2 с AD DS, AD RMS, DHCP, DNS и ролями IIS. Я зашел в настройки безопасности IIS для сайта и настроил проверку подлинности Windows, чтобы разрешить вход Kerberos.
Проблема, с которой я столкнулся, заключается в том, что он не использует Kerberos в качестве протокола безопасности. Когда я устанавливаю поставщиков в IIS на «Negotiate», Fiddler2 указывает, что заголовок будет возвращать заголовок NTLM в 50% случаев и заголовок Kerberos в остальных 50% случаев. Если вместо этого я устанавливаю поставщика как «Negotiate:Kerberos» в IIS, я вообще не могу получить доступ к сайту, так как он немедленно сообщает об ошибке 401. Кроме того, любая попытка подключиться к сайту в любой конфигурации с помощью машины Linux немедленно указывает на ошибку безопасности 401.
Может ли кто-нибудь дать какие-либо идеи или руководства по настройке этого? Мне конкретно нужно заблокировать любой откат к NTLM в дополнение к включению Kerberos независимо от машины, к которой я подключаюсь. Пока что я не нашел ни одной статьи на technet или serverfault, которая бы полностью решала эту проблему.
решение1
В Firefox вам нужно будет настроить использование Kerberos в разделе about:configсеть.переговоры-аутентификация.доверенный-urisисеть.переговоры-аутентификация.делегирование-uris.
Для Chrome/Chromium попробуйтеchromium-browser –auth-server-whitelist=”company.com”
решение2
Если вы хотите настроить службу/приложение Linux для аутентификации на конечной точке службы IIS, вы можете настроить Linux-устройство для аутентификации на размещенном на IIS сайте Windows следующим образом:
- Обеспечьте проверку подлинности Windows вашего сайта IISпоставщикидля Windows Auth устанавливаются в следующем порядке:
- НТЛМ
- Вести переговоры
- Создайте принципала для учетной записи, которую вы хотите аутентифицировать как:
- Войдите на сервер Windows в домене с помощью инструментов Kerberos (обычно это сервер AD)
- Регистрация имени принципала обслуживания(СПН)для учетной записи, под которой вы хотите пройти аутентификацию, и одновременно сгенерируйте файл Kerberos keytab:
- Использоватьктпассдля создания keytab для Linux
ktpass -princ HTTP/[email protected] -ptype KRB5_NT_PRINCIPAL -mapuser myuser -pass mypassword -out c:\user.keytab
- Примечание: важно, чтобы URL-адрес
myiis.site.com
соответствовал вашей конечной точке, на которую вы попадете; а онаSITE.COM
должна соответствовать вашейДомен-Компонент.
- Вы можете проверить свой SPN с помощью
setspn -L myuser
- На этом этапе у вас есть SPN, сопоставленный с пользователем AD, и файл Kerberos keytab для Linux для получения билета Kerberos, выпущенного KDC (сервером AD) для аутентификации с использованием поставщика Negotiate.
- Импортируйте keytab в linux box/приложение в зависимости от разновидности Kerberos. Чтобы просмотреть учетные данные в keytab:
- Массачусетский технологический институтКерберос
klist -c -k user.keytab
- ХеймдальKerberos (при условии, что вы скопировали keytab в
/etc/heimdal/krb5.keytab
ktutil list
- Массачусетский технологический институтКерберос