非淡泊无以明志,非宁静无以致远 -心静如止水,动于静

Windows登錄過程淺析

  做MOSS項目的過程中,感覺MOSS的根基是AD,這几天也在網上看了一些文章,關于AD,ADAM有一些了解,但并不理解其原理。

  今天在看AD的原理的時候,順便稍微研究了一下Windows登錄的過程,現總結如下:

      1. Windows啟動的時候用LSA(Local Security Authority)將SSP(Security Support Provider)調入內存,以例根據不同的設定使用不同的SSP進行身份驗証。Windows2000以上缺少的是Kerberos, 也附帶了其它的SSP,Negotiate (SPNEGO), Kerberos, NTLM, Schannel, and Digest。因此你可以寫一個自己的SSP,讓Windows的LSA調用,但你的SSP必須符合SSPI協議。看下圖:

   2. 如果用戶登錄的是Domain, 必须先通过DNS定位KDC,然后使用Kerberos验证协议。这2步是必须的。DNS使用的是TCP和UDP的53端口,Kerberos使用的是TCP和UDP的88端口。可以看到,登录使用的协议是Kerberos V5,端口是TCP和UDP的53和88。

         3. 如果用戶登錄的是本機,則用的SSP是NTLM

          以下登錄過程請參見:http://technet.microsoft.com/en-us/library/cc772815.aspx

         4. 登錄成功后,并沒有任何權限,對于本機也是一樣,這時系統會向TGS發送請求。將本身的Tikect及Autheticator和所要方問的Server名稱附帶上去。

    5. TGS得到請求后驗証請求者身份(用Ticket),如果合法,則返回一個TGT給客戶端

    6. 客戶收到后,將些TGT及一個新的Authenticator發送給真正的服務器和服務獲得服務。

         當然在這之前, Windows要從網絡上獲得IP,怎樣獲得呢?是發送DHCP Discovery廣播,里面附帶有本機的MAC,DHCP得到后返回一個IP給客戶端,客戶端再發送廣播詢問網絡上是否有相同IP,如果有,則放棄,再請求新的IP。如果在子網內沒有DHCP,一般是設計DHCP Proxy來作為Router獲取。DHCP返回的信息不僅僅是IP,還是Router, Wins, Subnet, DNS等信息給客戶端。

posted @ 2009-02-03 17:56  烟雨客  阅读(457)  评论(0编辑  收藏  举报