资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
SNMPSNMP(Simple Network Man ageme nt Protocol,简单网络管理协议)的前身是简单网关监控 协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别 是加入了符合In ter net定义的SMI和MIB :体系结构,改进后的协议就是著名的SNMP。 SNMP的目标是管理互联网In ter net上众多厂家生产的软硬件平台,因此SNMP受In ter net 标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前 已经大大地加强和改进了。目录SNMP 1概念 1SNMP 基本元件和架构 1SNMP 工作过程 1SNMP 协议的发展 2SNMP信息3SNMP 风险 3SNMP 数据 6管理信息库 6Windows SNMP 查询 7作用简述 7使用方法 7SNMPv2 协议操作 8OSI 上的 SNMP.9在网络设备中的作用 10概念简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资料物件。该协议 能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。 该协议是互联网工程工作小组(IETF, I nter net En gin eeri ng Task Force )定义的in ter net 协议簇的一部分。SNMP基本元件和架构请参考本词条结尾的扩展阅读条目“简单网络管理协议(SNMP)基本元件和架构”。SNMP工作过程在典型的SNMP用法中,有许多系统被管理,而且是有一或多个系统在管理它们。每 一个被管理的系统上又运行一个叫做代理者(agent)的软件元件,且透过SNMP对管理系 统报告资讯。基本上,SNMP代理者以变量呈现管理资料。管理系统透过GET, GETNEXT和 GETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAP或INFORM 传送资料。管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理 系统的目的。配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常 是常态性的工作。可透过SNMP存取的变量以阶层的方式结合。这些分层和其他元数据(例如变量的类 型和描述)以管理信息库(MIBs)的方式描述。SNMP协议的发展第一版SNMP第一版和SMI规格的资料型态SNMP第一版SMI指定许多SMI规格的资料型 态,它们被分为两大类:简单资料型态泛应用资料型态第二版SNMP第二版和管理资讯结构SNMP第二版SMI在RFC 2578之中描述,它在SNMP 第一版的SMI规格资料型态上进行增加和强化,例如位元串(bit strings)、网络位址(network addresses )和计数器(coun ters)。SNMP协定在OSI模型的应用层(第七层)运作,在第一版中指定五种核心PDU:GET REQUESTGET NEXT REQUESTGET RESPONSESET REQUESTTRAP其他PDU在SNMP第二版加入,包含:GETBULK REQUESTINFORMSNMP第二版SMI资讯模块SNMP第二版SMI也指定了资讯模块来详细说明一群相 关连的定义。有三种SMI资讯模块:MIB模块、回应状态、能力状态。第三版SNMP第三版SNMP第三版由RFC 3411-RFC 3418定义,主要增加SNMP在安全性 和远端配置方面的强化。SNMP第三版提供重要的安全性功能:信息完整性:保证封包在传送中没有被窜改。认证:检验信息来自正确的来源。封包加密:避免被未授权的来源窥探。SNMP信息MIB, Management Information Base:管理信息库,由网络管理协议访问的管理对象 数据库,它包括SNMP可以通过网络设备的SNMP管理代理进行设置的变量。SMI, Structure of Man ageme nt In formation :管理信息结构,用于定义通过网络管理协议可访问 的对象的规则。SMI定义在MIB中使用的数据类型及网络资源在MIB中的名称或表示。使用SNMP进行网络管理需要下面几个重要部分:管理基站,管理代理,管理信息库 和网络管理工具。管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户 接口。基站上必须装备有管理软件,管理员可以使用的用户接口和从MIB取得信息的数据 库,同时为了进行网络管理它应该具备将管理命令发出基站的能力。管理代理是一种网络设备,如主机,网桥,路由器和集线器等,这些设备都必须能够接 收管理基站发来的信息,它们的状态也必须可以由管理基站监视。管理代理响应基站的请求 进行相应的操作,也可以在没有请求的情况下向基站发送信息。MIB是对象的集合,它代表网络中可以管理的资源和设备。每个对象基本上是一个数据 变量,它代表被管理的对象的一方面的信息。最后一个方面是管理协议,也就是SNMP,SNMP的基本功能是:取得,设置和接收 代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据,设置 是基站设置管理对象(也就是代理)的值,接收代理发送的意外信息是指代理可以在基站未请 求的状态下向基站报告发生的意外情况。SNMP为应用层协议,是TCP/IP协议族的一部分。它通过用户数据报协议(UDP)来操 作。在分立的管理站中,管理者进程对位于管理站中心的MIB的访问进行控制,并提供网 络管理员接口。管理者进程通过SNMP完成网络管理。SNMP在UDP、IP及有关的特殊 网络协议(如,Ether net, FDDI, X.25)之上实现。SNMP风险接入In ter net的网络面临许多风险,Web服务器可能面临攻击,邮件服务器的安全也 令人担忧。但除此之外,网络上可能还存在一些隐性的漏洞。大多数网络总有一些设备运行 着SNMP服务,许多时候这些SNMP服务是不必要的,但却没有引起网络管理员的重视。根据SANS协会的报告,对于接入In ter net的主机,SNMP是威胁安全的十大首要因 素之一;同时,SNMP还是In ter net主机上最常见的服务之一。特别地,SNMP服务通常 在位于网络边缘的设备(防火墙保护圈之外的设备)上运行,进一步加剧了SNMP带来的 风险。这一切听起来出人意料,但其实事情不应该是这样的。背景知识SNMP开发于九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许 多与网络有关的软件包,如HP的Open View和Nortel Networks的Optivity Network Management System,还有 Multi Router Traffic Grapher(MRTG)之类的免费软件,都用 SNMP服务来简化网络的管理和维护。由于SNMP的效果实在太好了,所以网络硬件厂商开始把SNMP加入到它们制造的每 一台设备。今天,各种网络设备上都可以看到默认启用的SNMP服务,从交换机到路由器, 从防火墙到网络打印机,无一例外。仅仅是分布广泛还不足以造成威胁,问题是许多厂商安装的SNMP都采用了默认的通 信字符串(例如密码),这些通信字符串是程序获取设备信息和修改配置必不可少的。采用 默认通信字符串的好处是网络上的软件可以直接访问设备,无需经过复杂的配置。通信字符串主要包含两类命令:GET命令,SET命令。GET命令从设备读取数据,这 些数据通常是操作参数,例如连接状态、接口名称等。SET命令允许设置设备的某些参数, 这类功能一般有限制,例如关闭某个网络接口、修改路由器参数等功能。但很显然,GET、 SET命令都可能被用于拒绝服务攻击(DoS)和恶意修改网络参数。最常见的默认通信字符串是public (读/写)和private (只读),除此之外还有许多厂 商私有的默认通信字符串。几乎所有运行SNMP的网络设备上,都可以找到某种形式的默 认通信字符串。SNMP2.0和SNMP1.0的安全机制比较脆弱,通信不加密,所有通信字符串和数据都 以明文形式发送。攻击者一旦捕获了网络通信,就可以利用各种嗅探工具直接获取通信字符 串,即使用户改变了通信字符串的默认值也无济于事。近几年才出现的SNMP3.0解决了一部分问题。为保护通信字符串,SNMP3.0使用DES (DataEncryptionStandard )算法加密数据通信;另外,SNMP3.0还能够用MD5和SHA (SecureHashAlgorithm)技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操 作网络。虽然SNMP3.0出现已经有一段时间了,但目前还没有广泛应用。如果设备是2、3年 前的产品,很可能根本不支持SNMP3.0;甚至有些较新的设备也只有SNMP2.0或SNMP1.0。即使设备已经支持SNMP3.0,许多厂商使用的还是标准的通信字符串,这些字符串对 黑客组织来说根本不是秘密。因此,虽然SNMP3.0比以前的版本提供了更多的安全特性, 如果配置不当,其实际效果仍旧有限。禁用SNMP要避免SNMP服务带来的安全风险,最彻底的办法是禁用SNMP。如果你没有用SNMP 来管理网络,那就没有必要运行它;如果你不清楚是否有必要运行SNMP,很可能实际上 不需要。即使你打算以后使用SNMP,只要现在没有用,也应该先禁用SNMP,直到确实 需要使用SNMP时才启用它。下面列出了如何在常见的平台上禁用SNMP服务。Windows XP 和 Windows 2000在XP和Win2K中,右击我的电脑”,选择管理”。展开“服务和应用程序”、“服务”,从 服务的清单中选择SNMP服务,停止该服务。然后打开服务的“属性”对话框,将启动类型 改为“禁用”(按照微软的默认设置,Win2K/XP默认不安装SNMP服务,但许多软件会自动 安装该服务)。Win dowsNT4.0选择“开始J“设置”,打开服务设置程序,在服务清单中选择SNMP服务,停止该服务, 然后将它的启动类型改为禁用。Win dows9x打开控制面板的网络设置程序,在“配置”页中,从已安装的组件清单中选择 “MicrosoftSNMP代理”,点击“删除”。检查HKEY_LOCAL_MACHINESOFTWAREMicrosoftWi ndowsCurre ntVersio nRu nServices 和 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun 注册 键,确认不存在snmp.exe。Cisco Systems 硬件对于Cisco的网络硬件,执行“noSNMP-server”命令禁用SNMP服务。如果要检查 SNMP是否关闭,可执行showSNMP”命令。这些命令只适用于运行CiscoiOS的平台;对 于非IOS的Cisco设备,请参考随机文档。HP硬件对于所有使用Jet Direct卡(绝大部分HP网络打印机都使用它)的HP网络设备,用 tel net连接到Jet Direct卡的IP地址,然后执行下面的命令:SNMP-co nf ig:0quit这些命令将关闭设备的SNMP服务。但必须注意的是,禁用SNMP服务会影响服务的 发现操作以及利用SNMP获取设备状态的端口监视机制。RedHatL inux对于RedHatLinux,可以用Linuxconf工具从自动启动的服务清单中删除SNMP,或
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号