PowerScale: OneFS: Як знайти дублікати принципальних імен сервісів (SPN) в Active Directory, щоб запобігти аутентифікації SMB клієнтам у кластері
Summary: Як розпізнати дублікати головних імен сервісів у Active Directory, що може призвести до збою автентифікації Kerberos.
Symptoms
Ідентифікуйте дублікати SPN у доменах Active Directory:
Дублюючі імена SPN можуть спричинити збої входу для входу в сервісні облікові записи та клієнтські акаунти під час автентифікації в кластері.
Дублікат SPN може змусити клієнта спробувати автентифікацію в неправильній системі або мати неправильний ключ Kerberos.
Джерело: http://technet.microsoft.com/en-us/library/cc772897%28v=ws.10%29.aspx
клієнти SMB, які автентифікуються за допомогою імен зон або псевдонімів SmartConnect, можуть не мати змоги автентифікуватися у спільних кластері.
У журналах доменного контролера або в "/var/log/lsassd.log" наступні повідомлення можуть свідчити про наявність дублікатів SPN.
KDC_ERR_PRINCIPAL_NOT_UNIQUE - Multiple entries in database
KRB_AP_ERR_MODIFIED Message stream modified errors
Event ID 11 and/or Event ID 4 on Domain controllers can indicate duplicate SPNs.Cause
Неправильна конфігурація SPN у середовищі Active Directory може призвести до дублікатів.
Resolution
Процедура
Існує два варіанти пошуку дублікатів SPN. Setspn — це утиліта командного рядка, а LDP — графічний інтерфейс, доступний лише на Windows Server 2003 і новіших версіях.
Використання setspn
Setspn, який працює на Windows 7, 8, Server 2008 та 2012 роках. Для Windows Server 2003 його можна отримати за наступним посиланням: http://support.microsoft.com/kb/970536
З командного рядка Windows використовуйте "setspn /?" для додаткових опцій команди.
Дублікати знаходять за допомогою «setspn -x», це шукає по всьому лісу і може займати час обробки у великих середовищах.
Команда "setspn q" запитує за ім'ям SPN і може бути кращою для більших оточень.
Приклад 1:
SPN "HOST/chomper.test.isilon.com" зареєстрований як на кластер під назвою "isicluster1", так і на сервер Windows під назвою "win2k1".
C:>setspn -x
Checking domain DC=test,DC=isilon,DC=com
Processing Entry 0
HOST/chomper.test.isilon.com is registered on these accounts
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
Found 1 group of duplicate SPNs.
Приклад 2:
У більших середовищах запитуйте за допомогою "setspn q <SPN>" або використовуйте LDP, як показано нижче.
C:>setspn -q HOST/chomper.test.isilon.com
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/isicluster1
HOST/isicluster1.test.isilon.com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/win2k1
HOST/win2k1.test.isilon.com
Existing SPN found!
Якщо в іншому місці середовища є SPN з іншим ідентифікатором класу сервісу, наприклад CIFS, він не буде знайдений з "setspn -x". Ви можете шукати його, запустивши пошук за джокером:
C:\>setspn -q */isilon
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster2,CN=Computers,DC=test,DC=isilon,DC=com
cifs/chomper.test.isilon.com
Використання LDP: http://support.microsoft.com/kb/321044
- Натисніть Start, Run, введіть LDP, а потім OK.
- Натисніть «Підключення», а потім «Підключитися».
- Залиште налаштування за замовчуванням, а потім натисніть OK.
Примітка: Якщо ви не отримуєте очікуваного результату, спробуйте ще один пошук, використавши Global Catalog Port (3268) замість стандартного налаштування (389). - Натисніть «Підключення», а потім «Прив'язати».
- Залиште налаштування за замовчуванням, а потім натисніть OK.
- Натисніть Перегляд, а потім Дерево.
- У діалоговому вікні Tree View введіть DC=test,DC=isilon,DC=com у полі BaseDN
- Натисніть «Перегляд», а потім «Пошук».
- У вікні пошуку введіть DC=test,DC=isilon,DC=com у полі BaseDN .
- У діалоговому вікні Пошук введіть (serviceprincipalname=HOST/<sczonename>) у поле фільтра
- У діалоговому вікні Атрибути введіть servicePrincipalName.
- У розділі Scope натисніть Subtree.
- Натисніть «Запустити», потім закрийте діалогове вікно «Пошук».
- Дублікати SPN мають два записи, що вказують на два різні Dn
***Searching
ldap_search_s(Id, DC=test,DC=isilon,DC=com ,2,
(serviceprincipalname=HOST/chomper.test.isilon.com) ,attrList, 0 &msg)
Getting 2 entries:
Dn: CN=ISICLUSTER1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/isicluster1; HOST/isicluster1.test.isilon.com;
HOST/chomper.test.isilon.com
Dn: CN=WIN2K1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/win2k1; HOST/win2k1.test.isilon.com;
HOST/chomper.test.isilon.com
Резолюція:
Дублікат запису win2k1 для "HOST/chomper.test.isilon.com" слід видалити з домену Active Directory.
Дублікат запису можна видаляти користувачем із адміністратором домену, адміністратором підприємства або визначеними правами адміністрування домену на домені Active Directory.
Команда для видалення дублікатного запису — "setspn -D <spn><accountname>."
C:>setspn D HOST/chomper.test.isilon.com win2k1
Unregistering ServicePrincipalnames for CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
Updated object
Наведений вище вихід підтверджує, що "HOST/chomper.test.isilon.com" не був зареєстрований на комп'ютері win2k1. Зараз він зареєстрований лише на рахунок ISICLUSTER1 машини.
Additional Information
Пов'язані статті:
"Сервіси автентифікації можуть вийти з ладу, якщо ім'я основного сервісу (SPN) є неправильним або відсутнім,"89649
"OneFS: Як створити SPN-облікові записи для дозволу автентифікації Kerberos за допомогою DNS-записів SmartConnect,"16528
"Як переглянути SPN-список у середовищі Microsoft Active Directory,"16589
"SQL-клієнт не може "Масово вставляти" файли з кластера Isilon у базу даних SQL," 89574
"Як увімкнути Mac OS X одноразовий вхід (SSO) для CIFS-shares з підтримкою Active Directory у OneFS 5.5.x - 6.5.x, "16675
"Isilon OneFS 7.1.0.0: Клієнти SMB2 не можуть підключатися до кластера за допомогою автентифікації Kerberos,"174024
"OneFS: Основні назви сервісів для автентифікації Kerberos," 187999