Win2000優(yōu)化技巧篇之:網(wǎng)絡(luò)優(yōu)化技巧

字號(hào):

隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是Internet的不斷普及,如何防止信息不被非法截獲和破壞,即有效維護(hù)網(wǎng)絡(luò)信息的安全性,成為越來越多的人關(guān)注的焦點(diǎn)。作為新一代的操作系統(tǒng)的Windows
     2000,可通過多種技術(shù)和手段來控制用戶對(duì)資源的訪問,提高網(wǎng)絡(luò)的安全性,其中包括與活動(dòng)目錄(Active Directory)服務(wù)的集成、支持認(rèn)證Windows 2000用戶的Kerberos v5認(rèn)證協(xié)議、提供了公鑰基礎(chǔ)設(shè)施PKI支持,用公鑰證書對(duì)外部用戶進(jìn)行認(rèn)證、使用加密文件系統(tǒng)EFS(Encrypting File
     System)保護(hù)本地?cái)?shù)據(jù)以、使用Internet協(xié)議安全I(xiàn)PSec(Internet Protocol security)來保證通過公有網(wǎng)絡(luò)的通信的安全性,以及基于Windows 2000的安全應(yīng)用開發(fā)的可擴(kuò)展性等等。
     1 活動(dòng)目錄技術(shù)
    活動(dòng)目錄服務(wù)在Windows 2000信息安全和網(wǎng)絡(luò)安全中具有重要作用,它是關(guān)于用戶、硬件、應(yīng)用和網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)中心,也存儲(chǔ)用戶的認(rèn)證信息,以及用戶使用某一資源的授權(quán)信息等。活動(dòng)目錄與Windows
     2000的其他安全服務(wù)緊密集成,如Kerberos認(rèn)證協(xié)議、公鑰基礎(chǔ)設(shè)施PKI、加密文件系統(tǒng)EFS、安全設(shè)置管理器和組策略等。
    同Windows NT中的平面文件(flat-file)目錄不同,Windows 2000活動(dòng)目錄采用了代表商業(yè)企業(yè)組織結(jié)構(gòu)的分層目錄結(jié)構(gòu)來存儲(chǔ)信息,這樣可以簡(jiǎn)化管理,具有良好的可伸縮性。為了創(chuàng)建這種分層結(jié)構(gòu),同Windows采用文件和文件夾來組織本地資源的方法類似,活動(dòng)目錄使用域(domains)、組織單元OUs(Organizational Units)和對(duì)象來管理和使用網(wǎng)絡(luò)資源。
    一個(gè)域是網(wǎng)絡(luò)對(duì)象,包括組織單元、用戶賬號(hào)、組和計(jì)算機(jī)等的集合,它們共享一個(gè)公共目錄數(shù)據(jù)庫,并組成活動(dòng)目錄中邏輯結(jié)構(gòu)的核心單元。每個(gè)域中可能包含多個(gè)組織單元和用戶(對(duì)象),這樣更符合公司或企業(yè)的組織模式。
    大的企業(yè)或組織可能包含多個(gè)域,這種情況下的域分層就稱為域樹(Domain Tree)。創(chuàng)建的第一個(gè)域?yàn)楦╮oot)域,也稱為父域,在其下面創(chuàng)建的域?yàn)樽樱╟hild)域。為了支持更大的組織結(jié)構(gòu),多個(gè)域樹連接起來可以組成森林(forest),在這種情況下,需要使用多個(gè)域控制器,活動(dòng)目錄就可以定時(shí)在多個(gè)域控制器之間復(fù)制信息,從而保持目錄數(shù)據(jù)庫信息的同步。
    在域中,一個(gè)組織單元OU是把對(duì)象組織成邏輯管理組的容器,其中包括一個(gè)或多個(gè)對(duì)象,如用戶賬號(hào)、組、計(jì)算機(jī)、打印機(jī)、應(yīng)用、文件共享或其他OU等。
    一個(gè)對(duì)象包括一個(gè)獨(dú)立個(gè)體,如特定的用戶、計(jì)算機(jī)或硬件信息(屬性),如一個(gè)用戶的屬性可能包括名字、電話號(hào)碼和電子郵件等;一個(gè)計(jì)算機(jī)對(duì)象的屬性可能包括計(jì)算機(jī)位置和指定哪些用戶或組能夠訪問該計(jì)算機(jī)資源的存取控制列表ACL(Access Control List)等。通過域和OU的組織形式,系統(tǒng)就可以以集合的形式來管理對(duì)象的安全性,如用戶組和計(jì)算機(jī)組等,而不需要對(duì)每個(gè)獨(dú)立的用戶和對(duì)象進(jìn)行配置。
    為了使用戶登錄一次而在整個(gè)網(wǎng)絡(luò)中使用資源,即單次登錄(single sign-on),Win2000支持域之間的信任關(guān)系。在域之間建立起相互認(rèn)證的邏輯關(guān)系,允許計(jì)算機(jī)和用戶只需在域樹(甚至森林)中的任何一個(gè)域中進(jìn)行身份認(rèn)證,然后就可以在整個(gè)網(wǎng)絡(luò)中使用經(jīng)過授權(quán)的資源。
     2 Kerberos認(rèn)證
     Kerberos認(rèn)證協(xié)議定義了客戶端和稱為密鑰分配中心KDC(Key Distribution Center)的認(rèn)證服務(wù)之間的安全交互過程。Windows2000在每一個(gè)域控制器中應(yīng)用KDC認(rèn)證服務(wù),其域同Kerberos中的realm功能類似,具體可參考RFC 1510協(xié)議。Windows2000中采用多種措施提供對(duì)Kerberos協(xié)議的支持:Kerberos客戶端使用基于SSPI的Windows2000安全提供者,初始Kerberos認(rèn)證同WinLogon的單次登錄進(jìn)行了集成,而Kerberos KDC也同運(yùn)行在域控制器中的安全服務(wù)進(jìn)行了集成,并使用活動(dòng)目錄作為用戶和組的賬號(hào)數(shù)據(jù)庫。
     Kerberos是基于共享密鑰的認(rèn)證協(xié)議,用戶和密鑰分配中心KDC都知道用戶的口令,或從口令中單向產(chǎn)生的密鑰,并定義了一套客戶端、KDC和服務(wù)器之間獲取和使用Kerberos票據(jù)的交換協(xié)議。當(dāng)用戶初始化Windows登錄時(shí),Kerberos SSP利用基于用戶口令的加密散列獲取一個(gè)初始Kerberos票據(jù)TGT,Windows2000把TGT存儲(chǔ)在與用戶的登錄上下文相關(guān)的工作站的票據(jù)緩存中。當(dāng)客戶端想要使用網(wǎng)絡(luò)服務(wù)時(shí),Kerberos首先檢查票據(jù)緩存中是否有該服務(wù)器的有效會(huì)話票據(jù)。如果沒有,則向KDC發(fā)送TGT來請(qǐng)求一個(gè)會(huì)話票據(jù),以請(qǐng)求服務(wù)器提供服務(wù)。
    請(qǐng)求的會(huì)話票據(jù)也會(huì)存儲(chǔ)在票據(jù)緩存中,以用于后續(xù)對(duì)同一個(gè)服務(wù)器的連接,直到票據(jù)超期為止。票據(jù)的有效期由域安全策略來規(guī)定,一般為8個(gè)小時(shí)。如果在會(huì)話過程中票據(jù)超期,
     Kerberos SSP將返回一個(gè)響應(yīng)的錯(cuò)誤值,允許客戶端和服務(wù)器刷新票據(jù),產(chǎn)生一個(gè)新的會(huì)話密鑰,并恢復(fù)連接。
    使用Kerberos認(rèn)證協(xié)議的客戶端、KDC和應(yīng)用服務(wù)器之間的關(guān)系:
    在初始連接消息中,Kerberos把會(huì)話票據(jù)提交給遠(yuǎn)程服務(wù),會(huì)話票據(jù)中的一部分使用了服務(wù)和KDC共享的密鑰進(jìn)行了加密。因?yàn)榉?wù)器端的Kerberos有服務(wù)器密鑰的緩存拷貝,所以,服務(wù)器不需要到KDC進(jìn)行認(rèn)證,而直接可以通過驗(yàn)證會(huì)話票據(jù)來認(rèn)證客戶端。在服務(wù)器端,采用Kerberos認(rèn)證系統(tǒng)的會(huì)話建立速度要比NTLM認(rèn)證快得多,因?yàn)槭褂肗TLM,服務(wù)器獲取用戶的信任書以后,還要與域控制器建立連接,來對(duì)用戶進(jìn)行重新認(rèn)證。
     Kerberos會(huì)話票據(jù)中包含有一個(gè)的、由KDC創(chuàng)建的、用于客戶端和服務(wù)器之間傳輸數(shù)據(jù)和認(rèn)證信息加密的會(huì)話密鑰。在Kerberos模型中,KDC是作為產(chǎn)生會(huì)話密鑰的可信第三方而存在的,這種形式更適合于分布式計(jì)算環(huán)境下的認(rèn)證服務(wù)。
     Kerberos作為基本的Windows 2000認(rèn)證協(xié)議,與Windows2000認(rèn)證和存取控制安全框架進(jìn)行了緊密整合。初始的Windows域登錄由WinLogon提供,它使用Kerberos安全提供者(security provider)來獲取一個(gè)初始的Kerberos票據(jù)。操作系統(tǒng)的其他組件,如轉(zhuǎn)向器(ReDirector)則使用安全提供者的SSPI接口來獲取一個(gè)會(huì)話票據(jù),以連接對(duì)遠(yuǎn)程文件存取的SMB服務(wù)器。
     Kerberos V5協(xié)議在會(huì)話票據(jù)中定義了一個(gè)攜帶授權(quán)數(shù)據(jù)的加密域,該域的使用留給了應(yīng)用開發(fā),而Windows2000則使用Kerberos票據(jù)中的授權(quán)數(shù)據(jù)來附帶代表用戶和組成員的Windows安全I(xiàn)D。在服務(wù)器端的Kerberos安全提供者則使用授權(quán)數(shù)據(jù)來建立代表用戶的一個(gè)Windows安全存取控制令牌,可以模擬客戶端來請(qǐng)求提供相應(yīng)服務(wù)。
     Windows2000中應(yīng)用了Kerberos協(xié)議的擴(kuò)展,除共享密鑰外,還支持基于公/私鑰對(duì)的身份認(rèn)證機(jī)制。Kerberos公鑰認(rèn)證的擴(kuò)展允許客戶端在請(qǐng)求一個(gè)初始TGT時(shí)使用私鑰,而KDC則使用公鑰來驗(yàn)證請(qǐng)求,該公鑰是從存儲(chǔ)在活動(dòng)目錄中用戶對(duì)象的X.509證書中獲取的。用戶的證書可以由權(quán)威的第三方,如VeriSign和Digital IDs等來發(fā)放,也可以由Windows2000中的微軟證書服務(wù)器來產(chǎn)生。初始認(rèn)證以后,就可以使用標(biāo)準(zhǔn)的Kerberos來獲取會(huì)話票據(jù),并連接到相應(yīng)的網(wǎng)絡(luò)服務(wù)。
    通過對(duì)Kerberos協(xié)議進(jìn)行公鑰擴(kuò)展,可以使用戶采用多種方式來登錄工作站和網(wǎng)絡(luò),如采用智能卡技術(shù)。智能卡中一般存儲(chǔ)有用戶的私鑰,可用于Kerberos的初始化認(rèn)證處理。
    目前,使用公鑰技術(shù)來擴(kuò)展Kerberos協(xié)議的計(jì)劃和建議已經(jīng)提交到IETF來進(jìn)行標(biāo)準(zhǔn)化推廣。