
Наша установка WAC SSO (через делегирование на основе ресурсов) перестала работать на прошлой неделе по неизвестным причинам, и это сводит меня с ума. Следующее событие регистрируется на сервере WAC при попытке подключения к управляемому клиенту (любому из них) в WebUI:
A Kerberos error message was received:
on logon session
Client Time:
Server Time: 19:6:29.0000 11/29/2021 Z
Error Code: 0x29 KRB_AP_ERR_MODIFIED
Extended Error: 0xc00000bb KLIN(0)
Client Realm:
Client Name:
Server Realm: DOMAIN.COM
Server Name: HTTP/accounting-02-m.domain.com
Target Name: HTTP/[email protected]
Error Text:
File: onecore\ds\security\protocols\kerberos\client2\kerbtick.cxx
Line: 128d
Error Data is in record data.
Соответствующая ошибка 0x29 также регистрируется на целевом KDC.
Доступ к WAC WebUI работает нормально для пользователей, а удаленный PowerShell для целевых машин за пределами WAC работает также для тех же пользователей. Когда доступ к целевой машине в WAC запрещен и запрашиваются учетные данные, ручной ввод моих учетных данных позволяет получить доступ. WebUI непосредственно на сервере WAC позволяет использовать его по назначению для доступа к целевым машинам через SSO. Это исключает проблемы с разрешениями и, по-видимому, указывает на проблему делегирования двойного перехода.
Захват сетевого трафика показывает TGS-REQ/REP для меня для доступа к машине WAC$, а затем я вижу TGS-REQ для целевой службы машины (т. е. HTTP/accounting-02-m.domain.com) с KRB-OPTION "constrained-delegation: True", за которым следует KRB-ERROR для KRB5KRB_AP_ERR_MODIFIED...
Я проверил делегирование для образца машины, и оно выглядит так, как и ожидалось:
Path Owner Access
---- ----- ------
BUILTIN\Administrators DOMAIN\WAC$ Allow
Я убедился, что защищенный канал между сервером/целью и DC работает (я в любом случае сбросил пароль машины)
PS C:\> Test-ComputerSecureChannel
true
Я проверяю наличие проблем с SPN:
PS C:\> setspn -L accounting-02-m Registered ServicePrincipalNames for CN=ACCOUNTING-02-M,OU=Workstations,OU=Domain Computers,DC=domain,DC=com:
WSMAN/ACCOUNTING-02-M
WSMAN/ACCOUNTING-02-M.domain.com
TERMSRV/ACCOUNTING-02-M
TERMSRV/ACCOUNTING-02-M.domain.com
RestrictedKrbHost/ACCOUNTING-02-M
HOST/ACCOUNTING-02-M
RestrictedKrbHost/ACCOUNTING-02-M.domain.com
HOST/ACCOUNTING-02-M.domain.com
PS C:\> setspn -Q HTTP/accounting-02-m
Checking domain DC=domain,DC=com
No such SPN found.
Я считаю, что сопоставление SPN должно учитывать эквивалентность HOST->HTTP:
host=alerter,appmgmt,cisvc,clipsrv,browser,dhcp,dnscache,replicator,eventlog,eventsystem,policyagent,oakley,dmserver,dns,mcsvc,fax,msiserver,ias,messenger,netlogon,netman,netdde,netddedsm,nmagent,plugplay,protectedstorage,rasman,rpclocator,rpc,rpcss,remoteaccess,rsvp,samss,scardsvr,scesrv,seclogon,scm,dcom,cifs,spooler,snmp,schedule,tapisrv,trksvr,trkwks,ups,time,wins,www,http,w3svc,iisadmin
Я обычно klist purge -li 0x3e7
очищаю талоны от ошибок перед любым тестированием.
Сервер WAC — Win2019, служба работает как «Сетевая служба», KDC — Win2019, а клиенты — это смесь Win10 и Win2012R2/2016/2019. Разница во времени составляет максимум 1 с на всех задействованных машинах (KDC, Server, Target). У нас есть лес с одним доменом.
Я подозревал KB5008380 из-за этой ошибки, зарегистрированной на KDC:
During TGS processing, the KDC was unable to verify the signature on the PAC from WAC$. This indicates the PAC was modified.
Но не удалось найти ключ реестра нигде в домене (как и обновление, установленное на KDC).
Насколько я понимаю, в документах Kerberos RFC либо контрольная сумма не проходит из-за изменения билета при передаче (маловероятно), либо служба не может расшифровать билет из-за проблем с защищенным каналом или неправильной настройки SPN, но все эти варианты выглядят правильно настроенными.
Что я здесь упустил? Что сломалось?
решение1
Итак, оказывается, виноват KB5007206, хотя в первоначальных заметках потенциальная проблема не упоминалась... Я не рискую устанавливать обновление OOB, поэтому удаление KB5007206 на контроллерах домена решило проблему.