一種支持SNMP V3的代理平臺設(shè)計方案
3.關(guān)鍵技術(shù)實(shí)現(xiàn)方法
本文引用地址:http://m.butianyuan.cn/article/113892.htm3.1 USM認(rèn)證與私密化流程:
USM是SNMP V3代理框架中安全子系統(tǒng)中的一種基于用戶的安全模型,來解決SNMP消息在網(wǎng)絡(luò)傳輸過程中可能遭受的安全威脅.USM對應(yīng)三種安全級別,分別是:無認(rèn)證無私密化,認(rèn)證無私密化和認(rèn)證且私密化.USM認(rèn)證與私密化過程如下:
1:管理實(shí)體選擇的安全級別為 “認(rèn)證且私密”,安全模型為“USM”,管理實(shí)體需要在LCD中選擇一個與本安全級別匹配的用戶名。
2:管理實(shí)體USM模塊根據(jù)根據(jù)LCD中該用戶的私密化算法,對SNMP消息中的范圍PDU部分進(jìn)行加密,并將私密化參數(shù)填入到SNMP消息中。
3:管理實(shí)體USM模塊根據(jù)LCD中該用戶的認(rèn)證算法,認(rèn)證密鑰,計算出待認(rèn)證的SNMP消息的認(rèn)證參數(shù),將該認(rèn)證參數(shù)填充到SNMP V3消息中。
4:代理實(shí)體的SNMP引擎接收到管理實(shí)體的SNMP V3消息后,解析出消息中的安全級別,安全模型,用戶名,認(rèn)證參數(shù),私密化參數(shù),交付給USM模塊
5:代理實(shí)體的USM模塊根據(jù)用戶名查詢LCD,得到該用戶的認(rèn)證算法,認(rèn)證密鑰,計算出待認(rèn)證的SNMP消息的認(rèn)證參數(shù),同原SNMP消息所攜帶的認(rèn)證參數(shù)相比較,如相同則通過認(rèn)證,否則認(rèn)證失敗。
6:代理實(shí)體的USM模塊根據(jù)SNMP消息中的私密化參數(shù),以及LCD中用戶的私密化算法,對范圍PDU進(jìn)行解密。
7:USM模塊將通過認(rèn)證,并解密的SNMP消息,提供給SNMP引擎進(jìn)一步處理。
8:代理實(shí)體的SNMP引擎生成了SNMP消息,準(zhǔn)備發(fā)送給管理實(shí)體之前的“認(rèn)證且私密”過程,與上述過程類似。
對于“認(rèn)證無私密”的處理過程,則可省略上述過程的2,6兩步。
3.2 VACM的驗(yàn)證流程
在通常的網(wǎng)管實(shí)踐中,常常遇到一系列安全問題,如非法的管理者,對某OID進(jìn)行操作;
合法的管理者,對某未授權(quán)的OID進(jìn)行操作;合法的管理者,對某授權(quán)的OID進(jìn)行未授權(quán)的操作等等.這些問題實(shí)際上是代理實(shí)體中的SNMP應(yīng)用(包括命令應(yīng)答器,通知生成器)在處理SNMP消息中的PDU時需要控制的,VACM(基于視圖的訪問控制模型)是這樣一種訪問控制方案,通過在代理實(shí)體的VACM MIB定義的用戶所能訪問的MIB視圖的對應(yīng)關(guān)系,來決定一個SNMP協(xié)議操作,是否能夠訪問一個MIB對象。VACM LCD的表格如下表所示:
表1:VACM LCD所包含的表格
VACM的驗(yàn)證流程如下:
1:在vacmSecurityToGroupTable表中查找由securityName和securityModel的組合所確定的請求訪問操作的用戶是否是這個SNMP引擎所配置的某個組的成員,若存在則返回組名groupName。不存在則報告錯誤(noGroupName)
2:在vacmContextTable中查詢contextName,如果不存在,則報告錯誤(noSuchContext)
3:使用vaemAeeessTable將groupName、contextName以及securityModel、securityLevel的組合映射到一個MIB視圖,將要使用的MIB視圖取決于ViewType。MIB視圖定義的是該用戶可以訪問的MIB變量。
4: 根據(jù)MIB視圖,利用vacmViewTreeFamilyTable表檢查是否可以訪問PDU變量綁定中的MIB對象。
3.3 IPV4和IPV6的兼容設(shè)計
為了使代理實(shí)體同時支持與IPV4和IPV6管理實(shí)體的交互,需要代理實(shí)體運(yùn)行的環(huán)境,運(yùn)行IPV4和IPV6雙協(xié)議棧,同時,代理實(shí)體作為一個IPV6服務(wù)器或客戶端存在。
對于一個IPV6的雙棧服務(wù)器來說,其與IPV4,IPV6客戶端的交互過程為:對于IPV4客戶端,向IPV6服務(wù)器的IPV4地址發(fā)送請求。其發(fā)送的IP報文,在IPV6服務(wù)器中,被交付給IPV4協(xié)議棧,在上行時,客戶端的IPV4地址,被映射成IPV6地址,并由IPV6服務(wù)器應(yīng)用處理,IPV6服務(wù)器在向IPV4客戶端返回信息時,下行時,選擇IPV4協(xié)議棧。對于IPV6客戶端,則向IPV6服務(wù)器的IPV6地址發(fā)送請求,其發(fā)送的IP報文,在IPV6服務(wù)器中,被交付給IPV6處理。由以上分析可知,代理實(shí)體作為IPV6服務(wù)器,可以處理IPV4,IPV6客戶端(管理實(shí)體)的請求。條件是,IPV6服務(wù)器需要配置IPV4,IPV6地址。IPV4客戶端訪問代理實(shí)體時,需要使用其IPV4地址。
當(dāng)代理實(shí)體為IPV6客戶端,與IPV4,IPV6服務(wù)器的交互情況為:對于IPV6客戶端,向IPV4服務(wù)器的IPV4地址發(fā)送請求之前,需要將IPV4服務(wù)器的IPV4地址映射成IPV6地址。其發(fā)送的IP報文,在IPV6客戶端中,被交付給IPV4協(xié)議棧,在上行時,客戶端的IPV4地址,被映射成IPV6地址,并由IPV6客戶端應(yīng)用處理。對于IPV6客戶端,向IPV6服務(wù)器的IPV6地址發(fā)送請求,其發(fā)送的IP報文,在IPV6客戶機(jī)中使用IPV6協(xié)議棧。由以上分析可知,代理實(shí)體作為IPV6客戶機(jī),可以與IPV4,IPV6服務(wù)器(管理實(shí)體)交互,條件是,代理實(shí)體作為IPV6客戶機(jī)與IPV4服務(wù)器交互時,需要使用IPV4服務(wù)器的IPV4地址映射的IPV6地址。
評論