iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Security

資安這條路:學習 Active Directory Security系列 第 8

AD Security - [Day8] 一起來學 AD 安全吧!:AD 驗證協定 Kerberos (2)

  • 分享至 

  • xImage
  •  

「打給賀,挖西飛飛,今天你要來點 Active Directory Security 嗎?」
以下將 Active Directory 簡稱為 AD

Kerberos 驗證步驟

  1. 使用者:輸入帳號 + 密碼 --進行驗證(利用 Challenge & Response) --> AS (驗證伺服器)
    (1) 密碼 -- 經過 hash function --> User secret Key
  2. 驗證伺服器驗證無誤:送出 加密 TGT + TGT Session Key --> 使用者
    (1) 利用自身密碼解出 TGT Session Key
    (2) TGT 會儲存在快取中(過期會向 KDC 請求新的 TGT)
  3. 使用者將目前的 TGT + 想存取的服務名稱 SPN 請求給 TGS
  4. TGS 送服務票證 (Service Ticket(為伺服器密鑰進行加密) ) + 使用者/伺服器工作階段金鑰 Session Key(利用使用者/TGS 工作階段加密) --> 服務票證為使用者給伺服器的票證
  5. 使用者將服務票證和驗證值 Authenticator(含使用者ID+時間戳)---> 服務伺服器(存取資源)
    • 伺服器利用自己金鑰解密取出服務票證 TGS 提供的 Client/SS session key 再解密驗證值( Authenticator )
  6. 伺服器對服務票證 + Authenticator 進行驗證無誤後,傳回使用者新的時間戳
  7. 使用者驗證新的時間戳,視為可信賴的伺服器,伺服器即可向客戶端提供請求的服務
  • AD domain 中的 domain Contoller 扮演 KDC 的角色

    • klist 指令可以查詢 TGT ST 資訊
  • Kerberos 優點

    • 開放標準
      • Kerberos v5
      • 規格 RFC 1510 + RFC 4120
    • 驗證效率快
      • 利用 Tickets 可再一定時間重複使用並在使用者端快取
    • 支援相互驗證 Mutual auth
      • 使用者端伺服器端可重複驗證
        • 可以避免 Session 劫持、中間人、Replay 攻擊
    • 密碼不會直接通過網路
    • 驗證代理能力
      • 使用者 a 可以傳遞 Tickets 給中繼機器,可從中繼機器中利用使用者 a 的 Tickets 向應用程式伺服器去驗證
  • Kerberos 缺點

    1. KDC 單點失敗 --> 表示 KDC 故障無法正常使用
      • 可使用多台 KDC 容錯
    2. Kerberos 需要所有時間同步
    3. Kerberos 驗證需要軟體跟應用程式都支援
    4. KDC 可能會遭受到暴破攻擊

上一篇
AD Security - [Day7] 一起來學 AD 安全吧!:AD 驗證協定 Kerberos (1)
下一篇
AD Security - [Day9] 一起來學 AD 安全吧!:RODC 唯讀網域控制站(1)
系列文
資安這條路:學習 Active Directory Security33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言