張俊賢,單蓉勝
網(wǎng)絡(luò)準入控制,也稱為網(wǎng)絡(luò)接入控制,是一種日趨流行的內(nèi)網(wǎng)管理手段。它代表了主機從物理接入內(nèi)網(wǎng)網(wǎng)絡(luò),到實際獲得網(wǎng)絡(luò)資源訪問權(quán)力之間,所發(fā)生的認證、檢驗、評估、策略與控制實施等一系列過程。除了認證所需的用戶信息和主機信息之外,典型的網(wǎng)絡(luò)準入控制系統(tǒng),利用主機客戶端收集包括系統(tǒng)版本與補丁列表、殺毒軟件名稱與病毒庫版本、防火墻軟件名稱和防間諜軟件名稱這4類信息,這些信息被用來評價主機的安全程度是否與將要訪問的網(wǎng)絡(luò)資源匹配,確保網(wǎng)絡(luò)中的主機均達到一定程度的安全水平。
網(wǎng)絡(luò)準入控制系統(tǒng)要求有個集中的數(shù)據(jù)存儲、策略設(shè)置與判斷的中心,為每個客戶主機完成準入控制流程。為網(wǎng)絡(luò)準入控制系統(tǒng)設(shè)立一臺服務(wù)器是很自然地想法,但當網(wǎng)絡(luò)環(huán)境逐漸擴大,出現(xiàn)多個站點的情況后,各個站點中的準入控制服務(wù)器之間如何協(xié)調(diào),跨站點登錄用戶如何認證,都將成為影響網(wǎng)絡(luò)準入控制系統(tǒng)在數(shù)據(jù)存儲設(shè)計上所必須考慮的問題。
基于域活動目錄的準入控制系統(tǒng),將活動目錄作為數(shù)據(jù)存儲的地點,利用活動目錄站點間復(fù)制機制實現(xiàn)同步,利用域信任模型實現(xiàn)跨站用戶的認證,對于已經(jīng)組建 Windows域環(huán)境的網(wǎng)絡(luò)來說,增加的只有軟件成本,對于尚未建立域的環(huán)境來說,也可以作為過渡的開始。
相對于域的資源訪問控制手段,本系統(tǒng)從 VMPS協(xié)議入手,以VLAN劃分的手段,隔離認證主機與未認證主機,合格主機與不合格主機,以更徹底的方式,將這些主機隔離并分類管理。
本文所設(shè)計的網(wǎng)絡(luò)準入控制系統(tǒng),由位于主機的客戶端程序、集成域控制器的管理平臺以及位于活動目錄中的應(yīng)用目錄分區(qū)3部分組成。
這3個部分中,客戶端程序負責收集用戶信息與主機信息,用戶信息將被提交給域控制器進行驗證。當通過域身份驗證后,客戶端將主機信息作為屬性,寫入AD的應(yīng)用目錄分區(qū)(Application Directory Partition)中對應(yīng)該主機的對象中,并告知當前站點的管理平臺。
圖1 基于域活動目錄的網(wǎng)絡(luò)準入控制系統(tǒng)框架圖
系統(tǒng)對于主機狀態(tài)信息的存儲,利用活動目錄應(yīng)用目錄分區(qū),在創(chuàng)建的應(yīng)用目錄分區(qū)下,主要存儲3方面的對象:對應(yīng)每個主機的主機對象、對應(yīng)各安全等級所要應(yīng)用的安全策略對象以及對應(yīng)各個站點網(wǎng)絡(luò)環(huán)境設(shè)置的站點對象,這些對象通過 DFS以及活動目錄復(fù)制機制,實現(xiàn)多站點間的同步更新,使得位于各處主機上的客戶端或者管理平臺,能夠使用統(tǒng)一的LDAP和ADSI接口訪問這些數(shù)據(jù)。此外對于沒有啟用域的內(nèi)網(wǎng)環(huán)境,通過導(dǎo)入帳戶信息,結(jié)合客戶端程序也能實現(xiàn)基于域的身份驗證。
在本系統(tǒng)框架設(shè)計中,當所轄站點中某臺主機客戶端完成信息收集后,將主動告知管理平臺。管理平臺檢索對應(yīng)主機對象,根據(jù)屬性確定其安全等級,并根據(jù)安全等級查找預(yù)設(shè)的安全策略對象,確定該主機的限制措施。同時,管理平臺定時檢索現(xiàn)有主機對象,清除過期對象。在本系統(tǒng)中,針對主機隔離,管理平臺通過 VMPS管理模塊,配置管理平臺所在域控制器為本地 VMPS服務(wù)器,根據(jù)主機對象屬性建立MAC-VLAN映射表,控制各交換機(client)調(diào)整MAC與VLAN劃分關(guān)系,從而實現(xiàn)主機隔離。
對于一個新接入網(wǎng)絡(luò)的主機,其網(wǎng)絡(luò)準入控制流程具體來說包含以下5個步驟
1. 主機剛接入網(wǎng)絡(luò),此時活動目錄中尚未創(chuàng)建主機對象,管理平臺識別主機為未認證主機,將連接端口劃分到默認VLAN中。
2. 默認 VLAN中的主機,只能訪問域控制器和管理平臺,主機客戶端首先向域控制器提交用戶身份信息,進行域用戶身份驗證,若驗證失敗,則無法進一步訪問活動目錄,主機繼續(xù)處于默認 VLAN中,若通過驗證,則訪問站點對象,獲取當前網(wǎng)絡(luò)相關(guān)信息(管理平臺的IP地址等信息),同時收集主機信息,并依照域用戶權(quán)限,于活動目錄中創(chuàng)建主機對象。完成后告知管理平臺。
3. 管理平臺收到客戶端消息,查找活動目錄中對應(yīng)主機對象,評估其安全等級,查找對應(yīng)的安全策略,并以此為其建立MAC-VLAN映射。對于合格主機,將被劃分到不受限制的VLAN中,對于不合格主機,劃分到隔離VLAN中。
4. 管理平臺定時檢索所有主機對象,刪除離線主機的主機對象,并調(diào)整該端口VLAN。
5. 對于不合格主機,當其配置發(fā)生變化,用戶重新使用客戶端創(chuàng)建新的主機對象接受管理平臺評估檢查。
從以上流程可以看出,管理平臺首先通過域用戶身份驗證,將主機分為認證與未認證主機,未認證主機直接被分配到隔離VLAN之中;對于已認證主機,再依據(jù)其主機信息,判斷為合格或不合格的主機,不合格主機同樣分配到隔離VLAN中。只有那些經(jīng)過認證,且主機信息合格的才被劃分到正常VLAN中,不受限制的訪問網(wǎng)絡(luò)。
VMPS即VLAN Management Policy Server--VLAN管理策略服務(wù)器,是一種基于源MAC地址,動態(tài)的為交換機端口上分配VLAN號的方法。
當啟動了 VMPS以后,VMPS服務(wù)器首先會從一個預(yù)先指定的TFTP服務(wù)器上下載MAC-VLAN映射數(shù)據(jù)庫,這個數(shù)據(jù)庫是一個預(yù)先寫好的文本文件,包含了MAC-VLAN映射表等信息。之后VMPS服務(wù)器打開一個UDP進程來監(jiān)聽從交換機發(fā)來的請求,并進行處理。當 VMPS接到從交換機發(fā)來的一個合法請求后,首先是查看數(shù)據(jù)庫中是否有該MAC-VLAN的映射記錄。如果查找到MAC-VLAN對應(yīng)項,則把對應(yīng)的VLAN號發(fā)給交換機,并激活交換機端口;如果沒有對應(yīng)項,VMPS有兩種處理方式:當VMPS處于非安全模式下,VMPS將發(fā)送fallback-VLAN(若有)給客戶端或“access-denied”訪問被拒絕的信息;當VMPS處于安全模式下,VMPS將發(fā)送“port-shutdown”端口關(guān)閉的信息,無論是否配置了fallback-VLAN。
圖2 管理平臺利用VMPS協(xié)議管理交換機VLAN劃分示意圖
在本系統(tǒng)中,管理平臺使用開源 OpenVMPS管理,OpenVMPS整合了作為服務(wù)器的交換機和作為數(shù)據(jù)庫的TFTP服務(wù)器,其管理模式如圖2所示,并提供命令行工具生成標準的VMPS配置文件,簡化了MAC-VLAN映射到VMPS配置文件的轉(zhuǎn)換過程。
此時在管理平臺看來,主機動態(tài) VLAN劃分與隔離的過程包含兩個流程:首先一臺主機接入到交換機,交換機檢測到其MAC地址和接入端口號,然后把自己的ip地址、端口號、接入主機的 MAC地址送至管理平臺的 OpenVMPS Daemon。OpenVMPS Daemon僅對管轄范圍內(nèi)的交換機進行動態(tài) VLAN劃分管理。這些配置有管理平臺在啟動時,從活動目錄站點對象讀取并初始化。對于未注冊交換機,OpenVMPS Daemon直接拒絕其請求。對于已注冊交換機,若 MAC地址不在本地映射表中,返回默認 VLAN(如VLAN0);若MAC地址存在于本地映射表中,則返回指定VLAN號給交換機。
當新主機通過域認證并完成主機檢查后,或管理平臺定時掃描主機對象,發(fā)現(xiàn)主機對象更新時,管理平臺將根據(jù)安全策略更新本地MAC-VLAN映射表,使得OpenVMPS服務(wù)器主動調(diào)整各個交換機上主機所連接端口的VLAN配置,從而實現(xiàn)動態(tài)的VLAN劃分與主機隔離。
實驗環(huán)境介紹:
一臺24口交換機,0-22端口為動態(tài)VLAN端口,可被配置為屬于VLAN0或VLAN1,其中VLAN0作為未認證與隔離主機網(wǎng)段,VLAN1作為正常主機網(wǎng)段,兩個VLAN均使用192.168.1.0/24的IP段,23端口靜態(tài)配置為VLAN1,連接應(yīng)用服務(wù)器, IP為192.168.1.10。劃分動態(tài)VLAN使用的VMPS服務(wù)器配置為192.168.0,1,使用Open模式,配置fallback-VLAN為VLAN0。
路由器與交換機以 Trunk模式連接,僅設(shè)置兩 VLAN到另一網(wǎng)段192.168.0.0/24的路由,確保兩VLAN中主機均能訪問IP地址為192.168.0.1的域控制器兼管理平臺,同時又不能互相訪問。
實驗前在域控制器中導(dǎo)入一些域用戶,實驗主機上的客戶端將使用這些帳戶完成認證過程。
圖3 實驗環(huán)境網(wǎng)絡(luò)拓撲圖
驗證過程:
實驗主機配置IP地址為192.168.1.5,當主機首次接入交換機時,此時應(yīng)用目錄分區(qū)NAC下沒有主機對象,管理平臺 MAC-VLAN映射表為空,實驗主機被分配到缺省VLAN0中,雖然看似與應(yīng)用服務(wù)器一個網(wǎng)段,但無法ping通應(yīng)用服務(wù)器。
通過運行客戶端程序,實驗主機向 192.168.0.1的域控制器發(fā)起 LDAP連接,使用域用戶密碼,訪問活動目錄,并在NAC分區(qū)下創(chuàng)建與域用戶同名的活動目錄動態(tài)對象,其屬性包含本機MAC,主機名,訪問時間,并告知管理平臺。同時客戶端程序作為daemon后臺運行,每隔5分鐘更新對應(yīng)對象的訪問時間屬性。
管理平臺程序監(jiān)聽自定義端口 8181,收到客戶端數(shù)據(jù)包,檢索NAC目錄分區(qū),發(fā)現(xiàn)新動態(tài)對象,檢索其屬性,根據(jù)MAC地址與訪問時間,確定為活躍的已認證主機,更新本地的MAC-VLAN映射表,調(diào)整交換機VLAN劃分,將主機所連接端口劃分到VLAN1。
VLAN調(diào)整完成后,實驗主機依然使用192.168.1.5,但此時與應(yīng)用服務(wù)器同屬VLAN1,實驗主機可訪問位于正常VLAN中的網(wǎng)絡(luò)資源。
當主機關(guān)機離線,因為一臺主機對應(yīng)一個活動目錄動態(tài)對象,在一定超時時間(較長,約30分鐘)過后沒有刷新將被域控制器自動刪除;同時管理平臺會每隔5到10分鐘檢查現(xiàn)有 MAC-VLAN映射表中的主機在活動目錄中對應(yīng)對象的訪問時間,淘汰對象缺失或長期未更新訪問時間的那些主機,刪除其MAC-VLAN映射,從而更新交換機VLAN劃分,關(guān)閉不被使用的端口。
本文詳細描述了基于 Windows域活動目錄的網(wǎng)絡(luò)準入控制系統(tǒng),該系統(tǒng)通過客戶端實現(xiàn)了與主機配置無關(guān)的域用戶認證和主機信息收集,通過動態(tài)VLAN劃分的方式,隔離了通過認證和未通過認證的主機,實現(xiàn)了內(nèi)網(wǎng)隔離控制功能,但還需要進一步擴展全面的主機信息收集和評估機制。此外在如何充分利用活動目錄以及客戶端程序?qū)崿F(xiàn)對于非域主機的策略管理、利用Windows Server系列服務(wù)器的遠程VPN服務(wù)實現(xiàn)遠程VPN接入用戶的認證與隔離等方面還需要進一步擴展,從而實現(xiàn)一個完整的網(wǎng)絡(luò)準入控制系統(tǒng)。
[1] 王國芬,李建華.用戶接入控制在網(wǎng)絡(luò)安全體系中的應(yīng)用[J] .網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2005,第3期:53-55.
[2] 周益軍,黃本雄.網(wǎng)絡(luò)端點接入控制的實現(xiàn)[J] .計算機技術(shù)與發(fā)展,2006,第16卷,第9期:227-230.
[3] 顧尚杰,薛質(zhì).計算機通信網(wǎng)基礎(chǔ)[M] .電子工業(yè)出版社.2000:31-333.
[4] 薛質(zhì),蘇波,李建華.信息安全技術(shù)基礎(chǔ)和安全策略[M] .北京:清華大學(xué)出版社,2007:4-1.
[5] Network Access Protection Platform Architecture[R] .Microsoft Corporation,2004.