張 超,孫 皓,鹿文楊,李雄軍
(1.海裝裝備項(xiàng)目管理中心,北京 100071;2.中國電子科技集團(tuán)公司第三十研究所,四川 成都,610041)
電氣與電子工程協(xié)會(huì)(Institute of Electrical and Electronics Engineers,IEEE)在定義局域網(wǎng)(Local Area Network,LAN)規(guī)范的初期,并沒有提供“用戶聯(lián)網(wǎng)身份認(rèn)證”的安全機(jī)制[1],即只要終端設(shè)備通過物理鏈路與網(wǎng)絡(luò)設(shè)備的端口連接后,就可以訪問LAN 中的設(shè)備或資源[2-3]。隨著萬物互聯(lián)時(shí)代的到來,終端設(shè)備呈現(xiàn)出種類繁多、數(shù)量巨大、部署分散、安全屬性不統(tǒng)一等趨勢(shì),網(wǎng)絡(luò)提供給終端設(shè)備的服務(wù)也越來越多[4];但是一個(gè)安全的網(wǎng)絡(luò)必須提供安全的服務(wù),保證終端設(shè)備經(jīng)過許可并且用戶終端的訪問是經(jīng)過審計(jì)[5],即只有合法的終端設(shè)備才可以訪問提供的服務(wù)。因此,終端設(shè)備認(rèn)證是網(wǎng)絡(luò)安全服務(wù)的一個(gè)重要方面,是終端設(shè)備提供服務(wù)的前提[6]。
局域網(wǎng)介質(zhì)訪問控制(Media Access Control,MAC)地址認(rèn)證[7]是一種基于網(wǎng)絡(luò)設(shè)備端口和終端設(shè)備MAC 地址針對(duì)終端設(shè)備的網(wǎng)絡(luò)訪問權(quán)限進(jìn)行控制的認(rèn)證方法。網(wǎng)絡(luò)設(shè)備在啟動(dòng)MAC 認(rèn)證的端口上首次檢測(cè)到終端設(shè)備的MAC 地址后,啟動(dòng)對(duì)該終端設(shè)備用戶的認(rèn)證操作。認(rèn)證過程中,不需要用戶手動(dòng)輸入用戶名和密碼。
MAC 地址作為用戶名和密碼的方式,針對(duì)性更強(qiáng)、靈活性更高,更便于終端設(shè)備入網(wǎng)認(rèn)證管控,有MAC 地址作為用戶名和密碼以及固定用戶名和密碼兩種格式。MAC 地址作為用戶名和密碼是使用終端設(shè)備的MAC 地址作為認(rèn)證時(shí)的用戶名和密碼;固定用戶名和密碼就是不論終端設(shè)備的MAC 地址為何值,所有終端設(shè)備均使用在網(wǎng)絡(luò)設(shè)備上預(yù)先配置的本地用戶名和密碼進(jìn)行認(rèn)證。
MAC 認(rèn)證具有無需安裝任何形式的客戶端[8];終端設(shè)備無需輸入賬號(hào)和密碼,認(rèn)證觸發(fā)后自動(dòng)進(jìn)行;能夠?qū)Σ痪邆?02.1X 認(rèn)證[9]能力的終端設(shè)備進(jìn)行入網(wǎng)認(rèn)證,如打印機(jī)、傳真機(jī)等啞終端這3 個(gè)優(yōu)點(diǎn)。
MAC 認(rèn)證的主要缺點(diǎn)是安全性不高,且低于802.1X 安全性認(rèn)證標(biāo)準(zhǔn),其原因是終端設(shè)備的MAC 地址容易被仿冒[10]。鑒于MAC 認(rèn)證的以上特點(diǎn),MAC 認(rèn)證通常只用于網(wǎng)絡(luò)打印機(jī)、IP 電話、攝像頭等終端設(shè)備的入網(wǎng)認(rèn)證[11]。
綜上分析,本方案將以MAC 認(rèn)證為基礎(chǔ),使用終端設(shè)備的MAC 地址作為用戶名和密碼,設(shè)計(jì)一套重點(diǎn)針對(duì)網(wǎng)絡(luò)打印機(jī)、IP 電話、攝像頭等終端設(shè)備的網(wǎng)絡(luò)準(zhǔn)入控制系統(tǒng),通過設(shè)計(jì)系統(tǒng)自身的工作機(jī)制,進(jìn)一步提升安全性。
基于MAC 認(rèn)證的終端設(shè)備網(wǎng)絡(luò)準(zhǔn)入控制系統(tǒng)主要包括終端設(shè)備(通常是網(wǎng)絡(luò)打印機(jī)、IP 電話、攝像頭等)、網(wǎng)絡(luò)設(shè)備(通常指接入層交換機(jī))、準(zhǔn)入認(rèn)證服務(wù)器。系統(tǒng)結(jié)構(gòu)如圖1 所示。
圖1 基于MAC 認(rèn)證的終端設(shè)備網(wǎng)絡(luò)準(zhǔn)入控制系統(tǒng)結(jié)構(gòu)
在系統(tǒng)結(jié)構(gòu)中,終端設(shè)備是“認(rèn)證”動(dòng)作的觸發(fā)者,通過發(fā)送包含MAC 地址的特定數(shù)據(jù)包(主要是地址解析協(xié)議報(bào)文)觸發(fā)網(wǎng)絡(luò)設(shè)備進(jìn)行認(rèn)證;網(wǎng)絡(luò)設(shè)備是“認(rèn)證”機(jī)制的執(zhí)行者和端口授權(quán)的實(shí)施者,具體包括向準(zhǔn)入認(rèn)證服務(wù)器發(fā)送認(rèn)證數(shù)據(jù)包,根據(jù)準(zhǔn)入認(rèn)證服務(wù)器的認(rèn)證結(jié)果對(duì)端口實(shí)施授權(quán)控制;準(zhǔn)入認(rèn)證服務(wù)器是“認(rèn)證”系統(tǒng)的判決者,直接決定相應(yīng)終端設(shè)備用戶是否通過網(wǎng)絡(luò)準(zhǔn)入認(rèn)證。
基于MAC 認(rèn)證的入網(wǎng)認(rèn)證交互流程如圖2 所示,主要步驟如下文所述。
圖2 入網(wǎng)認(rèn)證交互流程
(1)網(wǎng)絡(luò)設(shè)備首次檢測(cè)到終端設(shè)備的MAC 地址,進(jìn)行MAC 地址學(xué)習(xí)、觸發(fā)MAC 認(rèn)證。
(2)網(wǎng)絡(luò)設(shè)備對(duì)MAC 認(rèn)證使用MD5 信息摘要算法(Message-Digest Algorithm,MD5)挑戰(zhàn)字對(duì)用戶密碼進(jìn)行處理,并將處理后的信息及MD5挑戰(zhàn)字封裝在認(rèn)證請(qǐng)求報(bào)文中,發(fā)送到準(zhǔn)入認(rèn)證服務(wù)器,請(qǐng)求對(duì)該終端進(jìn)行MAC 認(rèn)證。
(3)準(zhǔn)入認(rèn)證服務(wù)器使用收到的MD5 挑戰(zhàn)字對(duì)本地?cái)?shù)據(jù)庫中對(duì)應(yīng)MAC認(rèn)證用戶密碼進(jìn)行處理,如果與網(wǎng)絡(luò)設(shè)備發(fā)來的相關(guān)信息一致,則向網(wǎng)絡(luò)設(shè)備發(fā)送認(rèn)證成功報(bào)文,表示終端設(shè)備MAC 認(rèn)證成功,允許該終端訪問網(wǎng)絡(luò)。
(4)網(wǎng)絡(luò)設(shè)備根據(jù)準(zhǔn)入認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果進(jìn)行端口授權(quán)。
網(wǎng)絡(luò)設(shè)備與準(zhǔn)入認(rèn)證服務(wù)器之間通過遠(yuǎn)程用戶撥號(hào)認(rèn)證系統(tǒng)(Remote Authentication DialIn User Service,RADIUS)報(bào)文進(jìn)行交互,對(duì)于MAC 認(rèn)證用戶密碼的處理,有密碼認(rèn)證協(xié)議(Password Authentication Protocol,PAP)和質(zhì)詢握手認(rèn)證協(xié)議(Challenge Handshake Authentication Protocol,CHAP)[12]兩種方式。
(1)PAP:設(shè)備使用隨機(jī)生成MD5 挑戰(zhàn)字對(duì)MAC 認(rèn)證用戶的密碼進(jìn)行一次加密。
(2)CHAP:設(shè)備使用隨機(jī)生成的MD5 挑戰(zhàn)字對(duì)MAC 認(rèn)證用戶的密碼進(jìn)行兩次加密。
網(wǎng)絡(luò)設(shè)備需要對(duì)終端設(shè)備進(jìn)行周期性探測(cè),確保終端設(shè)備正常在線。如果終端設(shè)備已下線,網(wǎng)絡(luò)設(shè)備需要通知準(zhǔn)入認(rèn)證服務(wù)器,更新終端設(shè)備狀態(tài),周期探測(cè)交互流程如圖3 所示,主要步驟包括:
圖3 網(wǎng)絡(luò)設(shè)備周期探測(cè)交互流程
(1)終端設(shè)備發(fā)送報(bào)文觸發(fā)MAC 認(rèn)證,同時(shí)網(wǎng)絡(luò)設(shè)備啟動(dòng)探測(cè)定時(shí)器;
(2)在若干個(gè)T時(shí)間內(nèi),網(wǎng)絡(luò)設(shè)備均能收到終端設(shè)備流量,相應(yīng)用戶在線;
(3)終端設(shè)備最后一次發(fā)送報(bào)文。在這個(gè)T時(shí)間結(jié)束時(shí),由于有終端設(shè)備流量,網(wǎng)絡(luò)設(shè)備判斷相應(yīng)用戶在線。重啟定時(shí)器;
(4)網(wǎng)絡(luò)設(shè)備在T時(shí)間內(nèi)未收到終端設(shè)備流量,發(fā)送第1 次ARP 請(qǐng)求,客戶端無響應(yīng)。
(5)T時(shí)間后,未收到終端設(shè)備流量,發(fā)送第2 次ARP 請(qǐng)求,終端設(shè)備無響應(yīng);
(6)T時(shí)間后,仍未收到終端設(shè)備流量,探測(cè)失敗,終端設(shè)備對(duì)應(yīng)的用戶下線;
(7)網(wǎng)絡(luò)設(shè)備向準(zhǔn)入認(rèn)證服務(wù)器發(fā)送停止計(jì)費(fèi)請(qǐng)求;
(8)準(zhǔn)入認(rèn)證服務(wù)器向網(wǎng)絡(luò)設(shè)備發(fā)送停止計(jì)費(fèi)響應(yīng);
(9)網(wǎng)絡(luò)設(shè)備停止對(duì)相應(yīng)端口的授權(quán),在線列表中刪除相應(yīng)用戶。
某公司辦公室內(nèi)終端通過Switch 接入公司內(nèi)部網(wǎng)絡(luò)。如果該公司內(nèi)存在非法接入和非授權(quán)訪問的狀況,將會(huì)導(dǎo)致企業(yè)業(yè)務(wù)系統(tǒng)的破壞以及關(guān)鍵信息資產(chǎn)的泄露,因此管理員希望Switch 能夠?qū)K端設(shè)備的網(wǎng)絡(luò)訪問權(quán)限進(jìn)行控制,以保證公司內(nèi)網(wǎng)的安全,在很大程度上防止外來侵入對(duì)信息安全的損害[13]。
由于辦公室內(nèi)的啞終端(例如打印機(jī))無法安裝認(rèn)證客戶端,因此在Switch 上部署MAC 認(rèn)證。終端設(shè)備的MAC 地址將作為用戶信息到RADIUS 服務(wù)器進(jìn)行認(rèn)證,同時(shí)用戶接入網(wǎng)絡(luò)時(shí),也不需要進(jìn)行認(rèn)證操作。辦公室內(nèi)局域網(wǎng)認(rèn)證組網(wǎng)圖如圖4 所示。
圖4 配置MAC 認(rèn)證組網(wǎng)
打印機(jī)、攝像頭、音頻裝備等啞終端準(zhǔn)入入網(wǎng)的詳細(xì)操作步驟如下文所述。
3.1.1 步驟1:配置AAA
# 創(chuàng)建并配置RADIUS 服務(wù)器模板[14]“rd1”。
# 測(cè)試用戶是否能夠通過RADIUS 模板的認(rèn)證(已在RADIUS 服務(wù)器上配置了測(cè)試用戶test,用戶密碼Huawei2012)。
3.1.2 步驟2:配置MAC 認(rèn)證
# 將NAC 配置模式切換成統(tǒng)一模式。
說明:設(shè)備默認(rèn)為統(tǒng)一模式。傳統(tǒng)模式與統(tǒng)一模式相互切換后,設(shè)備會(huì)自動(dòng)重啟。
[Switch]authentication unified-mode
# 配置MAC 接入模板“m1”。
說明:MAC 接入模板中,MAC 認(rèn)證用戶的用戶名和密碼默認(rèn)均為不帶分隔符“-”的MAC 地址。需要保證RADIUS 服務(wù)器上配置的MAC 用戶名和密碼格式與接入設(shè)備上的保持一致。
# 配置認(rèn)證模板“p1”,并在其上綁定MAC接入模板“m1”、指定認(rèn)證模板下用戶的強(qiáng)制認(rèn)證域?yàn)椤癶uawei.com”、指定用戶接入模式為多用戶單獨(dú)認(rèn)證接入模式、最大接入用戶數(shù)為100。
3.1.3 步驟3:驗(yàn)證配置結(jié)果
(1)用戶啟動(dòng)終端后,設(shè)備會(huì)自動(dòng)獲取用戶終端的MAC 地址作為用戶名和密碼進(jìn)行認(rèn)證。
(2)用戶認(rèn)證成功后即可訪問網(wǎng)絡(luò)。
(3)用戶上線后,管理員可在設(shè)備上執(zhí)行命令display access-user access-type macauthen 查看在線MAC 認(rèn)證用戶信息。
本方案中,準(zhǔn)入認(rèn)證服務(wù)器采用“Linux+Free Radius+Mysql”方案,由此構(gòu)建了1 個(gè)典型的RADIUS 服務(wù)器。
基于MAC 認(rèn)證的終端設(shè)備網(wǎng)絡(luò)準(zhǔn)入控制系統(tǒng)工作流程參考準(zhǔn)入認(rèn)證服務(wù)器已有的“用戶名口令模式”的認(rèn)證流程,相應(yīng)準(zhǔn)入策略中的認(rèn)證模式為“用戶名口令”,附加驗(yàn)證信息有“接入交換機(jī)IP和端口”。界面在準(zhǔn)入認(rèn)證服務(wù)器管理界面中主要表現(xiàn)為終端設(shè)備列表,增加了MAC 地址注冊(cè)的管理功能[15],如圖5 所示。
終端設(shè)備列表中,主要包括“狀態(tài)”“MAC地址”“準(zhǔn)入策略”“接入交換機(jī)IP”“接入交換機(jī)端口”“上線時(shí)間”“下線時(shí)間”“備注”。其中,“MAC 地址”是每個(gè)終端設(shè)備的唯一標(biāo)識(shí),“備注”支持填寫對(duì)應(yīng)終端設(shè)備的備注信息。
網(wǎng)絡(luò)設(shè)備發(fā)起認(rèn)證,準(zhǔn)入認(rèn)證服務(wù)器接收到認(rèn)證包后自動(dòng)解析其中包含的終端設(shè)備信息(包括MAC 地址、接入交換機(jī)IP 和端口),自動(dòng)將相關(guān)信息注冊(cè)到終端設(shè)備列表中。
準(zhǔn)入認(rèn)證服務(wù)器配置中,支持配置“是否為新注冊(cè)的終端設(shè)備下發(fā)默認(rèn)策略(MAC 認(rèn)證)”?,F(xiàn)場(chǎng)網(wǎng)絡(luò)環(huán)境部署初期,設(shè)置“是否為新注冊(cè)的終端設(shè)備下發(fā)默認(rèn)策略(MAC 認(rèn)證)”為勾選狀態(tài),則相應(yīng)的終端設(shè)備均可順利注冊(cè)并通過認(rèn)證,接入網(wǎng)絡(luò)。現(xiàn)場(chǎng)網(wǎng)絡(luò)環(huán)境部署完成后,設(shè)置“是否為新注冊(cè)的終端設(shè)備下發(fā)默認(rèn)策略(MAC 認(rèn)證)”為取消狀態(tài),新接入的終端設(shè)備進(jìn)行入網(wǎng)認(rèn)證,能夠自動(dòng)在準(zhǔn)入認(rèn)證服務(wù)器上注冊(cè),但是無法認(rèn)證通過,原因是“未分發(fā)準(zhǔn)入策略”。如果需要將其接入網(wǎng)絡(luò),則需為該設(shè)備分發(fā)準(zhǔn)入策略。綜上所述,該運(yùn)行機(jī)制能夠?qū)崿F(xiàn)對(duì)未注冊(cè)終端設(shè)備的入網(wǎng)管理,進(jìn)一步提升終端網(wǎng)絡(luò)準(zhǔn)入控制系統(tǒng)的安全性。
本文利用交換機(jī)MAC 認(rèn)證機(jī)制,設(shè)計(jì)實(shí)現(xiàn)了使用打印機(jī)、攝像頭等啞終端MAC 信息作為鑒別憑證的方法。本文方法可以有效解決局域網(wǎng)內(nèi)部啞終端入網(wǎng)問題,并能實(shí)現(xiàn)無感知認(rèn)證。下一步,可結(jié)合終端指紋特征技術(shù),對(duì)終端進(jìn)行更加準(zhǔn)確、全面的定義,避免MAC 假冒帶來的非法接入問題。