臧其事 周俊琦 謝立帆
摘要:隨著數(shù)據(jù)中心的不斷發(fā)展,設(shè)備的種類與數(shù)據(jù)都在增加,從小型機(jī),PC服務(wù)器,到交換機(jī),UPS,存儲(chǔ)設(shè)備,虛擬機(jī)和vCenter,系統(tǒng)管理人員需要一種通用靈活的易用的設(shè)備監(jiān)控與管理方式,以提高數(shù)據(jù)中心設(shè)備的管理效率。本文首先介紹了簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)的工作原理,分析了 SNMP v3 協(xié)議的加密實(shí)現(xiàn)。并以農(nóng)行上海分行的基于 SNMP 的設(shè)備監(jiān)測(cè)系統(tǒng)為例,實(shí)現(xiàn)了對(duì)數(shù)據(jù)中心各類設(shè)備資源的實(shí)時(shí)管理,通過(guò)主動(dòng)探知與被動(dòng)告警兩種模式,監(jiān)測(cè)設(shè)備失效信息并主動(dòng)告警,提高了數(shù)據(jù)中心設(shè)備的管理效率。
關(guān)鍵詞:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議;監(jiān)控系統(tǒng);安全性
中圖分類號(hào):TP308 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)09-0112-02
1 引言
隨著IT技術(shù)的發(fā)展,數(shù)據(jù)中心的作用和地位日益重要,承載的設(shè)備數(shù)量日益龐大,設(shè)備類型日益復(fù)雜。傳統(tǒng)形式上,采用對(duì)機(jī)房進(jìn)行定時(shí)的人工巡檢,被證明是一種低效和滯后的監(jiān)控方式,系統(tǒng)管理員需要實(shí)時(shí)或準(zhǔn)實(shí)時(shí)的了解設(shè)備的基本狀況,如網(wǎng)絡(luò)是否聯(lián)通、硬件是否故障、UPS電壓是否在正常范圍內(nèi)等。針對(duì)上述需求,中國(guó)農(nóng)業(yè)銀行上海市分行考察了多種解決方案,認(rèn)為簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol,SNMP)具有通用與靈活等優(yōu)點(diǎn),可以在原設(shè)備的基礎(chǔ)硬件上實(shí)時(shí)地進(jìn)行監(jiān)控。
盡管有著良好的易用性,但SNMP協(xié)議自身存在著一些缺點(diǎn),主要亟待解決的問(wèn)題是安全性。在考慮靈活與通用的同時(shí),需要同步考慮安全問(wèn)題,SNMP v3版本的出現(xiàn),其兩個(gè)核心模塊是基于用戶的安全模型 (USM) 和基于視圖的訪問(wèn)控制模型 (VACM),大大增強(qiáng)了安全性,因此,本文采用了SNMP v3版本的技術(shù)進(jìn)行具體實(shí)施。
2 SNMP協(xié)議安全性分析
SNMP使用Community名稱進(jìn)行認(rèn)證,而其默認(rèn)的名稱Public通常不會(huì)被管理員刻意更改,而嘗試使用此名稱進(jìn)行網(wǎng)絡(luò)訪問(wèn),通常能夠輕易獲得訪問(wèn)許可。同時(shí),此協(xié)議在傳輸時(shí)并不加密,使用網(wǎng)絡(luò)抓包工具如Sniff能夠輕易抓取SNMP協(xié)議報(bào)文,并分析出使用的Community名稱。還有一些特別的技巧可以逃避Community認(rèn)證,例如通過(guò)對(duì)非標(biāo)準(zhǔn)字段進(jìn)行注入,導(dǎo)致緩沖區(qū)溢出,從而構(gòu)成一次成功的攻擊。
SNMPv3為了解決安全性問(wèn)題,主要引入了USM(基于用戶的安全模型)和VACM(基于視圖的訪問(wèn)控制模型)兩種技術(shù)。USM提供了認(rèn)證和加密功能,VACM確定用戶是否允許訪問(wèn)特定的MIB對(duì)象以及訪問(wèn)方式。USM引入了用戶名和組的概念,可以設(shè)置認(rèn)證和加密功能。它指定使用HMAC-MD5和HMAC-SHA進(jìn)行身份驗(yàn)證,指定使用CBC-DES進(jìn)行信息加密。在提交RFC 2574(USM)時(shí),這三種安全協(xié)議被認(rèn)為是(可接受的)安全的。而VACM技術(shù)定義了組、安全等級(jí)、上下文、MIB視圖、訪問(wèn)策略五個(gè)元素,這些元素同時(shí)決定用戶是否具有訪問(wèn)的權(quán)限,只有具有了訪問(wèn)權(quán)限的用戶才能管理操作對(duì)象。
3 設(shè)備監(jiān)控系統(tǒng)的設(shè)計(jì)
本系統(tǒng)的設(shè)計(jì)目標(biāo)是監(jiān)測(cè)數(shù)據(jù)中心各類設(shè)備以獲得性能參數(shù),主要有主動(dòng)和被動(dòng)兩種模式。其中主動(dòng)模式是由服務(wù)器主動(dòng)通過(guò)OID向客戶端進(jìn)行詢問(wèn),包含CPU負(fù)載,風(fēng)扇轉(zhuǎn)速,磁盤使用,UPS電壓,網(wǎng)絡(luò)流量等性能數(shù)據(jù);被動(dòng)模式是通過(guò)客戶端主動(dòng)向服務(wù)器發(fā)起異常消息通知,例如網(wǎng)絡(luò)中斷,磁盤拔出,風(fēng)扇停轉(zhuǎn),或者是某一部件失效。一個(gè)典型的異常消息如下所示:
2017-09-14 10:15:32
2 Green Red alarm.NetworkRedundancy LostAlarm - Event: Lost Network Redundancy (74862)
Summary: Lost uplink redundancy on virtual switch "vSwitch1". Physical NIC vmnic5 is down. Affected portgroups:"VLAN1001", "VLAN4000".
通過(guò)上述兩種監(jiān)測(cè),可以有效的監(jiān)控和探知設(shè)備的使用狀態(tài),根據(jù)歷史數(shù)據(jù)進(jìn)行分析和預(yù)警。
3.1 總體設(shè)計(jì)
通過(guò)對(duì) SNMP 協(xié)議的研究,設(shè)計(jì)和構(gòu)建了基于B/S 架構(gòu)的系統(tǒng)結(jié)構(gòu)模型,如圖1所示。
由于采集產(chǎn)生了大量數(shù)據(jù),這些數(shù)據(jù)以分topic的類別被投送到kafka集群,由下游消費(fèi)者接收消息并進(jìn)行分析,最后將分析結(jié)果入庫(kù)或放入HDFS。從而形成一個(gè)經(jīng)典,可插拔的生產(chǎn)-消費(fèi)者架構(gòu)。按我行的情況設(shè)計(jì),針對(duì)不同的設(shè)備使用了不同的消費(fèi)者進(jìn)行數(shù)據(jù)接收和分析,例如ATM的消費(fèi)者,UPS的消費(fèi)者,以及vCenter的消費(fèi)者。
采用生產(chǎn)-消費(fèi)者這一經(jīng)典架構(gòu),可以通過(guò)調(diào)節(jié)生產(chǎn)和消費(fèi)者的數(shù)量使系統(tǒng)效率達(dá)到最大化,例如我行的ATM數(shù)量較多,從而可以通過(guò)部署多個(gè)消費(fèi)者的形式處理大量的ATM性能數(shù)據(jù)。
3.2 功能設(shè)計(jì)
3.2.1 數(shù)據(jù)采集
數(shù)據(jù)采集處于系統(tǒng)的生產(chǎn)者的位置,通過(guò)主動(dòng)詢問(wèn)的方式采集設(shè)備的性能數(shù)據(jù),并將采集得到的數(shù)據(jù)結(jié)果按不同的topic放入kafka隊(duì)列。 主要是通過(guò)各個(gè)廠商提供的MiB文件,提取系統(tǒng)需要采集的關(guān)鍵指標(biāo),如UPS的電壓,服務(wù)器風(fēng)扇轉(zhuǎn)速等數(shù)據(jù),通過(guò)給定的OID向設(shè)備進(jìn)行詢問(wèn),將返回結(jié)果解析后放入消息隊(duì)列。該功能作為系統(tǒng)的基礎(chǔ)部分,通過(guò)時(shí)間驅(qū)動(dòng)來(lái)確保實(shí)時(shí)性。
3.2.2 數(shù)據(jù)分析
數(shù)據(jù)分析作為系統(tǒng)的消費(fèi)者存在,主要接收來(lái)自數(shù)據(jù)采集功能采集的基礎(chǔ)數(shù)據(jù),包括主機(jī)信息、IP信息、磁盤信息、進(jìn)程信息、CPU信息等數(shù)據(jù),結(jié)合設(shè)備的具體特征,根據(jù)歷史數(shù)據(jù)得出baseline以及正常浮動(dòng)范圍,對(duì)于超出浮動(dòng)范圍的部分編制告警信息,并發(fā)送給運(yùn)維人員。
3.2.3 數(shù)據(jù)展示
數(shù)據(jù)展示主要是以圖表方式呈現(xiàn)被監(jiān)測(cè)設(shè)備性能歷史數(shù)據(jù),其圖表如圖2所示:
3.2.4 告警
對(duì)于超過(guò)浮動(dòng)閾值的性能數(shù)據(jù),以及被動(dòng)接收到的錯(cuò)誤信息,將主動(dòng)通過(guò)短信,微信以及語(yǔ)音電話等方式通知運(yùn)維人員。實(shí)現(xiàn)方式是將編制的告警信息放入kafka上另一個(gè)topic的消息隊(duì)列實(shí)現(xiàn),由另外一個(gè)告警消費(fèi)者負(fù)責(zé)從中讀告警內(nèi)容并分發(fā)給告警人。
4 結(jié)語(yǔ)
我行的設(shè)備監(jiān)控系統(tǒng)以SNMPv3為基準(zhǔn)協(xié)議,實(shí)現(xiàn)了對(duì)數(shù)據(jù)中心設(shè)備資源的實(shí)時(shí)監(jiān)控,并將監(jiān)測(cè)到的性能數(shù)據(jù)以圖形方式直觀顯示出來(lái),提高了設(shè)備管理的工作效率,為設(shè)備管理提供了一種安全高效的方式。同時(shí)完成了對(duì)于失效事件的主動(dòng)告警,將錯(cuò)誤信息及時(shí)推送給運(yùn)維人員,將反應(yīng)時(shí)間由分鐘縮短到了秒級(jí)。由于使用了高安全性的SNMPv3協(xié)議,系統(tǒng)的安全性也得到了較為完善的保障,達(dá)到了性能與安全性的平衡,在類似系統(tǒng)的設(shè)計(jì)中具有一定的借鑒意義。
參考文獻(xiàn)
[1]施勝?gòu)?qiáng).淺析計(jì)算機(jī)網(wǎng)絡(luò)管理[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(16):36-38.
[2]趙小錄.SNMPv3在商業(yè)交換機(jī)中的研究與應(yīng)用[D].廣州:廣東工業(yè)大學(xué),2014.
[3]楊曉東,劉玉珍,張煥國(guó).基于SNMP的安全威脅及防范策略分析[J].計(jì)算機(jī)工程,2004,30(22):122-124.
[4]王金京.云計(jì)算環(huán)境下的計(jì)算機(jī)網(wǎng)絡(luò)安全問(wèn)題探析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015,(8):37-38.