引言
簡單網絡管理協議(SNMP)是目前TCP/IP網絡中應用最為廣泛的網絡管理協議。目前SNMP協議主要包括三個版本:SNMP v1、SNMP VZ以及最新的SNMP v3。SNMP v3采用了新的SNMP擴展框架,解決了SNMP協議以前版本在安全性和管理方面表現不理想的問題。支持SNMP v3是網絡設備的趨勢。網絡設備通過代理平臺處理SNMP協議,設計一種支持SNMPV3的代理平臺,對于路由器、交換機等網絡設備具有重要意義。
代理平臺的結構和SNMP V3處理機制
代理平臺的結構
基于SNMP的管理體系架構中,存在著SNMP管理實體(系統網管)和SNMP代理實體(被管網元)兩種基本元素。管理實體和代理實體按系統功能可進一步細分為SNMP引擎和SNMP應用,見圖1的SNMP管理體系架構。
SNMP引擎主要實現SNMP的協議相關的處理,包括SNMP消息的收發,SNMP消息的解析,SNMP的PDU處理等工作。在一個管理域的范圍內,一個SNMP引擎snmpEnginelD作為唯一標識。SNMP引擎中,針對V1、V2、V3版SNMP消息,提供三種消息處理模型,當SNMP消息進入SNMP引擎后,根據SNMP消息的版本號,將SNMP消息分派給不同的消息處理模型處理。
SNMP應用主要實現不同的管理功能(如配置,性能,告警管理)。在代理實體,主要存在著命令應答器(用于對SNMP引擎接受到的SNMP請求,產生SNMP應答),通知生成器(用于代理實體主動產生的TRAP,通知的生成)兩種應用。
SNMP V3消息處理機制
SNMP V3消息中加入了安全級別、安全模型、安全參數、訪問OID的上下文名和訪問OID的contextEngineID等參數。在SNMP引擎的V3消息處理模型的消息處理過程中,需要引入安全子系統,用于清除SNMP消息被篡改,消息源偽裝,SNMP消息隱私暴露,SNMP消息過肘等問題:需要加入訪問控制子系統,防止對未授權的OID進行非法操作。
sNMp引擎在接收到傳入的SNMP v3消息后,先通過安全子系統USM模塊的處理,將SNMP消息被解析成SNMP PDU;然后SNMP PDU經過訪問控制子系統的VACM模塊和命令應答器,經過處理生成應答PDU,然后交給安全子系統USM模塊產生SNMP V3應答消息。對于通知生成器,在原始通知提交到SNMP引擎后,先經過訪問控制子系統VACM模塊的處理,通過后再交給安全子系統USM模塊,加工成SNMP V3消息,最后由SNMP引擎發送出去。
在SNMP引擎中,USMS模塊和VACM模塊運行之前,需要在本地配置數據庫(LCD)中配置相關參數。管理實體與代理實體的USM配置需要保持一致,為了實現數據的同步,代理實體提供訪問USM,VACM的LCD的SNMP訪問接口,以實現對USM、VACM的遠程配置。
關鍵技術實現方法
USM認證與私密化流程:
USM是SNMP V3代理框架中安全子系統中的一種基于用戶的安全模型,來解決SNMP消息在網絡傳輸過程中可能遭受的安全威脅。USM對應三種安全級別,分別是:無認證無私密化,認證無私密化和認證且私密化。USM認證與私密化過程如下:
1 管理實體選擇的安全級別為“認證且私密”,安全模型為 “USM”,管理實體需要在LCD中選擇一個與本安全級別匹配的用戶名。
2 管理實體USM模塊根據LCD中該用戶的私密化算法,對SNMP消息中的范圍PDU部分進行加密,并將私密化參數填入到SNMP消息中。
3 管理實體USM模塊根據LCD中該用戶的認證算法,認證密鑰,計算出待認證的SNMP消息的認證參數,將該認證參數填充到SNMP V3消息中。
4 代理實體的SNMP引擎接收到管理實體的SNMP v3消息后,解析出消息中的安全級別、安全模型、用戶名、認證參數、私密化參數,交付給USM模塊
5 代理實體的USM模塊根據用戶名查詢LCD,得到該用戶的認證算法、認證密鑰,計算出待認證的SNMP消息的認證參數,同原SNMP消息所攜帶的認證參數相比較,如相同則通過認證,否則認證失敗。
6 代理實體的USM模塊根據SNMP消息中的私密化參數,以及LCD中用戶的私密化算法,對PDU進行解密。
7 USM模塊將通過認證,并解密的SNMP消息,提供給SNMP引擎進一步處理。
8 代理實體的SNMP引擎生成了SNMP消息,準備發送給管理實體之前的“認證且私密”過程,與上述過程類似。
對于“認證無私密”的處理過程,則可省略上述過程的2、6兩步。
VACM的驗證流程
在通常的網管實踐中,常常遇到一系列安全問題,如非法的管理者,對某OID進行操作:合法的管理者,對某未授權的OID進行操作等等。這些問題實際上是代理宴體中的SNMP應用(包括命令應答器,通知生成器)在處理SNMP消息中的PDU時需要控制的,VACM(基于視圖的訪問控制模型)是這樣一種訪問控制方案,通過在代理實體的VACM MIB定義的用戶所能訪問的MIB視圖的對應關系,來決定一個SNMP協議操作,是否能夠訪問一個MIB對象。VACM LCD的表格如表1所示。
除此之外,IPV4和IPV6的兼容設計、SNMP并發處理機制等也非常重要。
結語
支持SNMP V3的代理平臺能提供SNMP消息在網絡傳輸中的安全保護,支持基于用戶的安全模型(USM),提供SNMP消息在代理平臺內部處理時的安全控制:支持SNM基于視圖的訪問控制模型(VACM);支持SNMP消息的并發處理:并支持在IPV4和IPV6環境下運行,該代理平臺使網絡設備的管理更安全、更容易、更有效率。