Диагностирование Kerberos в среде Sharepoint (часть 2)

В первой части мы разглядели диагностирование заморочек, связанных с датой и временем, учетными записями пула приложений и базисной конфигурацией имен Service Principal Name (SPN). В этой части мы разглядим последующие темы:

SPN конфигурация – для IIS 7
Дубликаты имен Service Principal Names
Несоответствие конфигурации DNS

Конфигурация SPN – для IIS 7

Всегда приятно получать оборотную связь по статьям, и несколько человек упомянули о том, что не могут вынудить интернет веб-сайты работать с Kerberos при использовании Internet Information Server 7 на Windows Server 2008. Учетные записи пула приложений и SPN регистрация была настроена верно, но этот старенькый хороший отчет об ошибке возникал в Windows System Event Log: KRB_AP_ERR_MODIFIED.

Эта неувязка появляется, потому что аутентификация Kernel-mode включена по дефлоту, что вызывает дешифрование мандатов Kerberos на учетной записи машины, граничащей с SharePoint. Если вы используете один сервер SharePoint и регистрируете ваше SPN на NETBIOS имени сервера, то все в порядке. Но в интернет ферме вам необходимо или отключать Kernel-mode аутентификацию, или настраивать интернет приложение на внедрение мандатов с пула приложений.

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

Информация об применяемых IP адресах:

172.16.189.11 – контроллер домена (и KDC) DC1172.16.189.15 – SQL Server (и KDC) SQL1 172.16.189.20 – интернет веб-сайт http://intranet.domain.local 172.16.189.21 – сервер SharePoint Server WSS1 172.16.189.22 – сервер SharePoint Server WSS2 172.16.189.101 – компьютер PC1, получающий доступ к интернет веб-сайту

Я отключил Kernel-mode аутентификацию в собственной среде для этого теста, я просто включил ее опять (так как это режим по дефлоту) в Internet Information Manager 7:

В диспетчере IIS 7 Manager изберите ‘Sites/’ и изберите ‘Аутентификация’.

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 7

Изберите ‘Аутентификация Windows’ и нажмите ‘Дополнительные характеристики’

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 8

Я отметил опцию ‘Включить Kernel-mode аутентификацию’, которая является параметром по дефлоту

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 9

Потом перезапустил собственный IIS при помощи команды: IISRESET /NOFORCE

Нам необходимо поглядеть некие дополнительные подробности пакета, потому до того как пробовать зайти на интернет веб-сайт, я запущу Wireshark, анализатор сетевых протоколов, на DC1 и PC1, чтоб у нас была возможность проанализировать ошибки Kerberos. Я рекомендую настроить фильтр на отображение только пакетов Kerberos:

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 10

Сейчас я зайду на интернет веб-сайт: http://intranet.domain.local ‘ тут у меня раскроется окно входа из-за неудачной пробы регистрации. Первым шагом будет проверка журнальчика событий на компьютере, с которого вы пробовали зайти на веб-сайт. Это событие из системного журнальчика регистрации событий Windows System Event Log компьютера, с которого была предпринята попытка зайти на интернет веб-сайт, PC1:

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 11

Если мы поглядим на пакеты и ошибку компьютера PC1 при помощи Wireshark, то увидим ту же ошибку:

Диагностирование Kerberos в среде Sharepoint (часть 2)
Прирастить

Набросок 12

В журнальчике Windows Event Log и в снимке пакетов мы получили KRB_AP_ERR_MODIFIED, а учетная запись, с которой выслан ответ – wss1$. Мы знаем, что сервер WSS1 делает отчет об этой ошибке, когда мы входим на интернет веб-сайт. Это также видно по IP адресу, если поглядеть на информацию IP адреса источника/приемника в Wireshark. Давайте разглядим этот сервер. Отчет KRB_AP_ERR_MODIFIED значит, что компьютер задумывается, что обмен пакетами Client/Service изменен и проверяемыми параметрами является дата/время, IP адреса, имена хостов, также работа ключа дешифровки. Мы стремительно проверяем дату/время, IP адреса и имена хостов (глядеть раздел конфигурации DNS), и все эти характеристики (вероятнее всего) верны. Ключ шифрования/дешифровки определяется именованием SPN – соотнесением учетных записей (account mapping). Эта учетная запись должна быть той учетной записью, которую употребляет IIS интернет веб-сайт на сервере WSS1.

Исполняем проверку при помощи последующей команды:

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 13

Имя Service Principal Name сопоставляется с учетной записью домена SPContentPoolAcct и позволяет нам проверить пул приложений IIS Application Pool, который употребляется интернет веб-сайтом. В диспетчере IIS найдите Пул приложения (Application Pool), применяемый интернет веб-сайтом IIS. Потом перейдите во вкладку Дополнительные характеристики ‘ на рисунке 14 показано, что учетная запись настроена верно.

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 14

Но из-за новейшей структуры в IIS 7 на Windows Server 2008 она употребляется исключительно в том случае, если аутентификация в режиме Kernel отключена либо конфигурация хоста изменена.

Мы проверим и исправим файл конфигурации последующим образом:

Поначалу откроем файл конфигурации на каждом сервере, граничащем с SharePoint: %WinDir%System32inetsrvconfigApplicationHost.config
Потом убедимся, что параметр useAppPoolCredentials находится. Если нет, мы добавим этот атрибут, как на примере, выделенном зеленоватым цветом ниже (Непременно введите этот текст в точности, как в примере, только буковкы A, P и C будут большими): useAppPoolCredentials=»true» />
В конце концов мы сбрасываем Internet Information Server при помощи команды: IISRESET /NOFORCE

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

Диагностирование Kerberos в среде Sharepoint (часть 2)
Прирастить

Набросок 15

Поиск дубликатов имен Service Principal Names

Совсем не сложно сделать однообразные имена SPN в Active Directory, если вы не используете команду setspn.exe с тумблерами ‘-S’ либо ‘‘F’ (только для setspn.exe в Windows Server 2008 либо выше). Для наилучшего осознания того, как хранятся имена Service Principal Names и как KDC отыскивает учетную запись на базе имени SPN я нарисовал схему на рисунке 16. Пример дубликата имени SPN, зарегистрированного в SPWrongAcct, выделен красноватым цветом.

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 16

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

ldifde ‘ прямое извлечение SPN и фильтрация в Active Directory Получение учетных записей, в каких определяются HTTP SPN:ldifde -d «dc=domain,dc=local» -r «servicePrincipalName=http*» -p subtree -l «dn,servicePrincipalName» -f output.txt Получение учетных записей, в каких определяются MSSQLSvc SPN:ldifde -d «dc=domain,dc=local» -r «servicePrincipalName=mssqlsvc*» -p subtree -l «dn,servicePrincipalName» -f output.txt
setspn.exe ‘ на Windows Server 2008 можно выполнить проверку на наличие дубликатов Получение учетной записи, в какой определяется HTTP SPN:setspn.exe ‘Q http/intranet.domain.local Проверка HTTP SPN, зарегистрированного в нескольких учетных записях (дубликатов SPN):setspn.exe ‘X http/intranet.domain.local
ADSIEdit ‘ вручную просмотрите одну за другой учетные записи юзеров и компов, и удостоверьтесь, что однообразное значение отсутствует в нескольких учетных записях. Это очень тяжелый метод, потому я бы предпочел другой способ.

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 17

В результатах хоть какого вышеуказанного процесса необходимо просматривать, чтоб SPN (к примеру, HTTP/intranet.domain.local) не было перечислено в 2-ух и поболее учетных записях. Сама по для себя учетная запись может иметь несколько имен SPN безо всяких заморочек (набросок 17).

Я бы посоветовал использовать команды, если вы работаете с Windows Server 2008:

setspn.exe ‘S‘ для регистрации имени SPN на учетной записи и поиска дубликатов в домене
setspn.exe ‘F ‘S‘ для регистрации имени SPN в учетной записи и проверки на наличие дубликатов по всему лесу

Я сделал снимок поиска дубликатов и настроил имя Service Principal Name (набросок 18) в учетной записи DOMAINSPContentPoolAcct

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 18

На последующем рисунке показана попытка сотворения дубликата имени SPN. Команда setspn.exe находит этот дубликат, как показано на рисунке 19, и даже гласит вам, с каким объектом Active Directory появился этот конфликт.

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 19

Конфигурация DNS

Не плохая надежная конфигурация DNS должна находиться в каждом нынешнем домене, и внедрение Kerberos не является исключением. Все имена хостов должны создаваться в зонах прямого и оборотного поиска, а дубликаты имен хостов либо IP адресов недопустимы. В зоне прямого поиска (forward lookup zone) записи должны создаваться в качестве A-records ‘ также в заголовках хостов, которые указывают на серверы. Если употребляется имя CNAME, Kerberos время от времени может создавать мандаты, используя неверное имя хоста ‘ потому главным правилом опции DNS в рамках наилучших методик будет правило, которое принудит конфигурацию работать.

Отправляемая и получаемая информация будет проверяться прямым и оборотным поиском. Для начала я протестирую свою конфигурацию, чтоб проверить, отвечает ли DNS корректно на имя хоста моего интернет веб-сайта.

Диагностирование Kerberos в среде Sharepoint (часть 2)
Прирастить

Набросок 20

Обе команды должны возвратить правильное имя хоста и IP адресок ‘ но неплохой мыслью будет проверка DNS конфигурации вручную. Вам нужно убедиться в том, что все имена хостов в вашей установке (серверы DC1, SQL1, WSS1 и машина PC1) и применяемые заглавия host-headers (intranet.domain.local) сделаны и являются уникальными. Ниже приведены картинки конфигурации DNS в нашей середе, набросок 21 и 22.

Зона прямого поиска (Forward Lookup Zone) для domain.local:

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 21

Зона оборотного поиска (Reverse Lookup Zone) для domain.local:

Диагностирование Kerberos в среде Sharepoint (часть 2)

Набросок 22

Заключение

Итак мы разглядели большая часть главных частей обычных ошибок в SharePoint и Kerberos, к которым относятся DNS конфигурация, дубликаты имен SPN и IIS7 в Windows Server 2008. В третьей части этой серии мы тщательно разглядим мандаты и ту информацию, которую можно использовать. Мы также разглядим делегирование и Shared Service Provider в работе, в нерабочем состоянии, проанализируем задачи и исправим их.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.