簡介
本檔案說明電腦存取限制(MAR)所發生的問題,並提供問題的解決方案。
必要條件
隨著個人自有裝置的成長,系統管理員應始終提供一種方法,將網路某些部分的訪問限制為僅訪問公司自有資產,這一點變得更為重要。本文檔中描述的問題涉及如何安全地辨識這些關注區域並對它們進行身份驗證,而不會中斷使用者連線。
需求
思科建議您瞭解802.1X,以便完全瞭解本檔案。本文檔假定讀者熟悉使用者802.1X身份驗證,並重點介紹與使用MAR(更常見的是電腦身份驗證)相關的問題和優勢。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
問題
MAR基本上嘗試解決大多數當前和流行的可擴展身份驗證協定(EAP)方法中固有的常見問題,即機器身份驗證和使用者身份驗證是獨立的、不相關的過程。
使用者驗證是802.1x驗證方法,大部分系統管理員都很熟悉。其理念是給每位使用者提供認證(使用者名稱/密碼),而認證集合代表一個實際人員(也可在數人之間共用)。因此,使用者可以使用這些憑證從網路中的任何位置登入。
電腦身份驗證在技術上相同,但通常不會提示使用者輸入憑證(或證書);電腦或電腦會自行輸入憑證。這要求電腦已儲存憑據。傳送的使用者名稱為host/<MyPCHostname>,前提是您的電腦已將<MyPCHostname>設定為主機名。換句話說,它會傳送主機/後跟主機名。
雖然與Microsoft Windows和Cisco Active Directory沒有直接關係,但如果電腦加入到Active Directory,由於電腦主機名增加到域資料庫,並且協商憑證(預設情況下每30天更新一次)並儲存在電腦上,則此過程更容易呈現。這表示機器驗證可以從任何型別的裝置進行,但是如果機器加入到Active Directory,且憑證對使用者保持隱藏狀態,則驗證會更容易且透明地呈現。
MAR解決方案
可以說,該解決方案用於思科訪問控制系統(ACS)或思科身份服務引擎(ISE)完成MAR,但在實施之前,需要考慮其優勢和缺點。如何實施這一點最好在ACS或ISE使用手冊中描述,因此本文檔簡單介紹了是否考慮它以及一些可能的障礙。
優點
MAR的發明是因為使用者和機器身份驗證是完全分開的。因此,RADIUS伺服器無法強制執行使用者必須從公司擁有的裝置登入的驗證。對於MAR,RADIUS伺服器(思科端上的ACS或ISE)對給定的使用者身份驗證強制在X小時(通常為8小時,但這是可配置的)內必須有一個有效的電腦身份驗證,該身份驗證在相同終端的使用者身份驗證之前。
因此,如果RADIUS伺服器知道電腦憑證,則電腦身份驗證成功。通常,如果電腦已加入域,並且RADIUS伺服器透過連線到域來驗證這一點。完全由網路管理員決定成功的電腦身份驗證是否提供對網路的完全訪問,或是否僅提供受限訪問;通常,這至少會打開客戶端與Active Directory之間的連線,以便客戶端可以執行諸如更新使用者密碼或下載組策略對象(GPO)之類的操作。
如果使用者身份驗證來自之前幾個小時內未進行電腦身份驗證的裝置,則會拒絕使用者,即使該使用者通常是有效的。
僅當身份驗證有效且從過去幾個小時內進行了電腦身份驗證的終端完成身份驗證時,才會向使用者授予完全訪問許可權。
缺點
本節介紹使用MAR的缺點。
MAR和Microsoft Windows請求方
MAR的理念是,為了讓使用者驗證成功,不僅使用者必須擁有有效的認證,而且必須從該使用者端記錄成功的機器驗證。如果有任何問題,使用者無法進行驗證。出現的問題是,此功能有時可能會無意中鎖定合法客戶端,從而強制客戶端重新啟動以重新獲得對網路的訪問。
Microsoft Windows只在啟動時(當出現登入螢幕時)執行電腦身份驗證;使用者輸入使用者憑證後,立即執行使用者身份驗證。此外,如果使用者登出(返回登入畫面),則會執行新的機器驗證。
以下範例案例說明MAR有時導致問題的原因:
使用者X用筆記型電腦工作了一整天,筆記型電腦透過無線連線連線。一天結束時,他乾脆關閉筆記型電腦並下班。這會使筆記型電腦進入休眠狀態。第二天,他回到辦公室,打開筆記型電腦。現在,他無法建立無線連線。
當Microsoft Windows休眠時,它會擷取系統目前狀態的快照,其中包括登入者的相關內容。一夜之間,使用者筆記型電腦的MAR快取專案就會過期,而且會被清除。但是,當筆記型電腦通電時,它不會執行電腦身份驗證。而是直接進入使用者身份驗證,因為休眠記錄的是這一點。解決此問題的唯一方法是將使用者註銷,或重新啟動他的電腦。
儘管MAR是一個很好的功能,但它有可能會造成網路中斷。在您瞭解MAR的運作方式之前,很難對這些中斷進行故障排除;當您實施MAR時,必須教導終端使用者如何正確關閉電腦,並在每天結束時從每台電腦上註銷。
MAR和各種RADIUS伺服器
網路中有數台RADIUS伺服器通常用於負載平衡和備援目的。但是,並非所有RADIUS伺服器都支援共用MAR會話快取。僅ACS 5.4及更高版本以及ISE 2.3及更高版本支援節點之間的MAR快取同步。在這些版本之前,不可能對一台ACS/ISE伺服器執行電腦身份驗證,也不能對另一台伺服器執行使用者身份驗證,因為它們彼此之間並不對應。
MAR與有線-無線交換
許多RADIUS伺服器的MAR快取依賴於MAC地址。它只是一個表,上面有筆記型電腦的MAC地址及其上次成功電腦身份驗證的時間戳。這樣,伺服器就可以知道客戶端在最近X小時內是否透過電腦身份驗證。
但是,如果您使用有線連線引導筆記型電腦(從而從有線MAC執行電腦身份驗證),然後在白天切換為無線連線會發生什麼情況?RADIUS伺服器沒有辦法將您的無線MAC位址與您的有線MAC位址建立關聯,並且知道您在過去X小時內已透過電腦驗證。唯一的方法是註銷並讓Microsoft Windows透過無線執行另一台電腦身份驗證。
解決方案
除許多其他功能外,Cisco AnyConnect還具有預配置配置檔案的優點,這些配置檔案可觸發電腦和使用者身份驗證。但是,遇到與Microsoft Windows請求方相同的限制,關於僅在註銷或重新引導時發生的電腦身份驗證。
此外,在AnyConnect版本3.1及更高版本中,可以透過EAP連結執行EAP-FAST。這基本上是一次身份驗證,您同時傳送兩對憑證,即電腦使用者名稱/口令和使用者使用者名稱/口令。因此,ISE可以更輕鬆地檢查兩者是否成功。由於不使用快取記憶體,也不需要擷取先前的作業階段,因此可提供更高的可靠性。
當PC啟動時,AnyConnect僅傳送電腦身份驗證,因為沒有可用的使用者資訊。但是,在使用者登入時,AnyConnect會同時傳送電腦和使用者憑證。 此外,如果您斷開連線或拔下/重新插上電纜,電腦和使用者憑證都會再次以單一EAP-FAST身份驗證傳送,這與沒有EAP鏈的AnyConnect的早期版本不同。
EAP-TEAP是長期的最佳解決方案,因為它專門用於支援這些型別的身份驗證,但截至目前,許多作業系統的本機請求方仍不支援EAP-TEAP