專利名稱:一種基于簡單網(wǎng)絡(luò)管理協(xié)議的安全管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)的安全管理,特別涉及基于SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)對網(wǎng)絡(luò)的安全性進行管理的方法。
背景技術(shù):
隨著SNMP協(xié)議的廣泛應(yīng)用,SNMP的安全性日益受到重視,SNMP的發(fā)展也主要側(cè)重于安全性的提高。
SNMP的發(fā)展經(jīng)歷了V1、V2到V3的發(fā)展。最初的SNMPv1和SNMPv2c主要采用簡單的基于團體名的驗證方式以及明文報文的傳送,任何獲取該團體名的一方都可以對設(shè)備進行管理,對于惡意攻擊者來說,這無疑是安全性方面的一個巨大漏洞。SNMPv3在前兩者的基礎(chǔ)上對協(xié)議的安全性進行了加強,SNMPv3的安全性是建立在USM(安全用戶模型)、VACM(基于視圖的訪問控制模型)基礎(chǔ)上,即從SNMPv1、SNMPv2c簡單的團體名認證方式改進為復(fù)雜的USM驗證以及VACM驗證。可以說SNMP發(fā)展到SNMPv3版本,安全性已經(jīng)提高到了一個非常高的水平。目前現(xiàn)有技術(shù)的SNMP系統(tǒng)大部分都是兼容SNMPv1/SNMPv2c/SNMPv3三個版本。
現(xiàn)有的SNMP代理模型如圖1所示。目前定義了三個消息處理子系統(tǒng)V1MP、V2CMP和V3MP,其中V1MP、V2CMP的安全檢驗由基于團體名模型的安全子系統(tǒng)完成,V3MP的安全檢驗由基于用戶的安全管理模塊的安全子系統(tǒng)完成。在SNMPv3中引入了VACM,用于訪問控制子系統(tǒng)的實現(xiàn),但是SNMPv1和SNMPv2c沒有視圖的定義。
現(xiàn)有技術(shù)的SNMP安全體系完全依賴于協(xié)議本身定義的安全策略。但是,由于目前SNMPv3無法解決三個版本共存之后SNMPv1和SNMPv2c所帶來的安全隱患。如何在SNMPv1/SNMPv2c/SNMPv3三個版本共存的情況下實現(xiàn)安全管理是目前在應(yīng)用中遇到的一個問題。具體地說1.多個版本共存的SNMP代理模型無法在代理側(cè)對所支持的版本進行控制,因此無法保證代理使用統(tǒng)一的安全標(biāo)準。
2.無法記錄網(wǎng)管的訪問情況3.在SNMP本身驗證方式失效的情況下無法保證代理的安全發(fā)明內(nèi)容因此,為了克服現(xiàn)有技術(shù)的SNMP存在的上述缺陷,本發(fā)明提出了一種新的基于SNMP的安全管理方法。該方法對安全子系統(tǒng)進行了擴充,增加了基于版本驗證的安全管理、基于時效性的安全管理以及基于網(wǎng)管地址過濾的安全管理。
本發(fā)明的基于SNMP的安全管理方法包括如下步驟對SNMP請求報文進行版本驗證,如果通過版本驗證,則接受該SNMP請求,否則拒絕該SNMP請求;和/或?qū)νㄟ^版本驗證的SNMP請求報文進行基于網(wǎng)管地址的驗證,如果通過基于網(wǎng)管地址的驗證,則接受該SNMP請求,否則拒絕該SNMP請求;和/或?qū)νㄟ^基于網(wǎng)管地址驗證的SNMP請求報文進行時效驗證,如果通過時效驗證,則接受該SNMP請求,否則拒絕該SNMP請求。
根據(jù)本發(fā)明的上述方法,能夠很好地解決不同SNMP版本共存時的安全性問題。
通過詳細文字說明并結(jié)合以下附圖,本發(fā)明的上述目的、特征及優(yōu)點將變得更加易于理解,其中圖1是說明現(xiàn)有技術(shù)的SNMP代理模型的示意圖;圖2是說明本發(fā)明的SNMP代理模型的流程圖;圖3是說明根據(jù)本發(fā)明的基于版本驗證的原理示意圖;圖4是說明根據(jù)本發(fā)明的基于網(wǎng)管地址的訪問控制模型;圖5是說明根據(jù)本發(fā)明的基于網(wǎng)管地址的日志信息模型;圖6是說明根據(jù)本發(fā)明的基于時效性管理的工作過程。
具體實施例方式
下面結(jié)合圖2-6說明本發(fā)明的優(yōu)選實施方案。
如圖2所示,在本發(fā)明的實施方案中,對SNMP代理模型安全子系統(tǒng)進行了擴充,增加了基于版本驗證的安全管理、基于時效性的安全管理以及基于網(wǎng)管地址過濾的安全管理。下面分別予以說明。
一、基于版本驗證的安全管理基于版本驗證的安全管理用于控制代理所允許的SNMP報文請求版本。調(diào)度器將SNMP請求報文交給消息處理子系統(tǒng)處理之前,首先通過版本控制模塊的版本驗證,只有通過版本驗證的SNMP請求才會繼續(xù)處理,否則將該報文丟棄,并將SnmpInBadVersions計數(shù)器加1。
本發(fā)明的版本控制方法是針對已經(jīng)實現(xiàn)的SNMP版本進行選擇性保護,將不同的版本根據(jù)網(wǎng)管對SNMP的支持情況進行打開或者關(guān)閉。圖3描述了版本驗證與版本控制的原理,其具體過程如下AGENT(代理)在接收到的報文進行解碼的時候,首先獲得報文的版本信息,在驗證了版本的合法性(即所獲得的版本信息滿足協(xié)議要求,同時滿足已有實現(xiàn)的要求)之后,將該報文的版本信息輸入版本控制模塊中,檢查當(dāng)前處理報文是否可以通過版本開關(guān)的開關(guān)設(shè)置條件。
本發(fā)明的版本控制模塊中,版本控制開關(guān)可以通過命令行接口(Command Line Interface)進行自由配置(版本的打開與關(guān)閉沒有自由度限制),也可以通過網(wǎng)管的SNMP報文請求進行控制。從安全性上考慮,在本發(fā)明的一個實施例中,設(shè)定只有高版本的請求才可以關(guān)閉低版本的開關(guān),也就是SNMPv3能夠控制SNMPv2c和SNMPv1,而SNMPv2c只能夠控制SNMPv1,SNMPv1不可以控制任何版本開關(guān)。當(dāng)關(guān)閉版本開關(guān)時,就意味著該版本報文的請求被拒絕。
在原有的SNMP代理模型基礎(chǔ)上增加了版本控制模塊后,可以解決版本共存時帶來的安全隱患,能夠充分發(fā)揮SNMP協(xié)議的簡單性與安全性的和諧統(tǒng)一。
二、基于網(wǎng)管地址的安全管理為了克服現(xiàn)有技術(shù)無法記錄網(wǎng)管訪問情況的問題,該模塊包含兩個子模塊,一個是基于網(wǎng)管地址的訪問控制模型,另一個是基于網(wǎng)管地址的日志信息模型。
首先說明基于網(wǎng)管地址的訪問控制模型。該模型如圖4所示。針對SNMPv1和SNMPv2c采用團體名(COMMUNITY)認證方式的情況,在本發(fā)明的實施方案中,在團體名驗證的時候附加了請求源地址的訪問控制的驗證方式。也就是說,不僅要如現(xiàn)有技術(shù)那樣驗證團體名,還要檢查與該團體名相關(guān)的SNMP請求源地址的合法性,以實現(xiàn)SNMPv1和SNMPv2c的訪問控制。
團體名驗證方式通過SNMPv1/v2c報文中所攜帶的團體名字符串與LCD(本地配置庫)中配置的團體信息進行比較,如果所進行的操作符合LCD中的團體名操作權(quán)限(讀/寫權(quán)限),就認為團體名驗證成功。由于SNMPv1/v2c是明文傳輸報文,所以團體名被竊聽的可能性很大,一旦合法的團體名被非法竊聽,那么只要以該團體名訪問AGENT,都將被判斷是合法的。通過本發(fā)明的在團體名驗證后附加源地址訪問控制可以在一定程度上避免這種危害。
請求源地址的訪問控制的驗證過程是通過請求報文中的團體名在LCD中查找與之對應(yīng)的ACL(訪問控制列表)規(guī)則,如果能夠查找到ACL規(guī)則,那么將請求報文的源地址與查找到的ACL規(guī)則匹配,如果匹配成功,認為請求源地址的訪問控制的驗證通過,否則驗證失敗,將該請求報文丟棄,終止處理過程。如果沒有查找到相應(yīng)的ACL,則表明該團體名配置的時候沒有附加配置ACL規(guī)則,那么認為該團體名不進行ACL檢查,也就相當(dāng)于對請求源地址的訪問控制的驗證是成功的。
另外,在圖4中,針對SNMPv3采用基于用戶的安全驗證方式的情況,在本發(fā)明的實施方案中,在USM的基礎(chǔ)上增加了兩層訪問控制,第一層為用戶地址訪問控制,只有通過了用戶地址訪問控制的請求才會被進一步處理;第二層為組的地址訪問控制,如果SNMPv3用戶所屬的組沒有通過訪問控制的驗證,則該請求報文將被丟棄。
經(jīng)USM驗證通過的USM用戶,首先進行USER ACL檢查,從LCD中獲取該用戶對應(yīng)的ACL規(guī)則,然后將承載該用戶請求的SNMP報文源地址與獲得的ACL規(guī)則進行匹配,如果匹配失敗,認為該用戶的報文認證失敗,丟棄報文,終止處理過程。否則進入下一層訪問控制GROUP ACL檢查。
GROUP ACL檢查過程是根據(jù)USM用戶查找LCD,獲取該用戶所屬的組(GROUP),根據(jù)組從LCD中獲得相應(yīng)的ACL規(guī)則,將承載該用戶請求的SNMP報文源地址與獲得的ACL規(guī)則進行匹配,如果匹配失敗,認為該用戶的報文認證失敗,丟棄報文,終止處理過程。在上述兩層檢驗的過程中如果在查找相關(guān)ACL規(guī)則的時候查找失敗,那么認為沒有任何ACL規(guī)則實施檢查,即可認為驗證是成功的。也就是說,雖然在group上配置了ACL規(guī)則,但是這個ACL規(guī)則實際上是一個無效的規(guī)則,那么認為對group是不進行的ACL檢查的,也就是ACL驗證是成功的。
圖5為基于網(wǎng)管地址的日志信息模型的工作原理圖。如圖5所示,在SNMP代理側(cè)(即AGENT)設(shè)置一個網(wǎng)管地址緩沖池,可以通過配置工具(例如網(wǎng)管、命令行等)對緩沖池的屬性進行設(shè)置。網(wǎng)管地址緩沖池的屬性可以設(shè)置很多,例如可設(shè)置緩沖池的大小,緩沖池地址類型等。緩沖池的大小決定了生成日志信息的地址的多少,通過緩沖池地址類型可以確定生成日志信息的地址類型。當(dāng)有SNMP請求報文輸入時,網(wǎng)管地址日志過濾器根據(jù)輸入報文的特性,查詢地址緩沖池的屬性,根據(jù)緩沖池的屬性確定SNMP請求報文(網(wǎng)管請求信息)是否放入網(wǎng)管地址緩沖池中。當(dāng)確定網(wǎng)管請求信息放入網(wǎng)管地址緩沖池中時,則生成進入緩沖池的信息,并立即向信息中心報告日志信息,將相關(guān)信息發(fā)往日志主機。
三、基于時效性管理的安全管理目前所有版本的SNMP都要采用加密或者鑒別信息。但是,任何一種加密或者鑒別信息只能在一定時間段內(nèi)有效,即具有時效性。隨著破解手段以及計算速度的逐漸增強,這些安全措施在足夠長的時間后就會失效。因此本發(fā)明提出了時效性安全管理模型。這個模型的核心思想是對于AGENT訪問者設(shè)置一定的訪問時效,只有在訪問時效內(nèi)所進行的訪問才被允許,超過訪問時效的請求都會被拒絕。其工作過程如圖6所示。
具體地說,如圖6所示,通過配置工具如網(wǎng)管、命令行等進行時效配置和訪問控制配置。將設(shè)定的時效配置放入時效配置庫(TCD)中,將設(shè)定的訪問控制配置放入訪問控制配置庫(ACD)中。所設(shè)定的時效配置和訪問控制配置共同構(gòu)成了訪問控制的時效規(guī)則。
時效配置主要指配置時間段規(guī)則,可配置的時間段規(guī)則有
一天內(nèi)的一段時間ΔT;一周中的一天Dayofweek;起始日期StartDay;結(jié)束日期EndDay通過下面的組合規(guī)則可以實現(xiàn)相關(guān)時間段規(guī)則(其中“[]”表示其中的內(nèi)容為可選項)ΔT[Dayofweek][StartDay][EndDay]例如時效配置為ΔT表示每天的一段時間ΔT;而ΔT StartDay EndDay表示從StartDay到EndDay這段日期內(nèi)的每天的一段時間ΔT。
當(dāng)有SNMP請求報文輸入時,AGENT提取時效控制元(包括IP地址、團體名(僅對SNMPv1和SNMPv2c)、用戶名、組名等)。將提取的時效控制元與上述訪問控制時效規(guī)則進行匹配,如果匹配失敗,則拒絕訪問請求。反之,如果匹配成功,則允許訪問請求。
訪問控制主要是將時效配置在TCD中的時效規(guī)則應(yīng)用于已有的SNMP配置內(nèi)容,形成具有一定時效效應(yīng)的配置項。例如時效配置規(guī)則T-Rule定義如下T-RuleΔT StartDay EndDay通過將T-Rule與SNMPv3用戶配置進行綁定,形成只在T-Rule時間規(guī)則內(nèi)有效的SNMPv3。需要說明的是,在此只是例舉SNMPv3說明時效性管理的應(yīng)用,實際上對于SNMP的其他配置都可以實施這種管理)用戶,這樣就保證了SNMPv3用戶活動的時效性,從而加強了AGENT的安全性。
權(quán)利要求
1.基于SNMP的安全管理方法,包括對SNMP請求報文進行版本驗證,如果通過版本驗證,則接受該SNMP請求,否則拒絕該SNMP請求;和/或?qū)NMP請求報文進行基于網(wǎng)管地址的驗證,如果通過基于網(wǎng)管地址的驗證,則接受該SNMP請求,否則拒絕該SNMP請求;和/或?qū)NMP請求報文進行時效驗證,如果通過時效驗證,則接受該SNMP請求,否則拒絕該SNMP請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述版本驗證包括1)根據(jù)所述SNMP請求報文中的版本信息,驗證其版本的合法性;2)在驗證該報文的版本合法后,根據(jù)該報文版本信息檢查當(dāng)前處理報文是否可以通過版本開關(guān)的設(shè)置條件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述版本開關(guān)的設(shè)置條件是,只有高版本的請求可以關(guān)閉低版本的開關(guān)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于網(wǎng)管地址的驗證包括對于SNMPv1和SNMPv2c類型的請求報文,進行團體名驗證和與該團體名相關(guān)的SNMP請求源地址的驗證;對于SNMPv3類型的請求報文,進行安全用戶模型驗證、用戶地址驗證和組地址驗證。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述與該團體名相關(guān)的SNMP請求源地址的驗證包括通過請求報文中的團體名在本地控制配置庫中查找與之對應(yīng)的ACL規(guī)則;如果能夠查找到ACL規(guī)則,則將所述SNMP請求報文的源地址與查找到的ACL規(guī)則匹配;如果匹配成功,則認為請求源地址的訪問控制的驗證通過,否則驗證失敗,將該請求報文丟棄。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對SNMPv3類型請求報文進行用戶地址驗證和組地址驗證的步驟包括對于經(jīng)USM驗證通過的USM用戶,首先進行USER ACL檢查,從LCD中獲取該用戶對應(yīng)的ACL規(guī)則;如果沒有查找到相應(yīng)的ACL,則確定為驗證是成功的;否則將所述SNMP報文的源地址與獲得的ACL規(guī)則進行匹配;如果匹配失敗,認為該用戶的報文認證失敗,丟棄報文;否則從本地配置庫中獲取該USM用戶所屬的組和相應(yīng)的ACL規(guī)則;如果沒有查找到相應(yīng)的ACL,則確定為驗證是成功的;否則將所述SNMP報文的源地址與獲得的ACL規(guī)則進行匹配;如果匹配失敗,認為該用戶的報文認證成功則所述用戶地址驗證和組地址驗證成功;否則確定所述用戶地址驗證和組地址驗證失敗,丟棄該報文并結(jié)束處理。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述時效驗證包括通過配置工具進行時效配置和訪問控制配置,所設(shè)定的時效配置和訪問控制配置共同構(gòu)成訪問控制的時效規(guī)則;對所述SNMP請求報文,提取時效控制元;將提取的時效控制元與所述述訪問控制時效規(guī)則進行匹配;如果匹配失敗,則拒絕訪問請求;和如果匹配成功,則允許訪問請求。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述時效配置的時間段規(guī)則包括一天內(nèi)的一段時間,一周中的一天,起始日期,結(jié)束日期以及它們的組合。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述訪問控制配置是將所述時效規(guī)則與SNMP相關(guān)配置綁定,形成只在所述時間規(guī)則內(nèi)有效的用戶。
10.根據(jù)上述權(quán)利要求任一項所述的方法,其特征在于,所述基于網(wǎng)管地址的驗證還包括根據(jù)SNMP報文的屬性,確定是否將該報文放入網(wǎng)管地址緩沖池;如果確定將該報文放入網(wǎng)管地址緩沖池,則向信息中心的日志主機報告日志信息。
全文摘要
本發(fā)明提供了一種基于SNMP的安全管理方法。該方法包括對SNMP請求報文進行版本驗證,如果未通過版本驗證,則拒絕該SNMP請求;對通過版本驗證的SNMP請求報文進行基于網(wǎng)管地址的驗證,如果未通過基于網(wǎng)管地址的驗證,則拒絕該SNMP請求;對通過基于網(wǎng)管地址驗證的SNMP請求報文進行時效驗證,如果通過時效驗證,則接受該SNMP請求,否則拒絕該SNMP請求。根據(jù)本發(fā)明的方法可以很好地解決不同SNMP版本共存時的安全性問題。
文檔編號H04L29/06GK1567842SQ0314622
公開日2005年1月19日 申請日期2003年7月4日 優(yōu)先權(quán)日2003年7月4日
發(fā)明者徐慶偉 申請人:華為技術(shù)有限公司