IEEE 802.1x協(xié)議主要用于封裝EAP的二層協(xié)議,EAP即拓展認(rèn)證協(xié)議,主要用來承載任意認(rèn)證信息,但是并不包含認(rèn)證方式自身,其可以直接運行在數(shù)據(jù)鏈路層之上,支持多種認(rèn)證類型。
EAP認(rèn)證種類常用的包括 EAP-MD5、EAP-TLS、EAPFAST和PEAP等類型。EAPMD5是一個IETF開放的標(biāo)準(zhǔn),比較容易部署,但其默認(rèn)并不支持Windows 7等較新的系統(tǒng),而且安全性并不高。因為其只是對用戶名和密碼進行MD5哈希計算,并且不提供雙向認(rèn)證和密鑰管理,所以并不適合在無線網(wǎng)絡(luò)環(huán)境下使用。
EAP-TLS是一個IETF開放的標(biāo)準(zhǔn),是最為安全但是實施最為復(fù)雜的EAP技術(shù),EAP-TLS提供了Per-Packet私密性和完整性來保護認(rèn)證信息的安全,支持標(biāo)準(zhǔn)的密鑰交換機制。
EAP-TLS使用X.509 PKI架構(gòu)提供802.1x的基于端口訪問的證書管理,實現(xiàn)EAP-TLS是比較復(fù)雜的,需要架設(shè)PKI并且要為每個客戶和服務(wù)器安裝證書。EAPTLS可以在客戶和認(rèn)證服務(wù)器之間協(xié)議一條TLS隧道,在其中進行相互的數(shù)字簽名和證書認(rèn)證。使用TLS證書的認(rèn)證的優(yōu)點包括證書有較長的有效期、可將證書和主機進行綁定、禁止導(dǎo)出私鑰等,使用起來很方便。
EAP-FAST是思科專有的技術(shù),主要針對LEAP的漏洞設(shè)計開發(fā),EAP-FAST同樣使用TLS隧道保護用戶個人信息的私密性和完整性。EAPFAST最大的特點是無需PKI為用戶提供證書來建立TLS隧道,PAC客戶機和服務(wù)器架構(gòu)基于一個強悍的共享密鑰,該密鑰對于每個客戶機都是唯一的,該密鑰稱為PAC保護的訪問信息,PAC文件其實就是一個簡化版的證書。
EAP-FAST通過PAC建立隧道明顯快于基于證書的方式。該密鑰可以自動的分發(fā)到客戶端,也可以手動離線的分發(fā)到客戶端。
在實際工作中使用最廣泛的是PEAP類型,PEAP是一個IETF開放的標(biāo)準(zhǔn),在建立TLS隧道時,只需要服務(wù)器端證書。即在RADIUS服務(wù)器端只需要安裝個人證書和證書服務(wù)器根證書,在客戶端只安裝證書服務(wù)器根證書,就可以實現(xiàn)基于域環(huán)境的單點登錄,PEAP不僅可以實現(xiàn)用戶認(rèn)證,還可以實現(xiàn)機器認(rèn)證。利用機器認(rèn)證,可以先行打開連接的交換機端口,為后續(xù)的用戶認(rèn)證創(chuàng)造條件。利用PEAP可以實現(xiàn)機器訪問控制功能,防止無關(guān)的電腦利用某個域賬戶所以登錄到網(wǎng)絡(luò)中,這可以進一步提高安全性。
這里使用ISE設(shè)備作為認(rèn)證服務(wù)器,使用某款思科交換機作為認(rèn)證者,服務(wù)器安裝的是Windows Server 2008 R2,所有的設(shè)備處于名為“xxx.com”的域中。因為EAP認(rèn)證需要使用到證書,至于如何在服務(wù)器上安裝配置CA證書,并且為ISE設(shè)備配置域證書,以及在客戶機上申請證書,具體方法比較簡單這里不再贅述。在某款思科交換機的FA 0/10接口下連接了一臺名為“Client1”的客戶機。
在交換機上執(zhí)行“inter fa0/10”,“switchport access vlan 20”、“switch mode access”、“ip access-group ACLDEFAULT in”、“authentication event fail actionnestmethod”、“authentication event server dead action authorize valn 30”、“authentication event server alive action reini tialize”、“authentication host-mode-auth”、“authentication open”、“authentication order mab dot1x”、“authentication priority dot1x mab”、“authentication port-control auto”、“authentication violation restrict”。“mab”、“dot1x pae authenticator”、“apanning-tree portfast”等命令,配置相應(yīng)的接口屬性,開啟端口Dot1x認(rèn)證功能。
在該客戶機上運行“services.msc”程 序,在服務(wù)管理器中雙擊“Wired AutoConfig”服務(wù)項,在其屬性窗口將其設(shè)置自動運行,點擊“啟動”按鈕,啟動該服務(wù)。打開本地連接屬性窗口,在“身份驗證”面板中選擇“Microsoft:受保護的EAP(PEAP)”項。點擊“設(shè)置”按鈕,在打開窗口中選擇“驗證服務(wù)器證書”項,在“受信任的根證書辦法機構(gòu)”列表中選擇所需的CA服務(wù)器。
這樣,客戶機就可以通過該服務(wù)器的根證書來驗證ISE證書的有效性。ISE通過用戶名和密碼來驗證客戶,也可以通過證書來驗證服務(wù)器。在“選擇身份驗證方法”列表中選擇“安全密碼(EAP-MSCHAP V2)”項,客戶就可以據(jù)此項服務(wù)器提交密碼信息。點擊“其他設(shè)置”按鈕,在高級設(shè)置窗口中選擇“指定身份驗證模式”項,在列表中選擇“用戶或計算機身份驗證”項,點擊確定按鈕保存配置信息。將該機連接到交換機的上述接口,執(zhí)行正常的登錄域操作。
因為使用的是域賬戶,所以在ISE管理界面中依次點擊菜單“Policy”、“Result”項,并在左側(cè)依次 點 擊“Authentication”、“Allowed Protocols”選項,然后在右側(cè)點擊“Add”按鈕,添加名為“proto1”的認(rèn)證協(xié)議,在其中只選擇“Allow PEAP”項。在左側(cè)依次點擊“Authorization”、“Authorization Profiles”項,在右側(cè)點擊“add”按鈕,添 加 名 為“Dot1xProfile”的授權(quán)項,選擇“DACL Name”項,并選擇合適的權(quán)限控制列表(例如允許訪問內(nèi)網(wǎng)資源等)。選擇“VLAN”項,設(shè)置合適的VLAN號。
點擊工具欄上的“Authentication”按鈕,然后點擊右上角的“Insert new row above”項,添 加名為“Dot1xrule”的認(rèn)證策略,為其選擇合適的條件,并選擇上述“proto1”協(xié)議,在認(rèn)證方法欄中的“Indentity Source”列 表中選擇和域相關(guān)的外部帳號數(shù)據(jù)。點擊工具欄上的“Authorization”按鈕,點擊右上角的“Edit”項。在彈出菜單中點擊“Insert New Rule Ablove”項,新建名為“DotPolicy1”的授權(quán)策略,并為其選擇合適的條件(例如“Wired_802.1X”,導(dǎo)入的AD賬戶組等),可以添加多個條件,彼此以AND或OR關(guān)聯(lián)。
注意,為了實現(xiàn)機器認(rèn)證,可以新建一個條件,在“Select Attribute”列表中選擇“WasMachineAuthenticated”項,并為其選擇“Equals”和“True”項。這樣,即使別人使用該域賬戶,以其他的電腦連接,就會被ISE拒絕。條件準(zhǔn)備好后,為其選中上述授權(quán)策略。這樣,當(dāng)客戶機連接上來后,就可以順利通過ISE的認(rèn)證策略,并獲得合適的的授權(quán)。至于如何創(chuàng)建條件和ACL列表,如何將AD賬戶信息導(dǎo)入ISE,方法很簡單,這里不再贅述。
依次點擊“Operations”、“Authentications”項,在報告窗口中可以看到該客戶機的域賬戶已經(jīng)通過ISE的認(rèn)證并獲得對應(yīng)的訪問權(quán)限。在交換機上執(zhí)行“show authentication sessions interface fa 0/10”命令,在返回信息中的“dot1x”欄中顯示“Authc Success”,說明已經(jīng)實現(xiàn)安全連接。然后執(zhí)行“show ip access-lists interface fa 0/10”命令,顯示其獲得的授權(quán)訪問列表。注意,在域控上需要事先創(chuàng)建了和ISE認(rèn)證相關(guān)的組,其中包含了上述賬戶和主機,這樣就可以同時實現(xiàn)基于機器的身份認(rèn)證。
在上述客戶機中打開本地網(wǎng)絡(luò)屬性窗口,在“身份驗證”面板中選擇“智能卡或其他證書”項,點擊“設(shè)置”按鈕,在打開窗口中的“受信任的根證書辦法機構(gòu)”欄中選擇域服務(wù)器頒發(fā)的證書。注意,這里需要使用到證書認(rèn)證,所以登錄到ISE管理界面,依次點擊菜 單“Administration”、“External Identity Spurce”項,在左側(cè)點擊“Cerificate Authentication Profile”項,在右側(cè)點擊“Add”按鈕,創(chuàng)建名為“zhengshu1”的項目,在“Principal Username X509 Attribute”欄中選擇“Common Name”項,表示將證書中通用名稱作為用戶名進行認(rèn)證。
選 擇“Perform Binary Certificate Comparison with Certificate retrieved from LDAP or Active Directory”選 項,在“LDAP/AD Instance Name”列表中選擇域名。這樣,可以將上述名稱發(fā)送到LADP/AD中查詢屬性信息,便于之后iuweiqi進行相應(yīng)的授權(quán)。點擊“Submit”按鈕保存設(shè)置。依次點擊菜單“Policy”、“Result”選項,然后在其左側(cè)依次點擊“Authentication”、“Allowed Protocols”選項,按照上述方法創(chuàng)建名為“Tlsproto”的認(rèn)證項,注意只選擇“Allow EAP-TLS”項。
之后點擊工具欄上的“Authentication”按鈕,并點擊右上角的“Insert new row above”項,按照上述方法添加名為“Tlsrule”的認(rèn)證策略,并選擇上述“Tlsproto”的認(rèn)證項。注意,在認(rèn)證方法欄中的“Indentity Source”列表中選擇上述“zhengshu1”的項目。這樣,當(dāng)該客戶機連接到上述交換機接口時就可以和ISE服務(wù)器進行通訊,實現(xiàn)基于EAP-TLS的認(rèn)證。在ISE和交換機上查看相關(guān)日志信息的方法與上述完全一致。注意,基于EAP-TLS的認(rèn)證也可以實現(xiàn)機器認(rèn)證。
使 用EAP-FAST認(rèn) 證,需要使用到PAC文件。也就是說,可以不使用用專門證書服務(wù)器,ISE就可以充當(dāng)類似的角色。ISE可以向客戶機發(fā)放PAC文件,該文件具有證書的功能。在ISE管理界面中依次點擊菜 單“Administration”、“Settings”項,在左側(cè)依次點擊“Protocols”、“EAP-FAST”、“Generate PAC”項,在右側(cè)選擇“Tunnel PAC”項,產(chǎn)生的PAC文件具有用戶證書的功能。選擇“Machine PAC”項,產(chǎn)生的PAC文件具有計算機證書的功能。
選擇前者,在“Identity”欄中輸入域賬戶名稱,在“Encryption Key”欄中輸入密碼,用于加密PAC文件。點擊“Generate PAC”按鈕,生成并下載PAC文件(例如“user1.pac”)。之后選擇“Machine PAC”項,依次輸入客戶機的名稱(注意其中不能包含特殊字符),密碼等信息,并保存生成的PAC文件(例如“client1.pac”)。
依次點擊菜單“Policy”、“Result”項,在左側(cè)點擊“Authentication”、“Allowed Protocols”項,按照上述方法創(chuàng)建名為“fastproto”的認(rèn)證項,注意只選擇“Allow EAP-FAST”項。點擊工具欄上 的“Authentication”按鈕,點擊右上角的“Insert new row above”項,按照上述方法添加名為“Fastrule”的認(rèn)證策略,并為選擇上述“Fastproto”的認(rèn)證項。注意,在認(rèn)證方法欄中的“Indentity Source”列表中選擇選擇和域相關(guān)的外部帳號數(shù)據(jù)。
將上述PAC文件復(fù)制到客戶機上,為了讓客戶機使用EAP-FAST認(rèn)證,需要安裝并運行名為“Cisco AnyConnect Profile Editor”的工具。在其主界面左側(cè)點擊“Authentication”項,在右側(cè)只選擇“EAP-FAST”項。在左側(cè)選擇“Network”項,刪除默認(rèn)的“wired”項目。點擊“Add”按鈕,輸入新的項目文件名稱(例如“Fastlink”),選 擇“In all groups”項,可以在任何環(huán)境使用該EAP-FAST連接。選擇“Wired Network”項,使用有線連接。點擊“Next”按鈕,選擇“Authentication Network”項,使用網(wǎng)絡(luò)認(rèn)證。之后在“下一步”窗口中 選 擇“Machine and User Connection”項,表示使用用戶和機器認(rèn)證。在“下一步”窗口中選擇“EAP-FAST”項,在“PAC files”欄中點擊“Add”按鈕,選擇上述“client.pac”文件,并輸入密碼,導(dǎo)入機器認(rèn)證PAC文件。
之后按照提示,選擇基于用戶認(rèn)證的EAP-FAST方式,導(dǎo)入上述用戶PAC文件。其默認(rèn)支持單點登錄,為了安全起見,可以選擇“Prompt for Credentials”和“Never Remember”項,每次登錄必須輸入賬戶名和密碼。之后依次點擊菜單“File”、“Save”項,將該Profile保存到AnyConnect 3.0的安裝目錄中的“profiles”目錄下的“nam”文件夾中,其名稱必須為“configuration.xml”。 雙 擊 nyConnect 3.0的安裝目錄中的“Setup.exe”文件,在安裝界面中只選 擇“AnyConnect Network Access Manager”項,點擊“Install Selected”按鈕,執(zhí)行安裝操作。之后重啟系統(tǒng),AnyConnect 3.0就會自動運行,在其運行界面中打開“登錄”窗口,輸入對應(yīng)的域賬戶名和密碼,就可以通過EAP-FAST來實現(xiàn)安全認(rèn)證了。