您好,欢迎访问三七文档
计算机网络管理与安全技术李艇02W1.2.3第3章:SNMP通信模型与RMON规范3.1SNMP通信模型有4个方面的内容:SNMP结构管理模型SNMP协议SNMPMIB3.1.1SNMP结构(SNMPArchitecture)SNMP结构是管理系统和管理代理之间的管理报文的规范。由定义团体来进行安全机制的管理,只有相同团体成员之间才能进行通信。一个管理站能够属于多个团体且可管理多个域。3.1.1SNMP结构(SNMPArchitecture)SNMP结构具有三个方面的功能:通过管理代理实现的网络功能应该是最简单的;允许有足够的可扩展性(增加新的操作和管理);SNMP结构应独立于具体主机和网关的结构及机制。3.1.1SNMP结构(SNMPArchitecture)SNMP只用于简单对象的通信并用ASN.1和BER(基本编码规则)进行数据传输。基本报文有set,get和trap。其中trap有三种类型:1)一般trap2)特殊trap3)时间戳一般trap类别:(操作配置—自陷响应)•coldStart•warmStart•linkDown•linkUp•authenticationFailure•egpNeighborLoss•enterpriseSpecific(属特殊陷入由设备制造商定义)3.1.1SNMP结构(SNMPArchitecture)特殊trap是与设备有关时间戳是在网络实体初始化和陷入产生之间的时间。sysUpTime的值。3.1.1SNMP结构(SNMPArchitecture)3.1.2管理模型(TheAdministrativeModel)支持SNMP应用实体的程序称为协议实体SNMP管理者属于管理站的应用实体SNMP代理属于网络元素的应用实体这一对实体被称为SNMP团体。SNMP团体名为community,是一个字符串的形式。3.1.2管理模型SNMPManager认证服务SNMPManager认证服务SNMPManager认证服务认证认证服务SNMPAgentSNMP团体报文3.1.2管理模型图中是多个SNMP管理者与一个SNMP代理进行通信,还可以进行多对一和多对多的通信。图中发送和接收过程都要进行认证检验,这可以视为是一种安全机制。SNMPv1的安全机制很简单,只是验证团体名。属于同一团体的管理站和被管理站才能互相作用。3.1.2管理模型1、团体的概念SNMP网络管理是一种分布式应用。代理控制自己的MIB,也控制多个管理站对MIB的访问。只有授权的管理站才允许访问管理信息库。其基本思想是:l代理系统可以对不同的团体定义不同的访问控制策略,每个团体被赋予唯一的名字。l管理站只能以认可的团体名行使访问权。祥细信息l管理站实体可以用不同的名字对不同的代理实施不同的访问权限。操作-新团体名lt1-权限3.1.2管理模型2、认证服务认证服务的目的是要保证通信是被授权的。对于一个SNMP报文,认证服务的功能是保证接收报文来自于这个消息所声称的源。从管理站到代理的每个报文都包括一个团体名字。这个名字起到密码的作用,如果发送者知道这个密码,报文就被认为是可靠的。3.1.2管理模型团体名以明文的形式传输,容易被窃取。所以SNMP的安全机制是不安全的。为此很多SNMP的实现只允许Get和Trap操作,而Set的操作被严格的限制。即只具有网络监视功能而限制控制网络设备。为了加强SNMP的安全性,在后来的SNMP版本中改进了认证服务。复习3.1.2管理模型3、访问策略通过定义团体,代理系统限制只有一些选定的管理站才能访问它的MIB。通过使用多个团体,代理可为不同的管理站提供不同的MIB访问类别。访问控制有两方面:lSNMPMIB视域(view):MIB中对象的一个子集,对不同的团体可以定义不同的视域。属于同一视域的对象不必属于同一子树。l访问模式:集合{read-only,read-write}的一个元素。对于一个团体可以定义一种访问模式。3.1.2管理模型一个团体的MIB视域和访问模式的组合称为SNMP团体形象(profile)。它包含代理中对象的一个子集和有关这些对象的访问模式。SNMP访问模式适用于MIB视域中的所有对象。例如如果访问模式是read-only,则具有同一团体形象的管理站对视域中的所有对象只能以只读方式访问。每个MIB对象的定义都有ACCESS子句,其规定了对象量的访问属性。团体形象中又规定了团体成员对对象的访问模式。这两种访问限制应该相协调。即使一个对象的访问属性是write-only,也允许SNMP实体读取该对象,这取决于具体实现时的考虑。3.1.2管理模型表MIB访问类别与SNMP访问模式的关系MIB访问类别SNMP访问模式READ-ONLYREAD-WRITEread-only可用于get和trap操作read-write可用于get和trap操作可用于get,set和trap操作write-only可用于get和trap操作,值与具体实现有关可用于get,set和trap操作,对于get和trap操作,值与具体实现有关not-accessible不能使用3.1.2管理模型团体形象是由代理为各个团体定义的。SNMP团体和SNMP团体形象的组合称为SNMP访问策略。SNMP代理SNMP管理站集合SNMPMIB视域SNMP访问模式SNMP团体SNMP团体形象SNMP访问策略SNMP管理概念SNMP的访问策略Manager1(Community1)Manager2(Community2)Manager3(Community1,Community2)Agent1Agent2CommunityProfile1CommunityProfile2Agent3Agent4CommunityProfile3CommunityProfile4图SNMPAccessPolicyCommunity1Community23.1.2管理模型三个网络管理系统,各自有不同的团体域。代理1和代理2属于团体1,而它们却有不同的团体形象。作为团体1的一部分的管理站1可以与代理1和代理2通信但管理站1不可以与属于团体2的代理3和代理4通信。管理站2则可以访问它们,因为管理站2属于团体2。管理站3可以访问团体1和团体2,因此可以与所有代理通信3.1.2管理模型4、委托代理服务通常委托代理是为不支持SNMP的设备工作的,团体形象的概念同样适用于委托代理服务。有些情况下,被代理的设备也可能支持TCP/IP和SNMP,这时委托代理的作用是为了减少代理的设备与管理站之间的交互过程。对于被代理的设备,委托代理定义并且维护一种SNMP访问策略。3.1.2管理模型图为SNMP对象与非SNMP对象通过SNMP管理站进行通信的例子。比如SNMP代理可以是一个具有TCP/IP协议的LAN。而一个WAN如X.25网络,其不具有Internet模型,但可以通过委托代理进行管理并集成到综合管理系统。SNMP管理站SNMP代理委托代理SNMP团体非SNMP团体图SNMP代理访问策略3.1.3SNMP协议规范(SNMPProtocolSpecifications)1、SNMPPDU格式DataSNMPPDUCommunityVersionAHSNMPPDUUDPHTransportPDUIPHNetworkPDUDLCHSNMP报文封装3.1.3SNMP协议规范SNMP报文是在PDU加上团体名、版本号和应用层的头构成了应用层的PDU。在其前加上UDP的头成为了传输层的PDU。以此类推,构成每一层的PDU。SNMP协议实体在主机的161端口被接收。tray是在162端口被接收。SNMPv1协议的最大长度为484个字节。SNMP有5种管理操作,但只有3种PDU格式:GetRequestPDU、GetNextRequestPDU与SetRequestPDU格式相同。GetResponsePDUTrapPDU图SNMP报文格式CommunityVersionSNMPPDU变量绑定表00Request-idPDUtypeSNMP报文GetRequestPDU,GetNextRequestPDU和SetRequestPDUGetResponsePDU错误状态请求标识PDUtype错误索引Variable-bindingsTrapPDU制造商ID代理地址一般陷阱特殊陷阱时间戳变量绑定表PDUtypename1value1name2value2……namenvaluen变量绑定表表2SNMP报文域域描述versionSNMP版本:RFC1157为版本1community团体名可以用作认证SNMP报文的口令request-id通过给每个请求提供一个唯一的id,区分不同的请求error-status代理在处理管理站的请求时可能出现的各种错误:noError(0),tooBig(1),noSuchName(2),badValue(3),readOnly(4),genErr(5)error-index当error-status非0时error-index指出是列表中的哪个变量引起了错误。变量即管理对象实例variable-bindings一列变量名和相应值enterprise产生陷阱的对象的类型;基于sysObjectIDagent-addr产生陷阱的对象的地址generic-trap一般陷阱,其值为:coldStart(0),warmStart(1),linkDown(2),linkup(3),authen-ticationFailure(4),egpNeighborLoss(5)enterpriseSpecific(6)specific-trap更具体地指出陷阱性质的一个代码time-stamp在网络实体初始化和陷阱产生之间的时间,即sysUpTime的值3.1.3SNMP协议规范2、报文的发送和接收构造PDU(ASN.1对象)加入团体名及源和目的传输地址构造SNMP报文检验并通过认证把ASN.1报文按BER编码发送给对等实体图7生成和发送SNMP报文3.1.3SNMP协议规范按BER解码,恢复ASN.1报文语法分析ASN.1报文验证版本号认证检查语法分析PDU处理PDU,必要时产生应答丢弃报文必要时产生陷入出错正确图8接收和处理SNMP报文3.1.4SNMP操作(SNMPOperations)1.变量绑定所有的SNMP操作都是访问对象实例。(叶节点)可以将一些相同类型的操作(get,set,trap)组合到一条报文中去。管理站可得到代理的某个组中的所有标量对象的值。Getone…sysName.0sysLocation.0(mib操作)它可以只发送一条报文来要求所有的取值,然后得到一个列出了所有值的响应。Getmany….ip为了实现多个对象的交换,所有的SNMPPDU都包括一个variable-binding域,即绑定域。该域由一系列对象实例的索引组成,并且带有那些对象的值。3.1.4SNMP操作2.检索简单对象检索简单的标量对象值可以用get操作;如果变量绑定表中包含多个变量,一次还可以检索多个标量对象的值;接收GetRequest的SNMP实体请求标识相同的GetResponse响应。如果所有请求的对象值均可以得到,则给于应答;只要有一个对象的值得不到,则可返回下列错误之一:3.1.4SNMP操作ØnoSuchName:变量绑定表中的一个对象无法与MIB中的任何对象标识符匹配,或者要检索的对象是一个子树或表,没有对象实例生成。操作getone表对象ØtooBig:响应实体可提供所有要检索的值,若变量太多以至一个响应PDU装不下。ØgenError:响应实体一个对象的值也不能提供时,变量绑定表中不返回任何值。3.1.4SNMP操作例1:若网络管理站想要从代理中检索udp组中所有简单对象的取值,管理站可以发送一个GetReq
本文标题:网管与安全3
链接地址:https://www.777doc.com/doc-1268098 .html