專利名稱:基于SNMP的安全管理方法、Trap報文的處理方法及裝置的制作方法
技術領域:
本發(fā)明涉及簡單網(wǎng)絡管理協(xié)議(SNMP,Simple Network ManagementProtocol),尤 其涉及基于SNMP的安全管理技術及陷阱(Trap)報文的處理技術。
背景技術:
SNMP是通信系統(tǒng)中使用最廣泛的網(wǎng)管協(xié)議。SNMP開發(fā)于九十年代早期,其目的 是簡化大型網(wǎng)絡中網(wǎng)絡設備的管理和數(shù)據(jù)的獲取。由于SNMP的效果非常好,所以網(wǎng)絡硬 件廠商把SNMP加入到他們制造的每一臺設備,例如,在通信系統(tǒng)中,對基站設備的配置管 理也都是通過SNMP完成的。簡單網(wǎng)絡管理系統(tǒng)(使用SNMP的網(wǎng)絡管理系統(tǒng))包括兩個角 色SNMP管理(Manager)端和SNMP代理(Agent)端。SNMP代理端(下文簡稱為代理端) 是網(wǎng)絡設備中用來實現(xiàn)SNMP功能的部分。代理端在用戶數(shù)據(jù)報協(xié)議(UDP,User Datagram Protocol)的161端口接收SNMP管理端(下文簡稱為管理端)的讀寫請求消息,管理端在 UDP的162端口接收代理端的事件通告消息。 SNMP已經(jīng)發(fā)布了三個版本,分別是SNMPvl、 SNMPv2和SNMPv3。 SNMPvl是SNMP發(fā)布的第一個版本,但由于SNMPvl有很多缺陷和不足,其目前已被
使用最廣泛的SNMPv2所取代。 SNMPv2是SNMPvl的加強版本,在SNMPvl的基礎上增加了警報、批量數(shù)據(jù)獲取、管 理端和管理端之間的通信等功能。但是,SNMPv2仍然存在一些不足,例如,SNMPv2不支持 加密和授權,僅通過包含在SNMP消息中的團體名提供簡單的認證,其作用類似口令。具體 的,代理端檢查SNMP消息中的團體名字段的值,符合預定值時接收和處理該SNMP消息。依 據(jù)SNMP規(guī)定,大多數(shù)網(wǎng)絡產(chǎn)品出廠時設定的只讀操作的團體名缺省值為"Public",讀寫操 作的團體名缺省值為"Private",很多情況下,網(wǎng)絡管理人員從未修改過該值。實際上,團體 名作為惟一的SNMP認證手段是SNMPv2的一個薄弱環(huán)節(jié)。例如,管理端利用知名的缺省值 "Public"或"Private"以及空白團體名常常能獲取到網(wǎng)絡設備的訪問權,再例如,利用嵌入 SNMP消息的團體名在網(wǎng)上以明碼傳輸,也就是說,利用Sniff軟件獲取團體名后,就可以假 冒IP源地址,向網(wǎng)絡設備進行惡意破壞。由此可見,SNMPv2并沒有提供可靠的安全性能。
SNMPv3使用基于用戶的安全模型保證安全性,為保護通信字符串,SNMPv3使用數(shù) 據(jù)加密標準(DES, Data Encryption Standard)算法加密數(shù)據(jù)通信。另外,SNMPv3還能夠 使用信息-摘要算法(MD5, Message-digestAlgorithm 5)和安全散列算法(SHA, Secure Hash Algorithm)驗證節(jié)點的標識符。 在SNMPv3中規(guī)定,當多個管理端運行在同一個工作站上時,每個管理端都需要綁 定自己的Trap端口 ,默認的Trap端口是162,每個端口只允許一個應用程序綁定。為解決 這個問題,通常會使用一個統(tǒng)一的后臺服務(Server)進程監(jiān)聽162端口 ,從而把接收到的 Trap報文分發(fā)到對應的管理端。 雖然SNMPv3增加了較強的安全性能,但大量的有關安全性能的Trap報文卻嚴重 影響了簡單網(wǎng)絡管理系統(tǒng)的工作效率。這是因為,當代理端向管理端上報有關安全性能的
5Trap報文的速度比較快時,大量的Trap報文可能會擁塞在162端口上,由于后臺服務進程 只能一條一條地取出Trap報文進行分發(fā)處理,所以這樣必然會嚴重影響簡單網(wǎng)絡管理系 統(tǒng)的工作效率,甚至還有可能會出現(xiàn)擁塞丟包的現(xiàn)象。例如,在實際的網(wǎng)絡系統(tǒng)中,當網(wǎng)絡 中出現(xiàn)告警風暴時,每個代理端上報Trap報文的速度可以達到每秒上百條,這種情況下, SNMPv3提供的安全管理方案顯然達不到時效的要求。實際上,不僅僅是大量的有關安全性 能的Trap報文會嚴重影響簡單網(wǎng)絡管理系統(tǒng)的工作效率,其他大量的Trap報文也會嚴重 影響簡單網(wǎng)絡管理系統(tǒng)的工作效率。 所以,SNMPv3雖然增加了較強的安全性能,但會影響簡單網(wǎng)絡管理系統(tǒng)的工作效率。
發(fā)明內(nèi)容
本發(fā)明提供基于SNMP的安全管理方法及裝置,用以在盡量不影響簡單網(wǎng)絡管理 系統(tǒng)的工作效率的情況下,提供可靠的安全性能。 本發(fā)明提供一種基于SNMP的安全管理方法,包括與代理端建立用于通信的通 道;在所述通道上與代理端進行權限驗證。 本發(fā)明提供一種基于SNMP的安全管理裝置,包括通道建立單元,用于與代理端 建立用于通信的通道;權限驗證單元,用于在所述通道建立單元建立的通道上與代理端進 行權限驗證。 本發(fā)明提供一種基于SNMP的安全管理方法,包括與管理端建立用于通信的通 道;在所述通道上與管理端進行權限驗證。 本發(fā)明提供一種基于SNMP的安全管理裝置,包括通道建立單元,用于與管理端 建立用于通信的通道;權限驗證單元,用于在所述通道建立單元建立的通道上與管理端進 行權限驗證。本發(fā)明還提供Trap報文的處理方法、裝置及管理端,用以提高網(wǎng)絡管理系統(tǒng) 的工作效率。 本發(fā)明提供一種基于SNMP的Trap報文的處理方法,包括對管理端的首次權限驗 證成功后,生成對應于所述管理端的Trap端口 ;向所述管理端通知有關所述Trap端口的信 息;當有Trap報文需要上報給所述管理端時,將所述Trap報文發(fā)送到所述Trap端口 。
本發(fā)明提供一種基于SNMP的Trap報文的處理裝置,包括權限驗證單元,用于對 管理端進行權限驗證;端口生成單元,用于在所述權限驗證單元對管理端的首次權限驗證 成功后,生成對應于所述管理端的Tr即端口 ;通知單元,用于向所述管理端通知有關所述 端口生成單元生成的Trap端口的信息;報文發(fā)送單元,用于在所述通知單元向所述管理端 通知有關所述端口生成單元生成的Trap端口的信息后,當有Trap報文需要上報給所述管 理端時,將所述Trap報文發(fā)送到所述Trap端口 。 本發(fā)明提供一種基于SNMP的Tr即報文的處理方法,包括管理端獲得代理端提供 的有關對應于所述管理端的Trap端口的信息;所述管理端監(jiān)聽所述Trap端口 ;當有Trap 報文到達所述Trap端口后,所述管理端處理所述Trap報文。 本發(fā)明還提供一種基于SNMP的管理端,包括信息獲得單元,用于獲得代理端提 供的有關對應于所述管理端的Trap端口的信息;監(jiān)聽單元,用于監(jiān)聽所述信息獲得單元獲 得的有關對應于所述管理端的Trap端口的信息所指示的Trap端口 ;報文處理單元,用于當所述監(jiān)聽單元監(jiān)聽到有Trap報文到達所述Trap端口后,處理所述Trap報文。在本發(fā)明的 基于SNMP的安全管理方法及裝置中,管理端與代理端之間通過雙方自定義的通道來進行 權限驗證,而不是通過SNMPv3定義的SNMP通道(SNMPv3定義的Tr即端口對應的通道)進 行權限驗證,避免了所有的管理端與對應的代理端之間都通過一個通道進行權限驗證,所 以不但可以可靠的保證安全性能,而且不會影響簡單網(wǎng)絡管理系統(tǒng)的工作效率。
在本發(fā)明的基于SNMP的Trap報文的處理方法、裝置及管理端中,代理端可以為對 應的管理端生成一個Trap端口 ,這樣,避免了所有的代理端向對應的管理端上報的Trap報 文都通過同一個Trap端口傳輸,提高了 Trap報文的傳輸速度,從而提高了簡單網(wǎng)絡管理系 統(tǒng)的工作效率。
圖1為本發(fā)明的一種基于SNMP的安全管理方法的流程圖;
圖2為本發(fā)明的一種基于SNMP的安全管理裝置的結構示意圖;
圖3為本發(fā)明的另一種基于SNMP的安全管理方法的流程圖;
圖4為本發(fā)明的另一種基于SNMP的安全管理裝置的結構示意圖;
圖5為本發(fā)明的一種基于SNMP的Trap報文的處理方法的流程圖;
圖6為本發(fā)明的一種基于SNMP的Trap報文的處理裝置的結構示意圖;
圖7為本發(fā)明的另一種基于SNMP的Trap報文的處理方法的流程圖;
圖8為本發(fā)明的一種基于SNMP的管理端的結構示意圖;
圖9為本發(fā)明的一個優(yōu)選實施例的流程圖; 圖10為SNMPv2、 SNMPv3與本發(fā)明在安全性和效率性的比較結果示意圖。
具體實施例方式
首先結合附圖,對本發(fā)明的基于簡單網(wǎng)絡管理協(xié)議SNMP的安全管理方法及裝置 進行說明。 圖1為本發(fā)明的一種基于SNMP的安全管理方法的流程圖。如圖1所示,包括
S101 :與代理端建立用于通信的通道;
S102 :在所述通道上與代理端進行權限驗證。 具體的,與代理端建立的用于通信的通道實質(zhì)上是與代理端自定義的通道,進一 步來說,與代理端建立的用于通信的通道可以不是SNMPv3所定義的SNMP通道。與代理端 可以在這個自定義通道上進行權限驗證,當然,如果有需要的話,也可以使用這個自定義通 道傳輸不是用于權限驗證的其他報文。 在具體實現(xiàn)時,S102可以包括多個步驟,例如,包括在上述的自定義通道上向代 理端請求權限驗證;在所述自定義通道上獲得代理端對所述請求的響應。在所述通道上向 代理端請求權限驗證也可以有多種實現(xiàn)方式,例如,在所述通道上向代理端發(fā)送攜帶有權 限驗證所需要的密鑰、密碼或口令的請求報文。同樣,在所述通道上獲得代理端對所述請求 的響應也可以有多種實現(xiàn)方式,例如,在所述通道上獲得代理端發(fā)出的響應報文。當然,在 所述通道上向代理端請求權限驗證后,代理端需要對管理端進行權限驗證,如果權限驗證 通過,那么在所述通道上獲得的代理端對所述請求的響應可以攜帶權限驗證通過的內(nèi)容,如果權限驗證未通過(即失敗),那么在所述通道上獲得的代理端對所述請求的響應可以 攜帶權限驗證失敗的內(nèi)容。 上面提到過,在所述通道上與代理端進行權限驗證可以通過傳輸攜帶有關于權限 驗證的信息的報文來實現(xiàn)。為進一步加強安全性能,傳輸?shù)膱笪目梢约用?,也就是說,報文 以加密的形式傳輸,從而完成權限驗證。在具體實現(xiàn)時,既可以對所有的關于權限驗證的報 文加密,也可以只對攜帶有重要信息的報文才加密,而對于不影響權限驗證的報文則可以 不加密。例如,由于向代理端發(fā)出的請求權限驗證的報文可能會攜帶例如權限驗證所需要 的密鑰、密碼或口令等重要信息,所以對這樣的請求權限驗證的報文可以加密,從而避免因 密鑰、密碼或口令等重要信息被其他管理端截獲,而冒充合法的管理端對網(wǎng)絡設備造成破 壞,而對于獲得的代理端對所述請求的響應來說,由于這個響應一般只用于說明權限驗證 通過與否,并不會對權限驗證本身有特別影響,所以對這個響應可以不加密。當然,至于是 否需要對報文加密或者對哪個或哪些報文需要加密,可以由本領域技術人員根據(jù)實際需要 而定。 顯然,S101和S102的執(zhí)行主體可以是管理端。這里需要說明的是,在本發(fā)明(包 括下面將要介紹的所有實施例)中,多個管理端可以在同一個工作站上工作,一個代理端 可以設置在一個網(wǎng)絡設備中,一個管理端可以只對應一個代理端,也可以對應多個代理端, 一個代理端可以只對應一個管理端,也可以對應多個管理端。 對應于圖1所示的方法,本發(fā)明還提供一種基于SNMP的安全管理裝置。如圖2所 示,包括通道建立單元21,用于與代理端建立用于通信的通道;權限驗證單元22,用于在 所述通道建立單元21建立的通道上與代理端進行權限驗證。 具體的,通道建立單元21與代理端建立的用于通信的通道實質(zhì)上是與代理端 自定義的通道,進一步來說,通道建立單元21與代理端建立的用于通信的通道可以不是 SNMPv3所定義的SNMP通道。權限驗證單元22與代理端可以在這個自定義通道上進行權限 驗證,當然,如果有需要的話,這個自定義通道也可以傳輸不是用于權限驗證的其他報文。
在具體實現(xiàn)時,權限驗證單元22包括請求模塊,用于在所述通道上向代理端請 求權限驗證;獲得模塊,用于在所述通道上獲得代理端對所述請求的響應。請求模塊在所述 通道上向代理端請求權限驗證也可以有多種實現(xiàn)方式,例如,請求模塊在所述通道上向代 理端發(fā)送攜帶有權限驗證所需要的密鑰、密碼或口令的請求報文。同樣,獲得模塊在所述通 道上獲得代理端對所述請求的響應也可以有多種實現(xiàn)方式,例如,獲得模塊在所述通道上 獲得代理端發(fā)出的響應報文。當然,請求模塊在所述通道上向代理端請求權限驗證后,代理 端需要對管理端進行權限驗證,如果權限驗證通過,那么獲得模塊在所述通道上獲得的代 理端對所述請求的響應可以攜帶權限驗證通過的內(nèi)容,如果權限驗證未通過(即失敗),那 么獲得模塊在所述通道上獲得的代理端對所述請求的響應可以攜帶權限驗證失敗的內(nèi)容。
上面提到過,權限驗證單元22在所述通道上與代理端進行權限驗證可以通過傳 輸攜帶有關于權限驗證的信息的報文來實現(xiàn)。為進一步加強安全性能,傳輸?shù)膱笪目梢约?密,也就是說,報文以加密的形式傳輸,從而完成權限驗證。在具體實現(xiàn)時,既可以對所有的 關于權限驗證的報文加密,也可以只對攜帶有重要信息的報文才加密,而對于不影響權限 驗證的報文則可以不加密。例如,由于向代理端發(fā)出的請求權限驗證的報文可能會攜帶例 如權限驗證所需要的密鑰、密碼或口令等重要信息,所以對這樣的請求權限驗證的報文可
8以加密,從而避免因密鑰、密碼或口令等重要信息被其他管理端截獲,而冒充合法的管理端 對網(wǎng)絡設備造成破壞,而對于獲得模塊獲得的代理端對所述請求的響應來說,由于這個響 應一般只用于說明權限驗證通過與否,并不會對權限驗證本身有特別影響,所以對這個響 應可以不加密。當然,至于是否需要對報文加密或者對哪個或哪些報文需要加密,可以由本 領域技術人員根據(jù)實際需要而定。 顯然,圖2所示的裝置中的各個單元可以設置在管理端中,這些單元在管理端中 的工作方式與在圖2所示的裝置中的工作方式相同,這里不再贅述。 圖1所示的方法及圖2所示的裝置是從管理端的角度來描述本發(fā)明的基于SNMP
的安全管理方案的,實際上,還可以從代理端的角度來描述本發(fā)明的基于SNMP的安全管理
方案。對此,下面再介紹一種基于SNMP的安全管理方法及裝置。 圖3為本發(fā)明的另一種基于SNMP的安全管理方法。如圖3所示,包括 S301 :與管理端建立用于通信的通道; S302 :在所述通道上與管理端進行權限驗證。 具體的,與管理端建立的用于通信的通道實質(zhì)上是與管理端自定義的通道,進一 步來說,與管理端建立的用于通信的通道可以不是SNMPv3所定義的SNMP通道。與管理端 可以在這個自定義通道上進行權限驗證,當然,如果有需要的話,也可以使用這個自定義通 道傳輸不是用于權限驗證的其他報文。 在具體實現(xiàn)時,S302可以包括多個步驟,例如,包括在所述通道上獲得管理端進
行權限驗證的請求;對管理端進行權限驗證;在所述通道上向管理端發(fā)出對所述請求的響
應。在所述通道上獲得管理端進行權限驗證的請求也可以有多種實現(xiàn)方式,例如,在所述通
道上獲得管理端發(fā)送的攜帶有權限驗證所需要的密鑰、密碼或口令的請求報文,這樣,對管
理端進行權限驗證的過程可以包括對所述密鑰、密碼或口令進行驗證。同樣,在所述通道上
向管理端發(fā)出對所述請求的響應也可以有多種實現(xiàn)方式,例如,在所述通道上向管理端發(fā)
出對所述請求的響應報文。如果對管理端的權限驗證通過,則在所述通道上向管理端發(fā)出
對所述請求的響應可以攜帶權限驗證通過的內(nèi)容;如果對管理端的權限驗證失敗,則在所
述通道上向管理端發(fā)出對所述請求的響應可以攜帶權限驗證失敗的內(nèi)容。 同圖1所示的方法中的有關描述一樣,在所述通道上與管理端進行權限驗證可以
通過傳輸攜帶有關于權限驗證的信息的報文來實現(xiàn)。為進一步加強安全性能,傳輸?shù)膱笪?br>
可以加密,也就是說,報文以加密的形式傳輸,從而完成權限驗證。在具體實現(xiàn)時,既可以對
所有的關于權限驗證的報文加密,也可以只對攜帶有重要信息的報文才加密,而對于不影
響權限驗證的報文則可以不加密。例如,由于獲得的管理端發(fā)出的請求權限驗證的報文可
能會攜帶例如權限驗證所需要的密鑰、密碼或口令等重要信息,所以對這樣的請求權限驗
證的報文可以加密,從而避免因密鑰、密碼或口令等重要信息被其他管理端截獲,而冒充合
法的管理端對網(wǎng)絡設備造成破壞,而對于發(fā)出的對所述請求的響應來說,由于這個響應一
般只用于說明權限驗證通過與否,并不會對權限驗證本身有特別影響,所以對這個響應可
以不加密。當然,至于是否需要對報文加密或者對哪個或哪些報文需要加密,可以由本領域
技術人員根據(jù)實際需要而定。 顯然,S301和S302的執(zhí)行主體可以是代理端。 對應于圖3所示的方法,本發(fā)明還提供一種基于SNMP的安全管理裝置。如圖4所
9示,包括通道建立單元41,用于與管理端建立用于通信的通道;權限驗證單元42,用于在
所述通道建立單元41建立的通道上與管理端進行權限驗證。 具體的,通道建立單元41與管理端建立的用于通信的通道實質(zhì)上是與管理端 自定義的通道,進一步來說,通道建立單元41與管理端建立的用于通信的通道可以不是 SNMPv3所定義的SNMP通道。權限驗證單元42與管理端可以在這個自定義通道上進行權限 驗證,當然,如果有需要的話,這個自定義通道也可以傳輸不是用于權限驗證的其他報文。
在具體實現(xiàn)時,權限驗證單元42可以包括獲得模塊,用于在所述通道上獲得管 理端進行權限驗證的請求;驗證模塊,用于在所述獲得模塊在所述通道上獲得管理端進行 權限驗證的請求后,對管理端進行權限驗證;響應模塊,用于在所述驗證模塊對管理端進行 權限驗證后,在所述通道上向管理端發(fā)出對所述請求的響應。所述獲得模塊在所述通道上 獲得管理端進行權限驗證的請求也可以有多種實現(xiàn)方式,例如,所述獲得模塊獲得攜帶有 權限驗證所需要的密鑰、密碼或口令的請求報文,這樣,所述驗證模塊對管理端進行權限驗 證的過程可以包括對所述密鑰、密碼或口令進行驗證。同樣,響應模塊在所述通道上向管理 端發(fā)出對所述請求的響應也可以有多種實現(xiàn)方式,例如,所述響應模塊發(fā)出對所述請求的 響應報文。如果驗證模塊對管理端的權限驗證通過,則響應模塊在所述通道上向管理端發(fā) 出對所述請求的響應可以攜帶權限驗證通過的內(nèi)容;如果驗證模塊對管理端的權限驗證失 敗,則響應模塊在所述通道上向管理端發(fā)出對所述請求的響應可以攜帶權限驗證失敗的內(nèi) 容。 同圖3所示的方法中的有關描述一樣,權限驗證單元42在所述通道上與管理端進 行權限驗證可以通過傳輸攜帶有關于權限驗證的信息的報文來實現(xiàn)。為進一步加強安全性 能,傳輸?shù)膱笪目梢约用?,也就是說,報文以加密的形式傳輸,從而完成權限驗證。在具體實 現(xiàn)時,既可以對所有的關于權限驗證的報文加密,也可以只對攜帶有重要信息的報文才加 密,而對于不影響權限驗證的報文則可以不加密。例如,由于獲得模塊獲得的管理端發(fā)出的 請求權限驗證的報文可能會攜帶例如權限驗證所需要的密鑰、密碼或口令等重要信息,所 以對這樣的請求權限驗證的報文可以加密,從而避免因密鑰、密碼或口令等重要信息被其 他管理端截獲,而冒充合法的管理端對網(wǎng)絡設備造成破壞,而對于響應模塊發(fā)出的對所述 請求的響應來說,由于這個響應一般只用于說明權限驗證通過與否,并不會對權限驗證本 身有特別影響,所以對這個響應可以不加密。當然,至于是否需要對報文加密或者對哪個或 哪些報文需要加密,可以由本領域技術人員根據(jù)實際需要而定。 顯然,圖4所示的裝置中的各個單元可以設置在代理端中,這些單元在代理端中 的工作方式與在圖4所示的裝置中的工作方式相同,這里不再贅述。 本領域技術人員都應該知道,基于SNMP的網(wǎng)絡管理的一項重要工作就是Tr即報
文的處理。對此,本發(fā)明還提供了基于SNMP的Tr即報文的處理方法及裝置。 圖5為本發(fā)明的一種基于SNMP的Tr即報文的處理方法的流程圖。如圖5所示,
包括 S501 :對管理端的首次權限驗證成功后,生成對應于所述管理端的Trap端口 ;
S502 :向所述管理端通知有關所述Trap端口的信息; S503 :當有Trap報文需要上報給所述管理端時,將所述Trap報文發(fā)送到所述 Tr即端口 。
對管理端的權限驗證可以使用圖3所示的方法,也可以使用其他的權限驗證的方 法。 在生成對應于所述管理端的Trap端口時,可以隨機生成一個Trap端口 。優(yōu)選的, 生成的對應于所述管理端的Trap端口與對應于其他管理端的Trap端口不同,也就是說,盡 量避免多個管理端對應一個Trap端口 ,從而避免大量的Trap端口擁塞在一個Trap端口 。
生成對應于所述管理端的Trap端口后,還可以記錄所述管理端與所述Trap端口 之間的對應關系,例如記錄所述管理端的IP地址與所述Trap端口之間的對應關系,這樣便 于在所述管理端后續(xù)通過權限驗證后,無須再生成Tr即端口,而只需查找所述對應關系, 從而將對應的Trap端口的信息通知給管理端。在具體實現(xiàn)時,可以生成一個映射表,這個 映射表可以記載管理端與對應的Trap端口之間的映射關系,每當生成對應一個管理端的 Trap端口后,就將這個管理端與這個Trap端口之間的映射關系增加到映射表中。
在實際應用中,可能由于某種或某些原因,管理端在首次通過權限驗證后,還會多 次請求代理端進行權限驗證。例如,如果管理端所在的工作站或代理端所在的網(wǎng)絡設備重 新啟動,那么管理端為了繼續(xù)與代理端進行通信,就需要再次請求代理端進行權限驗證。這 里需要說明的是,獲得管理端的權限驗證的再次請求可以發(fā)生在生成對應于所述管理端的 Trap端口后的任意一個時刻。當后續(xù)對所述管理端的權限驗證成功后,可以查找所述管理 端是否對應于一個Trap端口 ,如果是,則向所述管理端通知有關所述Trap端口的信息,否 則,生成對應于所述管理端的Trap端口 ,向所述管理端通知有關所述Trap端口的信息。也 就是說,當對所述管理端的再次權限驗證通過后,如果對應于所述管理端的Trap端口仍然 存在,則為所述管理端分配的Trap端口還是首次為所述管理端生成的Trap端口,但是,如 果對應于所述管理端的Tr即端口由于某種或某些原因(例如數(shù)據(jù)丟失)已經(jīng)不存在,那么 就需要重新為所述管理端生成Tr即端口 。當然,重新生成Tr即端口后,可以記錄所述管理 端與所述重新生成的Trap端口之間的對應關系。實際上,這個實施方式可以應用于對所述 管理端的首次驗證通過后的任意一次驗證通過后的場景。 S502中提到的有關所述Trap端口的信息可以是指所述Trap端口的端口號等能 夠標識所述Trap端口的信息,其目的是使所述管理端能夠確定需要監(jiān)聽哪一個Trap端口 。 向所述管理端通知有關所述Trap端口的信息可以通過與所述管理端建立的用于通信的通 道進行,這個通道可以是上述的用于權限驗證的自定義的通道。當有Tr鄰報文需要上報給 所述管理端時,就可以將所述Trap報文發(fā)送到所述Trap端口 ,所述管理端監(jiān)聽到有Trap 報文到達所述Trap端口后,就會處理到達所述Trap端口的Trap報文。
顯然,S501、 S502及S503的執(zhí)行主體可以是代理端。 對應于圖5所示的方法,本發(fā)明還提供一種基于SNMP的Trap報文的處理裝置。如 圖6所示,包括權限驗證單元61,用于對管理端進行權限驗證;端口生成單元62,用于在 所述權限驗證單元61對管理端的首次權限驗證成功后,生成對應于所述管理端的Trap端 口 ;通知單元63,用于向所述管理端通知有關所述端口生成單元62生成的Tr即端口的信 息;報文發(fā)送單元64,用于在所述通知單元63向所述管理端通知有關所述端口生成單元62 生成的Trap端口的信息后,當有Trap報文需要上報給所述管理端時,將所述Trap報文發(fā) 送到所述Tr即端口 。 權限驗證單元61對管理端的 限驗證可以參照圖4所示的權限驗證單元42進行權限驗證的有關描述,這里不再贅述。當然,權限驗證單元61還可以使用其他的權限驗證 的方法對管理端進行權限驗證。 端口生成單元62在生成對應于所述管理端的Trap端口時,可以隨機生成一個 Trap端口 。優(yōu)選的,生成的對應于所述管理端的Trap端口與對應于其他管理端的Trap端 口 (未必是所述端口生成單元62生成的)不同,也就是說,盡量避免多個管理端對應一個 Trap端口 ,從而避免大量的Trap端口擁塞在一個Trap端口 。 圖6所示的裝置還可以包括記錄單元65,用于在所述端口生成單元62生成對應于 所述管理端的Trap端口后,記錄所述管理端與所述Trap端口之間的對應關系,例如記錄所 述管理端的IP地址與所述Trap端口之間的對應關系,這樣便于在所述管理端后續(xù)通過權 限驗證后,無須端口生成單元62再生成Trap端口 ,而只需查找所述對應關系,通知單元63 從而將對應的Trap端口的信息通知給管理端。在具體實現(xiàn)時,記錄單元65可以生成一個 映射表,這個映射表可以記載管理端與對應的Trap端口之間的映射關系,每當端口生成單 元62生成對應一個管理端的Trap端口后,記錄單元65就將這個管理端與這個Trap端口 之間的映射關系增加到映射表中。 在實際應用中,可能由于某種或某些原因,管理端在首次通過權限驗證后,還會多 次請求代理端進行權限驗證。例如,如果管理端所在的工作站或代理端所在的網(wǎng)絡設備重 新啟動,那么管理端為了繼續(xù)與代理端進行通信,就需要再次請求代理端進行權限驗證。這 里需要說明的是,獲得管理端的權限驗證的再次請求(執(zhí)行主體可以是權限驗證單元61) 可以發(fā)生在端口生成單元62生成對應于所述管理端的Tr即端口后的任意一個時刻。圖6 所示的裝置還可以包括查找單元66,用于當權限驗證單元61后續(xù)對所述管理端的權限驗 證成功后,查找所述管理端是否對應于一個Trap端口 ,如果是,則通知單元63向所述管理 端通知有關所述Tr即端口的信息,否則,端口生成單元62生成對應于所述管理端的Tr即 端口 ,通知單元63向所述管理端通知有關所述Trap端口的信息。也就是說,當權限驗證單 元61對所述管理端的再次權限驗證通過后,如果查找單元66能夠確定對應于所述管理端 的Tr即端口仍然存在,則為所述管理端分配的Tr即端口 (執(zhí)行主體可以是通知單元63) 還是首次為所述管理端生成的Trap端口 ,但是,如果查找單元66能夠對應于所述管理端的 Tr即端口由于某種或某些原因(例如數(shù)據(jù)丟失)已經(jīng)不存在,那么端口生成單元62就需 要重新為所述管理端生成Tr即端口。當然,端口生成單元62重新生成Tr即端口后,記錄 單元65可以記錄所述管理端與所述端口生成單元62重新生成的Tr即端口之間的對應關 系。實際上,這個實施方式可以應用于權限驗證單元61對所述管理端的首次驗證通過后的 任意一次驗證通過后的場景。 上述提到的有關所述Trap端口的信息可以是指所述Trap端口的端口號等能夠標 識所述Trap端口的信息,其目的是使所述管理端能夠確定需要監(jiān)聽哪一個Trap端口 。通 知單元63向所述管理端通知有關所述Trap端口的信息可以通過圖6所示的裝置與所述管 理端建立的用于通信的通道進行,這個通道可以是上述的用于權限驗證的自定義的通道。 當有Trap報文需要上報給所述管理端時,報文發(fā)送單元64就可以將所述Trap報文發(fā)送到 所述Trap端口 ,所述管理端監(jiān)聽到有Trap報文到達所述Trap端口后,就會處理到達所述 Tr即端口的Tr即報文。 顯然,圖6所示的裝置中的各個單元可以設置在代理端中,這些單元在代理端中的工作方式與在圖6所示的裝置中的工作方式相同,這里不再贅述。 圖5所示的方法及圖6所示的裝置是從代理端的角度來描述本發(fā)明的基于SNMP 的Trap報文的處理方案的,實際上,還可以從管理端的角度來描述本發(fā)明的基于SNMP的 Trap報文的處理方案。對此,下面再介紹一種基于SNMP的Trap報文的處理方法及管理端。
圖7為本發(fā)明的另一種基于SNMP的Trap報文的處理方法的流程圖。如圖7所示, 包括 S701 :管理端獲得代理端提供的有關對應于所述管理端的Trap端口的信息;
S702 :所述管理端監(jiān)聽所述Tr即端口 ; S703 :當有Trap報文到達所述Trap端口后,所述管理端處理所述Trap報文。
具體的,對應于所述管理端的Tr即端口是所述代理端生成的,進一步來說,是所 述代理端隨機生成的。優(yōu)選的,對應于所述管理端的Trap端口與對應于其他管理端的Trap 端口 (未必是所述代理端生成的)不同,也就是說,盡量避免多個管理端對應一個Trap端 口 ,從而避免大量的Trap端口擁塞在一個Trap端口 。 有關對應于所述管理端的Trap端口的信息可以是指所述Trap端口的端口號等能 夠標識所述Trap端口的信息,這樣,所述管理端就能夠確定需要監(jiān)聽哪一個Trap端口 。
管理端獲得代理端提供的有關對應于所述管理端的Trap端口的信息可以通過所 述管理端與所述代理端建立的用于通信的通道進行,這個通道可以是上述的用于權限驗證 的自定義的通道。 所述管理端確定需要監(jiān)聽的Trap端口后,就可以對所述Trap端口進行監(jiān)聽。當 監(jiān)聽到有Trap報文到達所述Trap端口后,所述管理端就可以處理Trap報文。
對應于圖7所示的方法,本發(fā)明還提供一種基于SNMP的管理端。如圖8所示,包 括信息獲得單元81,用于獲得代理端提供的有關對應于所述管理端的Trap端口的信息; 監(jiān)聽單元82,用于監(jiān)聽所述信息獲得單元81獲得的有關對應于所述管理端的Trap端口的 信息所指示的Trap端口 ;報文處理單元83,用于當所述監(jiān)聽單元82監(jiān)聽到有Trap報文到 達所述Tr即端口后,處理所述Tr即報文。 具體的,對應于所述管理端的Trap端口是所述代理端生成的,進一步來說,是所 述代理端隨機生成的。優(yōu)選的,對應于所述管理端的Trap端口與對應于其他管理端的Trap 端口 (未必是所述代理端生成的)不同,也就是說,盡量避免多個管理端對應一個Trap端 口 ,從而避免大量的Trap端口擁塞在一個Trap端口 。 信息獲得單元81獲得的有關對應于所述管理端的Trap端口的信息可以是指所述 Trap端口的端口號等能夠標識所述Trap端口的信息,這樣,監(jiān)聽單元82就能夠確定需要監(jiān) 聽哪一個Tr即端口。 信息獲得單元81獲得代理端提供的有關對應于所述管理端的Trap端口的信息可 以通過所述管理端與所述代理端建立的用于通信的通道進行,這個通道可以是上述的用于 權限驗證的自定義的通道。 監(jiān)聽單元82確定需要監(jiān)聽的Trap端口后,就可以對所述Trap端口進行監(jiān)聽。當 監(jiān)聽單元82監(jiān)聽到有Tr即報文到達所述Tr即端口后,報文處理單元83就可以處理Tr即 報文。 在實際應用中,本發(fā)明的基于SNMP的安全管理方案與Trap報文的處理方案可以
13結合使用。 例如,可以將圖l所示的方法與圖7所示的方法結合使用。具體的,如果管理端在 S102中的權限驗證通過,則可以執(zhí)行S701。 例如,可以將圖2所示的裝置與圖8所示的管理端結合使用。具體的,如果權限驗 證單元22在自定義的通道上與代理端進行的權限驗證通過后,信息獲得單元81可以獲得 代理端提供的有關對應于所述管理端的Trap端口的信息。 例如,可以將圖3所示的方法與圖5所示的方法結合使用。具體的,如果代理端在 S302中對管理端的首次權限驗證通過后,則可以執(zhí)行S501。 再例如,可以將圖4所示的裝置與圖6所示的裝置結合使用。具體的,權限驗證單 元42可以等同于權限驗證單元61。 為使本領域技術人員更加清楚的理解本發(fā)明,下面再結合圖9,介紹本發(fā)明的一個
優(yōu)選實施例。如圖9所示,包括 S901 :管理端與代理端建立自定義通道; S902 :管理端向代理端請求進行權限驗證; S903 :代理端判斷權限驗證是否通過,如果是,則轉S905,否則,轉S904 ;
S904 :斷開自定義通道; S905 :代理端在預先建立的記錄管理端與Trap端口之間的映射關系的映射表中 查找所述管理端是否對應一個Trap端口 ,如果是,則轉S907,否則,轉S906 ;
S906 :代理端隨機生成對應所述管理端的Trap端口 ,在所述映射表中增加所述管 理端與所述隨機生成的Trap端口之間的映射關系,將有關所述隨機生成的Trap端口的信 息通知給所述管理端,轉S908 ; S907 :代理端將所述查找到的與所述管理端對應的Trap端口的信息通知給所述 管理端,轉S908 ; S908 :管理端監(jiān)聽所述代理端提供的Tr即端口的信息所對應的Tr即端口 ;
S909 :斷開自定義通道。 這里需要說明的是,S908和S909沒有必然的先后順序關系,例如,執(zhí)行S907后,
由于代理端已經(jīng)將Tr即端口的信息通知給所述管理端,所以可以直接執(zhí)行S909。 綜上所述,本發(fā)明在安全性上對SNMPv2有很大提高,主要表現(xiàn)在以下幾個方面
(1)使用自定義的通道進行用戶(即上述的管理端)鑒權,而沒有使用SNMP定義的通信方
式進行用戶鑒權;(2)在基于SNMP工作之前,增加了用戶鑒權的步驟,使得沒有權限的用戶
不能與代理端進行SNMP通信;(3)使用動態(tài)Tr即端口進行監(jiān)聽,防止惡意用戶進行非法監(jiān)聽。 本發(fā)明不但在安全性上對SNMPv2有較大的改善,而且在工作效率上優(yōu)于SNMPv3, 特別是在多管理端同時運行在同一個工作站的情況下,還能提高簡單網(wǎng)絡管理系統(tǒng)的工作 效率。 為證明本發(fā)明在安全性和效率性的相對優(yōu)勢,本發(fā)明的發(fā)明人對SNMPv2、 SNMPv3 與本發(fā)明在安全性和效率性的表現(xiàn)進行了比較,比較結果如圖IO所示。由圖IO可以看 出,在只有一個管理端工作的情況下,本發(fā)明在安全性上要優(yōu)于SNMPv2,在效率性上要優(yōu)于 SNMPv3,在多個管理端同時工作的情況下,本發(fā)明在安全性和效率性上要優(yōu)于SNMPv2,在效
14率性上要優(yōu)于S醒Pv3。 以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人 員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應 視為本發(fā)明的保護范圍。
權利要求
一種基于簡單網(wǎng)絡管理協(xié)議SNMP的安全管理方法,其特征在于,包括與代理端建立用于通信的通道;在所述通道上與代理端進行權限驗證。
2. 如權利要求1所述的方法,其特征在于,在所述通道上與代理端進行權限驗證的過 程包括在所述通道上向代理端請求權限驗證; 在所述通道上獲得代理端對所述請求的響應。
3. 如權利要求2所述的方法,其特征在于,在所述通道上向代理端請求權限驗證的實 現(xiàn)方式為在所述通道上向代理端發(fā)送攜帶有權限驗證所需要的密鑰、密碼或口令的請求 報文;在所述通道上獲得代理端對所述請求的響應的實現(xiàn)方式為在所述通道上獲得代理端 發(fā)出的響應報文。
4. 如權利要求2或3所述的方法,其特征在于,對所述請求的響應的內(nèi)容包括權限驗證 通過或權限驗證失敗。
5. 如權利要求1所述的方法,其特征在于,在所述通道上通過傳輸加密的報文與代理 端進行權限驗證。
6. —種基于SNMP的安全管理裝置,其特征在于,包括 通道建立單元,用于與代理端建立用于通信的通道;權限驗證單元,用于在所述通道建立單元建立的通道上與代理端進行權限驗證。
7. 如權利要求6所述的裝置,其特征在于,所述權限驗證單元包括 請求模塊,用于在所述通道上向代理端請求權限驗證; 獲得模塊,用于在所述通道上獲得代理端對所述請求的響應。
8. 如權利要求1所述的裝置,其特征在于,所述權限驗證單元通過加密的報文傳輸在 所述通道上與代理端進行權限驗證。
9. 一種基于SNMP的安全管理方法,其特征在于,包括 與管理端建立用于通信的通道; 在所述通道上與管理端進行權限驗證。
10. 如權利要求9所述的方法,其特征在于,在所述通道上與管理端進行權限驗證的過 程包括在所述通道上獲得管理端進行權限驗證的請求; 對管理端進行權限驗證;在所述通道上向管理端發(fā)出對所述請求的響應。
11. 如權利要求io所述的方法,其特征在于,在所述通道上獲得管理端進行權限驗證的請求的實現(xiàn)方式為在所述通道上獲得管理端發(fā)送的攜帶有權限驗證所需要的密鑰、密碼或口令的請求報文;對管理端進行權限驗證的過程包括對所述密鑰、密碼或口令進行驗證; 在所述通道上向管理端發(fā)出對所述請求的響應的實現(xiàn)方式為在所述通道上向管理端發(fā)出對所述請求的響應報文。
12. 如權利要求10或11所述的方法,其特征在于,如果對管理端的權限驗證通過,則在所述通道上向管理端發(fā)出對所述請求的響應的內(nèi)容包括權限驗證通過;如果對管理端的權 限驗證失敗,則在所述通道上向管理端發(fā)出對所述請求的響應的內(nèi)容包括權限驗證失敗。
13. —種基于SNMP的安全管理裝置,其特征在于,包括 通道建立單元,用于與管理端建立用于通信的通道;權限驗證單元,用于在所述通道建立單元建立的通道上與管理端進行權限驗證。
14. 如權利要求13所述的裝置,其特征在于,所述權限驗證單元包括 獲得模塊,用于在所述通道上獲得管理端進行權限驗證的請求;驗證模塊,用于在所述獲得模塊在所述通道上獲得管理端進行權限驗證的請求后,對 管理端進行權限驗證;響應模塊,用于在所述驗證模塊對管理端進行權限驗證后,在所述通道上向管理端發(fā) 出對所述請求的響應。
15. 如權利要求14所述的裝置,其特征在于,所述獲得模塊獲得的請求的形式為攜帶 有權限驗證所需要的密鑰、密碼或口令的請求報文;所述驗證模塊對管理端進行權限驗證的實現(xiàn)方式為對所述密鑰、密碼或口令進行驗證;所述響應模塊發(fā)出的響應的形式為對所述請求的響應報文。
16. —種基于SNMP的陷阱Tr即報文的處理方法,其特征在于,包括 對管理端的首次權限驗證成功后,生成對應于所述管理端的Trap端口 ; 向所述管理端通知有關所述Trap端口的信息;當有Trap報文需要上報給所述管理端時,將所述Trap報文發(fā)送到所述Trap端口 。
17. 如權利要求16所述的方法,其特征在于,向所述管理端通知有關所述Trap端口的 信息是通過與所述管理端建立的用于通信的通道進行的。
18. 如權利要求17所述的方法,其特征在于,生成對應于所述管理端的Trap端口后,還 包括記錄所述管理端與所述Trap端口之間的對應關系。
19. 如權利要求18所述的方法,其特征在于,生成對應于所述管理端的Trap端口后, 還包括當后續(xù)對所述管理端的權限驗證成功后,查找所述管理端是否對應于一個Trap端 口 ,如果是,則向所述管理端通知有關所述Trap端口的信息,否則,生成對應于所述管理端 的Trap端口 ,向所述管理端通知有關所述Trap端口的信息。
20. 如權利要求16-19任意一項所述的方法,其特征在于,對應于所述管理端的Trap端 口與對應于其他管理端的Trap端口不同。
21. —種基于SNMP的Tr即報文的處理裝置,其特征在于,包括 權限驗證單元,用于對管理端進行權限驗證;端口生成單元,用于在所述權限驗證單元對管理端的首次權限驗證成功后,生成對應于所述管理端的Tr即端口 ;通知單元,用于向所述管理端通知有關所述端口生成單元生成的Trap端口的信息; 報文發(fā)送單元,用于在所述通知單元向所述管理端通知有關所述端口生成單元生成的Trap端口的信息后,當有Trap報文需要上報給所述管理端時,將所述Trap報文發(fā)送到所述Tr即端口 。
22. 如權利要求21所述的裝置,其特征在于,所述通知單元向所述管理端通知有關所述端口生成單元生成的Trap端口的信息是通過所述裝置與所述管理端建立的用于通信的 通道進行的。
23. 如權利要求21所述的裝置,其特征在于,還包括記錄單元,用于在所述端口生成 單元生成對應于所述管理端的Trap端口后,記錄所述管理端與所述Trap端口之間的對應 關系。
24. 如權利要求21所述的裝置,其特征在于,還包括查找單元,用于在所述端口生成 單元生成對應于所述管理端的Trap端口后,當所述權限驗證單元后續(xù)對所述管理端的權 限驗證成功后,查找所述管理端是否對應于一個Trap端口 ,如果是,則所述通知單元向所 述管理端通知有關所述Trap端口的信息,否則,所述端口生成單元生成對應于所述管理端 的Trap端口 ,所述通知單元向所述管理端通知有關所述端口生成單元生成的Trap端口的 信息。
25. —種基于SNMP的Trap報文的處理方法,其特征在于,包括 管理端獲得代理端提供的有關對應于所述管理端的Trap端口的信息; 所述管理端監(jiān)聽所述Tr即端口 ;當有Trap報文到達所述Trap端口后,所述管理端處理所述Trap報文。
26. 如權利要求25所述的方法,其特征在于,所述管理端獲得代理端提供的有關對應 于所述管理端的Trap端口的信息是通過所述管理端與所述代理端建立的用于通信的通道 進行的。
27. —種基于SNMP的管理端,其特征在于,包括信息獲得單元,用于獲得代理端提供的有關對應于所述管理端的Trap端口的信息; 監(jiān)聽單元,用于監(jiān)聽所述信息獲得單元獲得的有關對應于所述管理端的Trap端口的信息所指示的Tr即端口 ;報文處理單元,用于當所述監(jiān)聽單元監(jiān)聽到有Trap報文到達所述Trap端口后,處理所述Trap矛艮文。
28. 如權利要求27所述的管理端,其特征在于,所述信息獲得單元獲得代理端提供的 有關對應于所述管理端的Trap端口的信息是通過所述管理端與所述代理端建立的用于通 信的通道進行的。
全文摘要
本發(fā)明提供一種基于SNMP的安全管理方法,包括與代理端建立用于通信的通道;在所述通道上與代理端進行權限驗證。本發(fā)明還提供一種基于SNMP的安全管理方法、兩種基于SNMP的安全管理裝置、兩種基于SNMP的Trap報文的處理方法、一種基于SNMP的Trap報文的處理裝置及一種基于SNMP的Trap報文的管理端。本發(fā)明的基于SNMP的安全管理方法及裝置不但可以可靠的保證安全性能,而且不會影響簡單網(wǎng)絡管理系統(tǒng)的工作效率。本發(fā)明的基于SNMP的Trap報文的處理方法、裝置及管理端提高了簡單網(wǎng)絡管理系統(tǒng)的工作效率。
文檔編號H04L29/06GK101753353SQ20081024025
公開日2010年6月23日 申請日期2008年12月18日 優(yōu)先權日2008年12月18日
發(fā)明者張勇, 彭強, 李文俊, 牟建斌, 范炬, 謝競, 郝玉杰 申請人:大唐移動通信設備有限公司