1. client 端將使用者帳戶密碼或 smart card 資訊送給 KDC (Key Distribution Center) 做身份驗證。
2. 身份驗證無誤後,KDC 會發給 client 一個 ticket-granting ticket (TGT),這個 TGT 主要是用來允許 client 端存取 DC 上的 ticket-granting service (TGS)。
3. client 端將 TGT 送給 TGS,由 TGS 發出 service ticket 給 client 端,這個 service ticket 主要是用來允許 client 端存取所需要的網路服務,裡面包含了使用者的識別資訊和服務的識別資訊。
4. client 將 service tocket 送給所要存取的伺服器上的服務,進行存取。
這個 TGT 的 life time 預設是 10 小時,可以透過 Group Policy 來設定 (小時):
Computer Configuration\Windows Settings\Security Settings\Account Policies\Kerberos Policy\Maximum lifetime for user ticket
TGT 的 renew 時間預設是 7 天一次,也可以透過 Group Policy 來設定 (天):
Computer Configuration\Windows Settings\Security Settings\Account
Policies\Kerberos Policy\Maximum lifetime for user ticket renewal
另外 service ticket 的 life time 預設是 10 小時,也可以透過 Group Policy 來設定 (分鐘):
Computer Configuration\Windows Settings\Security Settings\Account Policies\Kerberos Policy\Maximum lifetime for service ticket
這個值一定要小於等於 Maximum lifetime for user ticket 的值。
相關文章 :
session ticket 的檢驗
Kerberos 時間同步問題
作者: 巨匠電腦顧問講師 曹祖聖
●Kerberos 時間同步問題
大家一定都遇過一件事,那就是只要 client 只要時間和 DC (domain controller) 不一樣,那麼不管要做什麼事,只要是有關安全性的,例如登入、AD 系統管理、...等等,都會有問題,聖哥先談談為什麼會這樣。
因為如果時間不同步,那麼就可以使用 "replay attacks" 這種網路攻擊,例如我從網路上截取到對 AD 的管理
request,那麼我就可以重覆發送這個 request,因為這個 request 是合法且經過驗證無誤的,所以 DC
就必須處理,如此最少就可以癱瘓 DC,因此在 Kerberos V5 通訊協定定義中,就包含了 time stamps ,以避免
"replay attacks",就算 DC 收到兩個一模一樣的 request,但是從 time stamps 上就可以得知真假了。
不過 client 的時間往往無法非常精確的和 DC (是跟 PDC Emulator 做時間同步) 進行同步,尤其是網路不穩定時,為了解決這個問題,我們可以將可容許的時間誤差加大,設定方法:只要設定以下的 Group Policy 選項即可:
1.下達以下指令
net config server /hidden:yes --> 不廣播給 Backup Browsers
2.改 Registry
在 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters 下新增一個數值 (Value)
Value name: Hidden
Data type: REG_DWORD
Value data: 1