
先週、WAC インストール SSO (リソース ベースの委任経由) が原因不明で動作しなくなり、困惑しています。WebUI で管理対象クライアント (いずれか) に接続しようとすると、WAC サーバーに次のイベントが記録されます。
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 へのアクセスはユーザーにとって問題なく機能し、WAC 外部の対象マシンへのリモート PowerShell も、同じユーザーにとって問題なく機能します。WAC で対象マシンへのアクセスが拒否され、資格情報が求められた場合、資格情報を手動で入力するとアクセスが許可されます。WAC サーバー上の WebUI を直接使用することで、SSO 経由で対象マシンにアクセスできます。これにより、権限の問題は排除され、ダブル ホップ委任の問題が指摘されているようです。
ネットワーク トラフィックのキャプチャには、WAC$ マシンにアクセスするための TGS-REQ/REP が表示され、次に、KRB-OPTION "constrained-delegation: True" を含むターゲット マシン サービス (つまり、HTTP/accounting-02-m.domain.com) の TGS-REQ が表示され、その後に KRB5KRB_AP_ERR_MODIFIED の KRB-ERROR が表示されます...
サンプル マシンの委任を確認しましたが、予想どおりのようです。
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 が混在しています。関係するすべてのマシン (KDC、サーバー、ターゲット) の時間差は最大 1 秒です。ドメイン フォレストは 1 つです。
KDC に記録された次のエラーのため、KB5008380 が疑われました。
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 更新のリスクを冒したくないので、DC から KB5007206 をアンインストールすると問題は解決しました。