一种基于简单网络管理协议的安全管理方法

文档序号:7682489阅读:140来源:国知局
专利名称:一种基于简单网络管理协议的安全管理方法
技术领域
本发明涉及通信网络的安全管理,特别涉及基于SNMP(简单网络管理协议)对网络的安全性进行管理的方法。
背景技术
随着SNMP协议的广泛应用,SNMP的安全性日益受到重视,SNMP的发展也主要侧重于安全性的提高。
SNMP的发展经历了V1、V2到V3的发展。最初的SNMPv1和SNMPv2c主要采用简单的基于团体名的验证方式以及明文报文的传送,任何获取该团体名的一方都可以对设备进行管理,对于恶意攻击者来说,这无疑是安全性方面的一个巨大漏洞。SNMPv3在前两者的基础上对协议的安全性进行了加强,SNMPv3的安全性是建立在USM(安全用户模型)、VACM(基于视图的访问控制模型)基础上,即从SNMPv1、SNMPv2c简单的团体名认证方式改进为复杂的USM验证以及VACM验证。可以说SNMP发展到SNMPv3版本,安全性已经提高到了一个非常高的水平。目前现有技术的SNMP系统大部分都是兼容SNMPv1/SNMPv2c/SNMPv3三个版本。
现有的SNMP代理模型如图1所示。目前定义了三个消息处理子系统V1MP、V2CMP和V3MP,其中V1MP、V2CMP的安全检验由基于团体名模型的安全子系统完成,V3MP的安全检验由基于用户的安全管理模块的安全子系统完成。在SNMPv3中引入了VACM,用于访问控制子系统的实现,但是SNMPv1和SNMPv2c没有视图的定义。
现有技术的SNMP安全体系完全依赖于协议本身定义的安全策略。但是,由于目前SNMPv3无法解决三个版本共存之后SNMPv1和SNMPv2c所带来的安全隐患。如何在SNMPv1/SNMPv2c/SNMPv3三个版本共存的情况下实现安全管理是目前在应用中遇到的一个问题。具体地说1.多个版本共存的SNMP代理模型无法在代理侧对所支持的版本进行控制,因此无法保证代理使用统一的安全标准。
2.无法记录网管的访问情况3.在SNMP本身验证方式失效的情况下无法保证代理的安全发明内容因此,为了克服现有技术的SNMP存在的上述缺陷,本发明提出了一种新的基于SNMP的安全管理方法。该方法对安全子系统进行了扩充,增加了基于版本验证的安全管理、基于时效性的安全管理以及基于网管地址过滤的安全管理。
本发明的基于SNMP的安全管理方法包括如下步骤对SNMP请求报文进行版本验证,如果通过版本验证,则接受该SNMP请求,否则拒绝该SNMP请求;和/或对通过版本验证的SNMP请求报文进行基于网管地址的验证,如果通过基于网管地址的验证,则接受该SNMP请求,否则拒绝该SNMP请求;和/或对通过基于网管地址验证的SNMP请求报文进行时效验证,如果通过时效验证,则接受该SNMP请求,否则拒绝该SNMP请求。
根据本发明的上述方法,能够很好地解决不同SNMP版本共存时的安全性问题。


通过详细文字说明并结合以下附图,本发明的上述目的、特征及优点将变得更加易于理解,其中图1是说明现有技术的SNMP代理模型的示意图;图2是说明本发明的SNMP代理模型的流程图;图3是说明根据本发明的基于版本验证的原理示意图;图4是说明根据本发明的基于网管地址的访问控制模型;图5是说明根据本发明的基于网管地址的日志信息模型;图6是说明根据本发明的基于时效性管理的工作过程。
具体实施例方式
下面结合图2-6说明本发明的优选实施方案。
如图2所示,在本发明的实施方案中,对SNMP代理模型安全子系统进行了扩充,增加了基于版本验证的安全管理、基于时效性的安全管理以及基于网管地址过滤的安全管理。下面分别予以说明。
一、基于版本验证的安全管理基于版本验证的安全管理用于控制代理所允许的SNMP报文请求版本。调度器将SNMP请求报文交给消息处理子系统处理之前,首先通过版本控制模块的版本验证,只有通过版本验证的SNMP请求才会继续处理,否则将该报文丢弃,并将SnmpInBadVersions计数器加1。
本发明的版本控制方法是针对已经实现的SNMP版本进行选择性保护,将不同的版本根据网管对SNMP的支持情况进行打开或者关闭。图3描述了版本验证与版本控制的原理,其具体过程如下AGENT(代理)在接收到的报文进行解码的时候,首先获得报文的版本信息,在验证了版本的合法性(即所获得的版本信息满足协议要求,同时满足已有实现的要求)之后,将该报文的版本信息输入版本控制模块中,检查当前处理报文是否可以通过版本开关的开关设置条件。
本发明的版本控制模块中,版本控制开关可以通过命令行接口(Command Line Interface)进行自由配置(版本的打开与关闭没有自由度限制),也可以通过网管的SNMP报文请求进行控制。从安全性上考虑,在本发明的一个实施例中,设定只有高版本的请求才可以关闭低版本的开关,也就是SNMPv3能够控制SNMPv2c和SNMPv1,而SNMPv2c只能够控制SNMPv1,SNMPv1不可以控制任何版本开关。当关闭版本开关时,就意味着该版本报文的请求被拒绝。
在原有的SNMP代理模型基础上增加了版本控制模块后,可以解决版本共存时带来的安全隐患,能够充分发挥SNMP协议的简单性与安全性的和谐统一。
二、基于网管地址的安全管理为了克服现有技术无法记录网管访问情况的问题,该模块包含两个子模块,一个是基于网管地址的访问控制模型,另一个是基于网管地址的日志信息模型。
首先说明基于网管地址的访问控制模型。该模型如图4所示。针对SNMPv1和SNMPv2c采用团体名(COMMUNITY)认证方式的情况,在本发明的实施方案中,在团体名验证的时候附加了请求源地址的访问控制的验证方式。也就是说,不仅要如现有技术那样验证团体名,还要检查与该团体名相关的SNMP请求源地址的合法性,以实现SNMPv1和SNMPv2c的访问控制。
团体名验证方式通过SNMPv1/v2c报文中所携带的团体名字符串与LCD(本地配置库)中配置的团体信息进行比较,如果所进行的操作符合LCD中的团体名操作权限(读/写权限),就认为团体名验证成功。由于SNMPv1/v2c是明文传输报文,所以团体名被窃听的可能性很大,一旦合法的团体名被非法窃听,那么只要以该团体名访问AGENT,都将被判断是合法的。通过本发明的在团体名验证后附加源地址访问控制可以在一定程度上避免这种危害。
请求源地址的访问控制的验证过程是通过请求报文中的团体名在LCD中查找与之对应的ACL(访问控制列表)规则,如果能够查找到ACL规则,那么将请求报文的源地址与查找到的ACL规则匹配,如果匹配成功,认为请求源地址的访问控制的验证通过,否则验证失败,将该请求报文丢弃,终止处理过程。如果没有查找到相应的ACL,则表明该团体名配置的时候没有附加配置ACL规则,那么认为该团体名不进行ACL检查,也就相当于对请求源地址的访问控制的验证是成功的。
另外,在图4中,针对SNMPv3采用基于用户的安全验证方式的情况,在本发明的实施方案中,在USM的基础上增加了两层访问控制,第一层为用户地址访问控制,只有通过了用户地址访问控制的请求才会被进一步处理;第二层为组的地址访问控制,如果SNMPv3用户所属的组没有通过访问控制的验证,则该请求报文将被丢弃。
经USM验证通过的USM用户,首先进行USER ACL检查,从LCD中获取该用户对应的ACL规则,然后将承载该用户请求的SNMP报文源地址与获得的ACL规则进行匹配,如果匹配失败,认为该用户的报文认证失败,丢弃报文,终止处理过程。否则进入下一层访问控制GROUP ACL检查。
GROUP ACL检查过程是根据USM用户查找LCD,获取该用户所属的组(GROUP),根据组从LCD中获得相应的ACL规则,将承载该用户请求的SNMP报文源地址与获得的ACL规则进行匹配,如果匹配失败,认为该用户的报文认证失败,丢弃报文,终止处理过程。在上述两层检验的过程中如果在查找相关ACL规则的时候查找失败,那么认为没有任何ACL规则实施检查,即可认为验证是成功的。也就是说,虽然在group上配置了ACL规则,但是这个ACL规则实际上是一个无效的规则,那么认为对group是不进行的ACL检查的,也就是ACL验证是成功的。
图5为基于网管地址的日志信息模型的工作原理图。如图5所示,在SNMP代理侧(即AGENT)设置一个网管地址缓冲池,可以通过配置工具(例如网管、命令行等)对缓冲池的属性进行设置。网管地址缓冲池的属性可以设置很多,例如可设置缓冲池的大小,缓冲池地址类型等。缓冲池的大小决定了生成日志信息的地址的多少,通过缓冲池地址类型可以确定生成日志信息的地址类型。当有SNMP请求报文输入时,网管地址日志过滤器根据输入报文的特性,查询地址缓冲池的属性,根据缓冲池的属性确定SNMP请求报文(网管请求信息)是否放入网管地址缓冲池中。当确定网管请求信息放入网管地址缓冲池中时,则生成进入缓冲池的信息,并立即向信息中心报告日志信息,将相关信息发往日志主机。
三、基于时效性管理的安全管理目前所有版本的SNMP都要采用加密或者鉴别信息。但是,任何一种加密或者鉴别信息只能在一定时间段内有效,即具有时效性。随着破解手段以及计算速度的逐渐增强,这些安全措施在足够长的时间后就会失效。因此本发明提出了时效性安全管理模型。这个模型的核心思想是对于AGENT访问者设置一定的访问时效,只有在访问时效内所进行的访问才被允许,超过访问时效的请求都会被拒绝。其工作过程如图6所示。
具体地说,如图6所示,通过配置工具如网管、命令行等进行时效配置和访问控制配置。将设定的时效配置放入时效配置库(TCD)中,将设定的访问控制配置放入访问控制配置库(ACD)中。所设定的时效配置和访问控制配置共同构成了访问控制的时效规则。
时效配置主要指配置时间段规则,可配置的时间段规则有
一天内的一段时间ΔT;一周中的一天Dayofweek;起始日期StartDay;结束日期EndDay通过下面的组合规则可以实现相关时间段规则(其中“[]”表示其中的内容为可选项)ΔT[Dayofweek][StartDay][EndDay]例如时效配置为ΔT表示每天的一段时间ΔT;而ΔT StartDay EndDay表示从StartDay到EndDay这段日期内的每天的一段时间ΔT。
当有SNMP请求报文输入时,AGENT提取时效控制元(包括IP地址、团体名(仅对SNMPv1和SNMPv2c)、用户名、组名等)。将提取的时效控制元与上述访问控制时效规则进行匹配,如果匹配失败,则拒绝访问请求。反之,如果匹配成功,则允许访问请求。
访问控制主要是将时效配置在TCD中的时效规则应用于已有的SNMP配置内容,形成具有一定时效效应的配置项。例如时效配置规则T-Rule定义如下T-RuleΔT StartDay EndDay通过将T-Rule与SNMPv3用户配置进行绑定,形成只在T-Rule时间规则内有效的SNMPv3。需要说明的是,在此只是例举SNMPv3说明时效性管理的应用,实际上对于SNMP的其他配置都可以实施这种管理)用户,这样就保证了SNMPv3用户活动的时效性,从而加强了AGENT的安全性。
权利要求
1.基于SNMP的安全管理方法,包括对SNMP请求报文进行版本验证,如果通过版本验证,则接受该SNMP请求,否则拒绝该SNMP请求;和/或对SNMP请求报文进行基于网管地址的验证,如果通过基于网管地址的验证,则接受该SNMP请求,否则拒绝该SNMP请求;和/或对SNMP请求报文进行时效验证,如果通过时效验证,则接受该SNMP请求,否则拒绝该SNMP请求。
2.根据权利要求1所述的方法,其特征在于,所述版本验证包括1)根据所述SNMP请求报文中的版本信息,验证其版本的合法性;2)在验证该报文的版本合法后,根据该报文版本信息检查当前处理报文是否可以通过版本开关的设置条件。
3.根据权利要求2所述的方法,其特征在于,所述版本开关的设置条件是,只有高版本的请求可以关闭低版本的开关。
4.根据权利要求1所述的方法,其特征在于,所述基于网管地址的验证包括对于SNMPv1和SNMPv2c类型的请求报文,进行团体名验证和与该团体名相关的SNMP请求源地址的验证;对于SNMPv3类型的请求报文,进行安全用户模型验证、用户地址验证和组地址验证。
5.根据权利要求4所述的方法,其特征在于,所述与该团体名相关的SNMP请求源地址的验证包括通过请求报文中的团体名在本地控制配置库中查找与之对应的ACL规则;如果能够查找到ACL规则,则将所述SNMP请求报文的源地址与查找到的ACL规则匹配;如果匹配成功,则认为请求源地址的访问控制的验证通过,否则验证失败,将该请求报文丢弃。
6.根据权利要求4所述的方法,其特征在于,所述对SNMPv3类型请求报文进行用户地址验证和组地址验证的步骤包括对于经USM验证通过的USM用户,首先进行USER ACL检查,从LCD中获取该用户对应的ACL规则;如果没有查找到相应的ACL,则确定为验证是成功的;否则将所述SNMP报文的源地址与获得的ACL规则进行匹配;如果匹配失败,认为该用户的报文认证失败,丢弃报文;否则从本地配置库中获取该USM用户所属的组和相应的ACL规则;如果没有查找到相应的ACL,则确定为验证是成功的;否则将所述SNMP报文的源地址与获得的ACL规则进行匹配;如果匹配失败,认为该用户的报文认证成功则所述用户地址验证和组地址验证成功;否则确定所述用户地址验证和组地址验证失败,丢弃该报文并结束处理。
7.根据权利要求1所述的方法,其特征在于,所述时效验证包括通过配置工具进行时效配置和访问控制配置,所设定的时效配置和访问控制配置共同构成访问控制的时效规则;对所述SNMP请求报文,提取时效控制元;将提取的时效控制元与所述述访问控制时效规则进行匹配;如果匹配失败,则拒绝访问请求;和如果匹配成功,则允许访问请求。
8.根据权利要求7所述的方法,其特征在于,所述时效配置的时间段规则包括一天内的一段时间,一周中的一天,起始日期,结束日期以及它们的组合。
9.根据权利要求7所述的方法,其特征在于,所述访问控制配置是将所述时效规则与SNMP相关配置绑定,形成只在所述时间规则内有效的用户。
10.根据上述权利要求任一项所述的方法,其特征在于,所述基于网管地址的验证还包括根据SNMP报文的属性,确定是否将该报文放入网管地址缓冲池;如果确定将该报文放入网管地址缓冲池,则向信息中心的日志主机报告日志信息。
全文摘要
本发明提供了一种基于SNMP的安全管理方法。该方法包括对SNMP请求报文进行版本验证,如果未通过版本验证,则拒绝该SNMP请求;对通过版本验证的SNMP请求报文进行基于网管地址的验证,如果未通过基于网管地址的验证,则拒绝该SNMP请求;对通过基于网管地址验证的SNMP请求报文进行时效验证,如果通过时效验证,则接受该SNMP请求,否则拒绝该SNMP请求。根据本发明的方法可以很好地解决不同SNMP版本共存时的安全性问题。
文档编号H04L29/06GK1567842SQ0314622
公开日2005年1月19日 申请日期2003年7月4日 优先权日2003年7月4日
发明者徐庆伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1