一种支持SNMP V3的代理平台设计方案
3.关键技术实现方法
本文引用地址:https://www.eepw.com.cn/article/113892.htm3.1 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两步。
3.2 VACM的验证流程
在通常的网管实践中,常常遇到一系列安全问题,如非法的管理者,对某OID进行操作;
合法的管理者,对某未授权的OID进行操作;合法的管理者,对某授权的OID进行未授权的操作等等.这些问题实际上是代理实体中的SNMP应用(包括命令应答器,通知生成器)在处理SNMP消息中的PDU时需要控制的,VACM(基于视图的访问控制模型)是这样一种访问控制方案,通过在代理实体的VACM MIB定义的用户所能访问的MIB视图的对应关系,来决定一个SNMP协议操作,是否能够访问一个MIB对象。VACM LCD的表格如下表所示:
表1:VACM LCD所包含的表格
VACM的验证流程如下:
1:在vacmSecurityToGroupTable表中查找由securityName和securityModel的组合所确定的请求访问操作的用户是否是这个SNMP引擎所配置的某个组的成员,若存在则返回组名groupName。不存在则报告错误(noGroupName)
2:在vacmContextTable中查询contextName,如果不存在,则报告错误(noSuchContext)
3:使用vaemAeeessTable将groupName、contextName以及securityModel、securityLevel的组合映射到一个MIB视图,将要使用的MIB视图取决于ViewType。MIB视图定义的是该用户可以访问的MIB变量。
4: 根据MIB视图,利用vacmViewTreeFamilyTable表检查是否可以访问PDU变量绑定中的MIB对象。
3.3 IPV4和IPV6的兼容设计
为了使代理实体同时支持与IPV4和IPV6管理实体的交互,需要代理实体运行的环境,运行IPV4和IPV6双协议栈,同时,代理实体作为一个IPV6服务器或客户端存在。
对于一个IPV6的双栈服务器来说,其与IPV4,IPV6客户端的交互过程为:对于IPV4客户端,向IPV6服务器的IPV4地址发送请求。其发送的IP报文,在IPV6服务器中,被交付给IPV4协议栈,在上行时,客户端的IPV4地址,被映射成IPV6地址,并由IPV6服务器应用处理,IPV6服务器在向IPV4客户端返回信息时,下行时,选择IPV4协议栈。对于IPV6客户端,则向IPV6服务器的IPV6地址发送请求,其发送的IP报文,在IPV6服务器中,被交付给IPV6处理。由以上分析可知,代理实体作为IPV6服务器,可以处理IPV4,IPV6客户端(管理实体)的请求。条件是,IPV6服务器需要配置IPV4,IPV6地址。IPV4客户端访问代理实体时,需要使用其IPV4地址。
当代理实体为IPV6客户端,与IPV4,IPV6服务器的交互情况为:对于IPV6客户端,向IPV4服务器的IPV4地址发送请求之前,需要将IPV4服务器的IPV4地址映射成IPV6地址。其发送的IP报文,在IPV6客户端中,被交付给IPV4协议栈,在上行时,客户端的IPV4地址,被映射成IPV6地址,并由IPV6客户端应用处理。对于IPV6客户端,向IPV6服务器的IPV6地址发送请求,其发送的IP报文,在IPV6客户机中使用IPV6协议栈。由以上分析可知,代理实体作为IPV6客户机,可以与IPV4,IPV6服务器(管理实体)交互,条件是,代理实体作为IPV6客户机与IPV4服务器交互时,需要使用IPV4服务器的IPV4地址映射的IPV6地址。
评论