沒有哪個網絡是無懈可擊的:惡意軟件不斷潛入,無論是通過移動員工、訪客或者承包商的筆記本電腦,還是通過下載可疑內容的最終用戶。處或者桌面電腦上的反軟件有助于你控制計算機,但訪客和沒有得到管理的仍然問題重重。咱們還是實話實說吧:有時候,攻擊者就是比我們聰明。可不,連遵循最佳實踐的公司同樣遭到襲擊。
我們所指的不僅僅需要安全方面的最佳實踐。保護網絡遠離惡意主機最終是一項桌面管理功能。NAC的作用就是強制實施你的安全策略,提供一種執(zhí)行機制,有助于確保計算機配置合理。如果IT人員權衡了眾多因素,比如用戶是否登錄、他所用計算機的補丁級別;反惡意軟件或者桌面軟件是否安裝、運行、版本最新,就能確定要不要根據情況來限制對網絡資源的訪問。如果某主機沒有符合你定義的策略,就被引導到補救服務器,或者放到訪客虛擬(VLAN)上。
還記得Slammer病毒嗎?假若采取如下策略——一旦發(fā)現(xiàn)運行MSDE 2000的主機未打上補丁,就拒絕其訪問網絡,那么Slammer病毒帶來的可怕后果就會小得多。
雖然NAC大有希望,但它并非靈丹妙藥。解決Slammer病毒的是要么給易受攻擊的系統(tǒng)及時打上補丁,要么從網絡上移除訪問MSDE的權限。但如果你的NAC系統(tǒng)沒有檢查MSDE等應用系統(tǒng)及其補丁級別,就無法阻止易受攻擊的節(jié)點訪問網絡。
總體架構
所有NAC產品都有三個基本部分:訪問請求者(AR)、策略決策點(PDP)和策略執(zhí)行點(PEP)。請參閱下面的“總體NAC框架”圖。廠商們對這些部分使用各自的名稱,但我們使用可信計算組織(Trusted Computing Group)下屬可信網絡連接(Trusted Network Connect)工作組定義的術語,因為它們相當清楚。
框架總結
網絡準入控制
的網絡準入保護(NAP)
可信計算組織的可信網絡連接(TNC)
主機評估
思科可信代理( Trust Agent)將用于Longhorn之前的Windows和Vista以及Red Hat企業(yè)版3/4
微軟的NAP代理和802.1X請求者是Windows Longhorn和Vista的一個部分。其他廠商可以使用微軟的應用編程接口(API)來創(chuàng)建系統(tǒng)健康代理(SHA),并集成到NAP框架。該廠商負責SHA與NAP客戶端如何進行通信、傳送什么。舉例說,不需要自我評估和實時變更通知。
TNC規(guī)范可處理AR和PDP之間的通信,還能處理軟件與TNC AR如何通信。另一個系統(tǒng)負責進行評估。
驗證
證書和評估數(shù)據發(fā)送到訪問控制服務器(ACS)以便驗證。ACS把它們發(fā)送到微軟的網絡策略服務器。ACS根據來自網絡策略服務器(NPS)的響應來選擇策略。
NPS與外部策略服務器(如反病毒和補丁管理系統(tǒng))進行集成,評估主機的健康狀況。
TNC開發(fā)的協(xié)議和API指定了各組件如何通信。
執(zhí)行
思科硬件負責執(zhí)行訪問控制服務器發(fā)送的訪問策略。
允許或者拒絕主機訪問虛擬專有網(),或者與外部系統(tǒng)進行集成,可能同時會有隔離機制。
TNC開發(fā)的協(xié)議和API指定了各組件如何通信。
合作伙伴計劃
思科有龐大的合作伙伴計劃,許多知名的產品廠商參與其中。思科和微軟都聲稱,除了NAC/NAP計劃外,它們還將支持各自的合作伙伴計劃。微軟計劃讓合作伙伴遷移到Longhorn和Vista的新API。
微軟有龐大的合作伙伴計劃;與思科不同,它還拉攏了許多基礎設施廠商。微軟還似乎是思科和可信網絡連接工作組的強大合作伙伴。
規(guī)范現(xiàn)在可供下載。TCG的成員可以參與該工作組。微軟發(fā)布了面向TNC規(guī)范的健康狀況(Statement of Health)協(xié)議。
互操作性測試
思科的NAC計劃借助收購了KeyLabs的AppLabs進行互操作性測試。預計NAC合作伙伴會開發(fā)及測試各自的產品。
微軟還沒有互操作性測試計劃方面的打算。
TNC正在規(guī)劃將來的兼容計劃,但它在這個問題上卻保持了沉默。
PDP和PEP的單獨功能可包含在一臺服務器上,也可分散在多臺服務器之間,這取決于廠商的實施方案;不過一般而言,AR負責請求訪問,PDP負責指定策略,而PEP負責執(zhí)行策略。
AR是試圖訪問網絡的節(jié)點,它可以是由NAC系統(tǒng)管理的任何設備,包括工作站、服務器、打印機、照相機及具有IP功能的其他設備。 arm可能自行執(zhí)行主機評估,也有可能由另外某個系統(tǒng)來評估主機。不管在什么情況下,AR的評估結果發(fā)送到PDP。PDP是核心部分。根據AR的狀況和公司定義的策略,PDP確定應當授予哪種訪問權。在許多情況下,NAC產品管理系統(tǒng)可能充當PDP。PDP常常依賴后端系統(tǒng)(包括反病毒、補丁管理或者用戶目錄),以便幫助確定主機的條件。舉例說,反病毒軟件管理器會確定主機的反病毒軟件和特征版本是不是最新,然后通知PDP。
一旦PDP確定運用哪個策略,就會把訪問控制決策傳送給PEP以便執(zhí)行。PEP可能是網絡設備,比如、防火墻或者;可能是管理動態(tài)主機配置協(xié)議(DHCP)或者地址解析協(xié)議()的帶外設備;也可能是AR上的代理本身。
NAC的周期
主機試圖連接到具有NAC功能的網絡時,通常經歷三個階段:準入前后的評估、策略選擇和策略執(zhí)行。負責管理每個步驟的標準取決于貴公司的策略和NAC系統(tǒng)具有的功能。
你在選擇產品之前,要明確貴公司的目標到底是什么。舉例說,補丁或者反病毒軟件的特征過期多久后,主機再也不能訪問網絡?訪客主機的什么條件是可以接受的、從而授予訪問權?你是不是希望根據用戶ID來授予訪問權?
評估
NAC周期從評估開始,到評估結束。授予主機完全訪問網絡之前進行準入前評估。授予訪問權后,準入后評估能夠定期重新評估主機,確保它從來沒有構成威脅。主機評估可以收集一些信息,比如主機的、補丁級別、運行或者安裝的應用程序、安全狀況、系統(tǒng)配置、用戶登錄以及更多信息,然后傳送給PDP。收集哪些信息取決于你定義的策略和NAC產品具有的功能。
NAC評估方法:主機評估是確定主機狀態(tài)和它應該得到哪種訪問權的一個根本方面。以下是如今使用的一些常見評估方法。許多NAC廠商至少支持其中的兩種方法。
方法
工作原理
優(yōu)點
缺點
持久性代理
安裝后,執(zhí)行評估。代理可能是更大程序包(如桌面)的一部分,也可能是類似可信代理的代理者。
只要在計算機上安裝一次。一旦軟件安裝完畢,用戶根本不必再理會它。提供了深度檢測主機的功能。
不是所有系統(tǒng)、尤其是訪客系統(tǒng)都能安裝代理。代理需要合理的權限才能評估主機。代理必須支持你的所有操作系統(tǒng)和應用程序。
一次性代理
類似持久性代理,一次性代理用Java或者ActiveX等移動語言來編寫,下載后即可執(zhí)行。評估一般由代理來執(zhí)行,而不是卸載到其他源處。
可安裝到任何主機上,移動代碼更可能在多種操作系統(tǒng)上得到支持。這種代理通常很簡短,大小不到1MB,所以可以在慢速連接上傳送。
不是所有系統(tǒng)都支持移動代碼。用戶需要合適的許可權才可運行代碼;在Windows中,這往往是需要本地管理員或者高級用戶。
遠程過程調用(RPC)
網絡上的使用目標計算機上的RPC或者WMI來進行掃描。除了可以訪問主機外,服務器還需要主機的管理員證書才能進行掃描。
不需要安裝代理,卻仍有望比較深入地分析主機。
不是所有用戶都有本地管理員訪問權,而最小用戶權限概念會進一步限制這種訪問權。訪客很難得到支持。檢查也不如代理來得全面。
漏洞掃描
服務器對主機執(zhí)行漏洞評估掃描。反軟件掃描試圖識別操作系統(tǒng)、運行中的服務以及任何漏洞。
不需要安裝代理;而且常常不需要證書,從而使得掃描很簡單。提供了主機上攻擊點的詳細信息。
如果沒有管理員證書,有關主機的信息很有限。掃描要用很長時間,還有可能導致服務崩潰。主機防火墻會干擾掃描功能。誤報或者漏報是潛在問題。
被動監(jiān)控
不是評估主機的條件,而是監(jiān)控主機從而查找不良行為,比如掃描或者感染??梢詧?zhí)行檢測,并監(jiān)控驗證請求和響應。
可檢測惡意行為,不管主機的條件如何。被動監(jiān)控可能使用基于特征或者異常的檢測。提供了實時檢測不符合策略的活動的功能。
有關主機狀態(tài)的惟一數(shù)據就是傳回到網絡上的數(shù)據。操作系統(tǒng)和服務檢測可能不準確。需要了解網絡流量,而這很難實現(xiàn)。
評估可以使用持久安裝的代理,這在基于主機的NAC中很常見;更有可能使用一次性代理(dissolvable agent),之所以這么叫,是因為這種代理基于Java或者ActiveX;使用后就消失。一次性代理有時又叫無代理NAC,不過這種方法實際上需要使用下載及安裝到主機計算機上的代理。
問題在于,Windows、 X和中的安全模型往往需要代理(持久性代理或者一次性代理)擁有本地管理員權限才可以運行。對不允許筆記本電腦和桌面電腦以本地管理員權限來運行(明智做法)的公司而言,這就成了問題。在有些情況下,代理在第一次安裝時才可能需要管理員權限;這讓IT人員得以避開這個局限性。
但如果你無法把代理安裝到系統(tǒng)上,那該如何是好?這種情況下,就可以通過遠程掃描方法來進行無代理評估,比如運行漏洞掃描;或者使用遠程過程調用(RPC)或Windows管理工具(WMI)來查詢主機。另外,使用入侵檢測和網絡異常檢測技術的被動掃描會根據實際流量來尋找惡意主機。甚至可以這樣定義評估:迫使用戶簽署“可接受使用政策”,之后才授予網絡訪問權。
主機獲得訪問權后進行連接后評估。如果忽視了這一步,后果自負,這是由于主機的條件在處于連接時也會變化。蠕蟲可能被激活,或者惡意用戶可能開始攻擊。連接后評估可以在指定的一段時間后自動啟動;需要時由管理員來啟動;或者根據主機出現(xiàn)的變化來啟動,比如桌面防火墻或者反病毒軟件被禁用。新的評估與當前策略進行比較,然后采取規(guī)定的動作。連接后評估方面值得關注的是,有些產品使用被動網絡監(jiān)控,或者在NAC系統(tǒng)里面;或者與現(xiàn)有的入侵檢測或者網絡異常檢測系統(tǒng)進行集成,報告可疑活動。這些外部監(jiān)控系統(tǒng)可以報告網絡流量,還能檢測出基于主機的評估沒有發(fā)現(xiàn)的問題。
管理
又叫“ARP欺騙”或“中間人攻擊”管理。地址解析協(xié)議(ARP)用來告訴其他主機哪些IP地址分配給了某個地址。這種地址分配保存在每個主機上的ARP表,可動態(tài)更新。這種方法通過把ARP表連同不同的IP到MAC映射一起發(fā)送,以此管理主機的ARP表。
ARP可用于任何IP主機;始終不用對主機的配置進行任何改動,即可使用。
與DHCP管理很相似,靜態(tài)分配ARP表條目會使這種方法失效。另外,中旨在防止惡意ARP欺騙的新的安全功能可能會導致該方法不穩(wěn)定。
通配符DNS
ARP把IP地址映射成MAC地址。同樣,DNS把主機名稱映射成IP地址。通配符DNS利用IP地址來響應任何DNS查詢,實際上把主機重定向至特定的。
與DHCP和ARP管理一樣,這種方法可與使用DNS的任何主機協(xié)同工作。用戶最后常常出現(xiàn)在網頁上,他必須在此驗證身份或者接受協(xié)議。依賴這個事實:用戶最終會使用Web,因而被重定向至網頁。
與DHCP和ARP管理一樣,如果主機從來不使用DNS,那么這種方法就失效。另外,計算機也會有靜態(tài)的主機條目。
“圍墻花園”
“圍墻花園”迫使用戶進入到專有網絡上,那樣他們就能訪問有限的資源,比如接受協(xié)議、更新系統(tǒng)及執(zhí)行其他功能的網頁。一旦主機獲得通過,就允許他們連接到另一個網絡上。
如果主機被拒絕訪問網絡,它們如何得到更新?“圍墻花園”常常結合另一種執(zhí)行方法使用。
你不得不維護“圍墻花園”里面的更新服務器及其他設備。
嵌入式阻塞
嵌入式阻塞類似網絡,只不過訪問控制是針對每臺主機,而且動態(tài)分配。另外,嵌入式系統(tǒng)可以監(jiān)控網絡流量,并對惡意活動采取行動。
嵌入式阻塞的粒度一般相當細,因為可以控制端口;在某些情況下,甚至還可以控制流量有效載荷。其他方法主要單單基于主機。
嵌入式阻塞常常出現(xiàn)在交換層之間,這意味著惡意主機有可能攻擊能訪問得到的其他主機,而不必透過嵌入式設備。必須在每個阻塞點部署嵌入式設備。
TCP重置/ICMP消息
NAC系統(tǒng)可以通過向客戶機和服務器發(fā)送TCP重置命令,來終止TCP連接。一旦主機接到TCP重置命令,TCP連接就被關閉??墒褂肐CMP消息來管理非TCP協(xié)議。
類似其他被動執(zhí)行方法,TCP重置可與具有TCP功能的任何計算機協(xié)同工作,可透過任何防火墻或者安全。非TCP協(xié)議使用ICMP消息,但不能保證兩邊的主機都認可ICMP消息。
非TCP協(xié)議很難得到支持。使用UDP的單一數(shù)據包攻擊如SQL Slammer完全可以長驅直入。
補丁、更新及配置變更
也結合其他執(zhí)行方法使用,可以自動或者人工給主機打補丁,從而使它符合策略、準備重新評估。
對公司擁有的計算機而言,這是很好的措施,可確保主機得到更新及合理配置。
你不能總是迫使外部用戶(如承包商)更新他們的計算機或者安裝軟件。另外,網絡訪問之前迫使進行更新會影響工作效率。
執(zhí)行方面比較棘手的是處理異常情況。無法使用任何一種定義的方法來評估的主機仍需要某種執(zhí)行。想想在網絡上無法安裝軟件上去的所有設備,從打印機、網絡攝像頭、電話到應用設備,等等。惟一的執(zhí)行方法通常是把這些設備的MAC地址加入白名單。不過,因為MAC地址容易受到欺騙,應當把基于MAC的安全功能實施到訪問交換機上,以便防止這些攻擊,或者至少降低這種攻擊的可能性。
部署方式
NAC系統(tǒng)添加到網絡上有四種基本方式,各有其優(yōu)缺點。許多NAC產品提供不止一種的部署方式。
帶內NAC把設備插入到網絡連接上,通常介于訪問交換機和分布交換機之間。確定把設備放在何處時,別忘了這點:離主機越遠,被攻擊者盯上的潛在目標就越多。
帶內NAC產品可以封阻流量,就像網絡防火墻那樣,但它的訪問控制列表(ACL)卻是針對每臺主機定制的。還提供其他執(zhí)行方法,如VLAN轉向。帶內NAC的優(yōu)點在于,如果沒法其他執(zhí)行方法可以使用,嵌入式封阻仍是一種選擇。缺點在于,增加了另一個潛在的故障點(確定設備是不是沒有開啟或者關閉),每個執(zhí)行點都需要這樣一個設備。
帶外NAC比帶內NAC更常使用,它包括屬于PDP、但使用其他方法(如802.1X、DHCP和ARP管理或者VLAN轉向)來執(zhí)行策略的產品。一旦主機訪問網絡,NAC產品就會干預,執(zhí)行某種評估,然后在適當時候授予訪問權。帶外NAC的優(yōu)點在于,對網絡性能影響很小;所需的設備也比較少。帶外NAC的效果取決于發(fā)現(xiàn)及執(zhí)行機制。舉例說,如果主機有靜態(tài)IP地址,很容易繞過DHCP控制機制。
基于交換機的NAC類似帶內NAC,但不是在訪問交換機和分布交換機之間進行執(zhí)行,而在交換機本身上面執(zhí)行。基于交換機的NAC與單單使用802.1X來控制端口有何區(qū)別?基于交換機的NAC產品不需要802.1X就能與訪問請求者進行通信。
一旦主機請求訪問,就使用代理或者無代理的掃描來進行評估,然后PDP為交換機端口設定策略。基于交換機的NAC產品還提供針對每個端口的內部檢測和異常檢測功能,所以不需要集成外部系統(tǒng)。與帶內NAC一樣,基于交換機的NAC也能把訪問控制應用于網絡應用端口,并且根據流量類型來應用。理想情況下,為了獲得粒度最細的控制,應當在端口層執(zhí)行NAC;所以如果你打算升級交換機,就要購買交換機的高級功能。
基于主機的NAC依賴已安裝的主機代理來評估及執(zhí)行訪問策略。已安裝的代理進行集中管理,訪問策略跟蹤主機,哪怕未連接網絡的時候。與基于網絡的執(zhí)行機制不同,基于主機的NAC不但能控制哪些流量進出網絡,還能控制哪些應用可以使用網絡。舉例說,工作站上的程序沒有理由連接到郵件端口上。主機代理的細粒度控制以及與用戶的有限交互是基于主機的NAC很吸引人的理由。當然,需要管理另一個,訪客和承包商訪問常常得不到很好的支持。另外,非Windows主機也未得到支持。