河南 許紅軍
在交換機(jī)中執(zhí)行“en”,“authentication display config-mode”命令,如果顯示“Current configuration mode is legacy”行,說明處于傳統(tǒng)的配置模式。對(duì)于新版本的交換機(jī)來說,執(zhí)行“authentication display new-style”命令,會(huì)顯示新版命令格式的說明信息。注意,IBNS2.0 和之前的命令格式不兼容。如果切換到IBNS2.0 新版的命令環(huán)境,沒有執(zhí)行任何新的命令,是可以切換回老版命令環(huán)境中。
但如果執(zhí)行了新版本的命令,則無法切換回去。IBNS2.0 有很好的靈活性,而且也更加復(fù)雜。ISBN2.0策略結(jié)構(gòu)包括Control Policy、Event Type、Class(match criteria)和Action等部分。Control Policy 用來指定訂閱類型的Policy-Map,其中包含一些Event 事件,如會(huì)話開始,出現(xiàn)故障等。
在具體的Event 事件中包含一些Class,用來處理具體的情況,例如,找不到3A設(shè)備,3A 設(shè)備出現(xiàn)異常等。針對(duì)不同情況,執(zhí)行對(duì)應(yīng)的Action,例如,當(dāng)找不到3A設(shè)備的話,就禁用Dot1X,推送合適的Service-Template等。
這其實(shí)類似于老版本IBNS 中 的“authentication event server dead action authorize vlan 100”之類的語句,即如果認(rèn)證出現(xiàn)問題,則給客戶端設(shè)備授權(quán)指定的VLAN。
本例中使用某款思科交換機(jī),在其GigabitEthernet 1/0/22 接口連接了一部電話語音設(shè)備,在該設(shè)備上串接了一臺(tái)客戶PC,分別屬 于VLAN10 和VLAN 20,VLAN 10 為Voice VLAN,IP范圍為192.168.10.0/24。VLAN 20 的IP 范圍為192.168.20.0/24。
電話語音設(shè)備只需配置MAB 認(rèn)證,客戶端PC 主要配置DOTX 認(rèn) 證。在GigabitEthernet 1/0/20 接口下連接了ISE 和DC 主機(jī),ISE 作為3A 認(rèn)證設(shè)備。該接口隸屬于VLAN100,IP 范圍為192.168.1.0/24,其中DC域控主機(jī)安裝了DHCP 服務(wù),用來為上述VLAN 分配地址。
例如,執(zhí)行“interface GigabitEthernet1/0/20”,“switchport access vlan 100”,“switchport mode access”,“spanning-tree portfast”命令,配置Vlan100,執(zhí)行“interface vlan 100”,“ip address 192.168.1.254 255.255.255.0”命令,配置VLAN 的SVI 地址。VLAN 10的SVI 為192.168.10.254,VLAN 20 的SVI 為192.168.20.254。在交換機(jī)中執(zhí)行“config t”命令,進(jìn)入全局配置模式,執(zhí)行“ip routing”命令,啟用路由功能,執(zhí)行“vtp mode transparent”命令,將VTP 設(shè)置為透明模式,使交換機(jī)不受VTP 影響。
執(zhí)行命令:
配置基本的AAA 認(rèn)證信息。其中的“192.168.1.101”為ISE 設(shè)備的管理IP,“xxx”為認(rèn)證密碼。
執(zhí)行命令:
設(shè)置SNMP 管理參數(shù)。其中 的“l(fā)tpgroup”為 組 名,“l(fā)tpuser”為用戶名,“xxx”和“yyy”為具體的密碼。
執(zhí)行命令:
啟用DOT1X 認(rèn)證、授權(quán)和審計(jì)功能。
執(zhí)行命令:
啟用CoA 功能。
CoA 主要用于設(shè)備識(shí)別和準(zhǔn)入控制之用。當(dāng)PC 等設(shè)備接入交換機(jī)后,會(huì)將其信息提交給AAA 服務(wù)器。如果AAA 服務(wù)器檢測(cè)到安全性無法滿足要求,就將其規(guī)劃到特殊的VLAN 中,該VLAN會(huì)受到嚴(yán)格的權(quán)限控制。當(dāng)該機(jī)滿足了安全性要求,AAA服務(wù)器就可以將其指派到合法的VLAN 中。于是,通過Radius 主要推送相關(guān)的授權(quán)信息給交換機(jī),來實(shí)現(xiàn)上述要求,執(zhí)行“dot1x systemauth-control”命令,全局啟用Dot1X 認(rèn)證功能,執(zhí)行“device-sensor notify all-changes”命令,啟用Radius 設(shè)備識(shí)別功能。
執(zhí)行“class-map type control subscriber matchall DONT-Find-AAA”命令,創(chuàng)建一個(gè)名為“DONT-Find-AAA”的Class-map 訂閱者,用來指定匹配的條件。在出現(xiàn)的提示欄中輸入“yes”,切換到新的命令格式,當(dāng)切換之后是無法切換回IBNS 1.0等舊版本格式的。
執(zhí)行“match method dot1x”,“match resulttype method dot1x aaatimeout”,“exit”命令,創(chuàng)建兩個(gè)匹配條件,即啟用了Dot1X,并且無法找到3A 設(shè)備。滿足了以上聊個(gè)條件后,才觸發(fā)指定的動(dòng)作。
執(zhí)行“class-map type control subscriber matchall DEV-NOT-AAA”命令,創(chuàng)建一個(gè)名為“DEV-NOTAAA”的Class-map 訂閱者,用來指定匹配的條件。執(zhí)行“match method dot1x”,“match result-type method dot1x agent-not-found”,“exit”命令,創(chuàng)建兩個(gè)匹配條件,即啟用了Dot1X,并且連接的設(shè)備無法響應(yīng)交換機(jī)發(fā)出的Dot1X 認(rèn)證的要求,即無法發(fā)現(xiàn)需要進(jìn)行認(rèn)證的客戶端設(shè)備。
當(dāng)然,這里僅僅是列舉簡(jiǎn)單的情況來說明處理的方法,實(shí)際情況可能要復(fù)雜得多,需根據(jù)具體情況加以處理。執(zhí)行“Service-template NOT-DOT1X-ACT”?!皏lan 30”命令,定義一個(gè)服務(wù)模版,用來在處理DOT1X 認(rèn)證失敗的情況,即將連接的設(shè)備指派到VLAN 30 中。當(dāng)然,該VLAN 需要在交換機(jī)上預(yù)先創(chuàng)建和配置好。
執(zhí)行“policy-map type control subscriber DefaultDot1xOpenAuth_Mab”命令,定義一個(gè)名為“DefaultDot1xOpenAuth_Mab”的Policy-Map。
執(zhí)行:event sessionstart match-all
定義一個(gè)會(huì)話開始事件,不管出現(xiàn)什么情況都需要執(zhí)行DOT1X 認(rèn)證,直到出現(xiàn)錯(cuò)誤為止,嘗試進(jìn)行認(rèn)證的次數(shù)為2 次,間隔為0 秒,如果成功的話,DOT1X 獲取的授權(quán)優(yōu)先級(jí)為10,優(yōu)先級(jí)數(shù)字越小等級(jí)越高。
執(zhí)行“event authentication -failure match-first”命令,定義一個(gè)處理認(rèn)證失敗的事件,執(zhí)行“10 class DONT-Find-AAA do-until-failure”,“10 terminate dot1x”,“20 activate servicestemplate NOT-DOT1X-ACT”命令,表示如果沒有出現(xiàn)沒有找到ISE 等3A 設(shè)備,就不進(jìn)行Dot1X 認(rèn)證,并將連接到交換機(jī)上的設(shè)備指派到VLAN 30 中。
執(zhí)行:20 class DEVNOT-AAA do-until-failure
表示當(dāng)出現(xiàn)連接的設(shè)備沒有響應(yīng)DOT1X 認(rèn)證要求的情況,則禁用DotX 認(rèn)證,并啟用MAB 認(rèn)證,將MAB 認(rèn)證的授權(quán)優(yōu)先級(jí)設(shè)置為20。
執(zhí)行:30 class always do-until-failure
表示當(dāng)出現(xiàn)其他失敗情況時(shí),禁止進(jìn)行Dot1X 和MAB認(rèn)證,等待60 秒后重新執(zhí)行以上處理步驟。
執(zhí)行“event agentfound match-all”命令,定義一個(gè)找到客戶端設(shè)備的事件,執(zhí)行:10 class always do-until-failure
表示執(zhí)行DOTX 認(rèn)證操作,并停止MAB 認(rèn)證,并進(jìn)行兩次Dot1X 認(rèn)證,間隔時(shí)間為0 秒,當(dāng)認(rèn)證完成后獲取的授權(quán)優(yōu)先級(jí)為10。
所謂MAB 認(rèn)證,即MAC 地址旁路認(rèn)證,也稱為靜態(tài)MAC認(rèn)證。
因?yàn)樵诰W(wǎng)絡(luò)中有些設(shè)備(例如語音電話、打印機(jī)、網(wǎng)絡(luò)攝像頭等)是無法進(jìn)行DotX 認(rèn)證的,但是這些較老的設(shè)備擁有MAC 地址,那么就可以將其擁有的MAC 地址作為賬戶名和密碼,提交給AAA 服務(wù)器進(jìn)行認(rèn)證處理。MAB 使用PAP/ASC Ⅱ或者可選的EAP-MD5 來進(jìn)行哈希處理得到密碼,所以Radius 包處于明文狀態(tài)。
當(dāng)然,使用基于MAC 地址進(jìn)行認(rèn)證的方法比較簡(jiǎn)單,其安全性也是比較差的,但對(duì)于老設(shè)備的認(rèn)證是很適用的。
另外,在很多情況下,需要同時(shí)進(jìn)行設(shè)備認(rèn)證和用戶認(rèn)證,來提高安全性。
對(duì)于設(shè)備認(rèn)證來說,使用的就是MAB 模式,而對(duì)于用戶認(rèn)證來說,使用的就是DotX 模式,即采用內(nèi)外雙層認(rèn)證格式。
對(duì)于外層的MAB 認(rèn)證來說,可以設(shè)計(jì)的比較寬泛,對(duì)于內(nèi)層的用戶認(rèn)證來說,可以設(shè)計(jì)的更加嚴(yán)格。
MAB 的優(yōu)點(diǎn)在于具有設(shè)備可見性,實(shí)現(xiàn)局域身份的服務(wù),易于在網(wǎng)絡(luò)便捷實(shí)現(xiàn)訪問控制,可以實(shí)現(xiàn)獨(dú)立或者輔助的認(rèn)證,實(shí)現(xiàn)很好的設(shè)備認(rèn)證功能。MAB 的缺點(diǎn)是必須得到MAC 地址數(shù)據(jù)庫的支持,認(rèn)證會(huì)出現(xiàn)延時(shí),無法實(shí)現(xiàn)用戶認(rèn)證,認(rèn)證的方式比較簡(jiǎn)單。
在沒有執(zhí)行MAB 認(rèn)證之前,所有終端設(shè)備的身份是未知的,并且所有的流量都被禁止。交換機(jī)通過檢查數(shù)據(jù)包,來學(xué)習(xí)和認(rèn)證源MAC地址。
當(dāng)MAC 地址認(rèn)證通過后,AAA 服務(wù)器就識(shí)別了對(duì)應(yīng)的設(shè)備,就會(huì)允許所有來自該設(shè)備的所有流量,當(dāng)然也會(huì)被接口訪問控制列表或者DACL 所管控。
執(zhí)行“ip access-list extended ACL-DEFAULT”命令,創(chuàng)建名為“ACL-DEFAULT”的控制列表,放行基本流量。執(zhí)行“permit udp any eq bootpc any eq bootps”命令,放行DHCP 流量。執(zhí)行“permit udp any eq domain”命令,放行UDP 流量。執(zhí)行“permit icmp any any”命令,放行ICMP 流量。執(zhí)行“permit udp any any eq tftp”命令,放行TFTP 流量。
執(zhí)行“deny ip any any”命令,攔截其他類型的流量。執(zhí)行“ip accesslist extended WEBREDIRECT”,“deny udp any any eq domain”,“deny ip any host192.168.1.101”,“permit ip any any”命令,創(chuàng)建名為“WEB-REDIRECT”的控制列表,對(duì)于DNS 請(qǐng)求和去往ISE 設(shè)備的流量不進(jìn)行重定向處理,其余的流量需要進(jìn)行重定向,這主要用于Web 認(rèn)證操作。
為了提高認(rèn)證的靈活性,避免在不同接口下執(zhí)行重復(fù)的配置操作,可以創(chuàng)建合適的模版來進(jìn)行靈活配置。
執(zhí)行“template DefaultDot1xOpenAuth_Mab_Template”命令,創(chuàng)建指定名稱的模版。執(zhí)行“dot1x pae authenticator”命令,將交換機(jī)作為認(rèn)證者。
執(zhí)行:switchport access Vlan 20
執(zhí)行諸如設(shè)置接口的模式,啟用多域認(rèn)證,激活Dot1X認(rèn)證,并執(zhí)行周期性的認(rèn)證行為,調(diào)用上述Polcy-Map。
注意,默認(rèn)激活的是Open 認(rèn)證模式,即如果認(rèn)證失敗,可以通過指定的訪問控制列表放行基本流量。如果在其中添加了“accesssession closed”命令,那么表示使用的Close 認(rèn)證模式,該模式下必須進(jìn)行Dot1X或者M(jìn)AB 認(rèn)證。
所謂多域認(rèn)證模式,表示在該接口下可以連接一臺(tái)語音電話,該電話的專用接口連接PC 等設(shè)備,這樣就出現(xiàn)了語音VLAN 和數(shù)據(jù)VLAN 兩種域模式。電話設(shè)備和PC 都可以通過該端口進(jìn)行Dot1X 認(rèn)證,但只能支持一臺(tái)電話和一臺(tái)PC 進(jìn)行認(rèn)證。執(zhí)行“device-tracking policy IPDT”,“tracking enable”命令,創(chuàng)建 Device-Tracking 的Police,激活設(shè)備追蹤功能,之后便于在接口下進(jìn)行調(diào)用。
執(zhí)行:interface GigabitEthernet 1/0/22
在 GigabitEthernet 1/0/22 接口下執(zhí)行調(diào)用上述模版,禁用自動(dòng)宏操作,設(shè)置Dot1X 認(rèn)證的超時(shí)時(shí)間、嘗試次數(shù)、放行默認(rèn)流量等。
執(zhí)行“show authentication sessions interface g1/0/22 details”命令,顯示該接口下詳細(xì)的配置信息。當(dāng)然,還可以使用新的格式進(jìn)行查詢。例如,執(zhí)行“authentication display config-mode”命令,查看當(dāng)前交換機(jī)的模式信息。執(zhí)行“show access-session interface g1/0/2 2 detail”命令,查看指定端口的配置信息。執(zhí)行“clear access session nterface g1/0/22”命令,清空指定接口下的配置信息。
在上述客戶PC 上打開網(wǎng)絡(luò)連接窗口,雙擊對(duì)應(yīng)的網(wǎng)絡(luò)連接項(xiàng)目,在屬性窗口中選擇“身份驗(yàn)證”→“啟用IEEE 802.11X 身份驗(yàn)證”項(xiàng),點(diǎn)擊“確定”激活DotX 身份驗(yàn)證功能。在交換機(jī)上執(zhí)行“show access-session interfaceg 1/0/2 2 detail”命令,在返回信息中可查看到認(rèn)證用戶名、分配的地址、授權(quán)狀態(tài)、主機(jī)模式、匹配的ACL 等信息。在“Domain”欄中顯示“Data”,在“Vlan Group”欄中顯示“Vlan 10”,說明DOT1X 認(rèn)證沒有問題。
當(dāng)然,相關(guān)的認(rèn)證和授權(quán)信息已在ISE 設(shè)備上進(jìn)行了配置。當(dāng)執(zhí)行注銷操作但不登錄系統(tǒng)時(shí),再次在交換機(jī)上執(zhí)行上述命令,可在“User-Name”欄中顯示機(jī)器名稱,說明執(zhí)行的MAB 認(rèn)證,得到預(yù)設(shè)的的配置信息,同時(shí)連接在該接口上的電話語音設(shè)備也得到了合適的IP,匹配了預(yù)設(shè)的ACL,處于正常工作狀態(tài)。
上面是正常的認(rèn)證過程。如果在上述客戶PC 上取消DotX 認(rèn)證,重新插拔網(wǎng)線后,客戶機(jī)就不會(huì)響應(yīng)交換機(jī)發(fā)出的認(rèn)證要求,之后在交換機(jī)重新執(zhí)行以上命令,可以看到和電話語音設(shè)備相關(guān)的Voice VLan 沒有問題,電話語音設(shè)備得到正確的配置信息。客戶機(jī)則執(zhí)行的MAB 認(rèn)證,如果ISE 設(shè)備出現(xiàn)故障,無法處理外界的認(rèn)證請(qǐng)求,在交換機(jī)上再次執(zhí)行上述命令,無法執(zhí)行DotX 認(rèn)證,和設(shè)備關(guān)聯(lián)的g1/0/22 接口被指派到VLAN 30 中。