简单网络管理协议(SNMP)是基于TCP/IP的网络管理,实际上就是一群标准的集合。80年代末期由IETF开发后,开始被广泛应用在各类网络设备中,成为一种网管的工业标准。SNMP又称之为管理者和代理之间的通信协议,包括理解SNMP的操作、SNMP信息的格式及如何在应用程序和设备之间交换信息。 更多有关SNMP协议的内容可参见。

就概念而言,SNMP为网管界定了管理者(Manager)和代理者(Agent,被管理设备)之间的关系。两者之间的共同点是都运行TCP/IP协议。管理者可对管理设备提出效能、配置、和状态等信息的询问,透过要求与回复(request/replay)的简单机制来撷取代理者身上的信息,而两者之间的信息主要是通过PDU协议数据单元来载送。SNMP使用UDP作为IP的传输层协议。 

在实现过程中,管理者会发送一个PDU给一个代理者(可以是路由器、交换机、防火墙……等可支持网管的设备),代理者收到管理者所发出内含询问信息的PDU报文后,再透过PDU回传给相关的管理者。在该过程中,代理者基本上只能处于被动的状态,反复进行一问一答的模式,而唯一可由代理者自动发出的只有Trap的不定期回报特殊状况信息。 

SNMP协议有两个基本命令模式:read和read/write。read是可以通过SNMP协议观察设备配置细节,而使用read/write模式可以让管理者有权限修改设备配置。以当前市场流行的大多数被网管的设备为例,如果设备的默认口令没有改变,那么攻击者就可以利用默认的口令得到其配置文件,文件一旦被破解,攻击者就能够对设备进行远程非法的配置,实行攻击。 

目前,绝大多数的网络设备和操作系统都可以支持SNMP,如D-Link、Cisco、3Com等等。 

SNMPv3实现更优管理 

目前SNMP的发展主要包括三个版本:SNMPv1、SNMPv2以及最新的SNMPv3。从市场应用来看,目前大多数厂商普遍支持的版本是SNMPv1和v2,但从安全鉴别机制来看,二者表现较差。而SNMPv3采用了新的SNMP扩展框架,在此架构下,安全性和管理上有很大的提高。在当前的网络设备市场中,D-Link已经率先推出了支持SNMPv3的网络产品,如DES-3226S、DES-3250TG交换机等,在安全功能和管理功能上都有良好的表现。 

总体来看,SNMPv1和v2版本对用户权力的惟一限制是访问口令,而没有用户和权限分级的概念,只要提供相应的口令,就可以对设备进行read或read/write操作,安全性相对来的薄弱。虽然SNMPv2使用了复杂的加密技术,但并没有实现提高安全性能的预期目标,尤其是在身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等方面。 

SNMPv3是在SNMPv2基础之上增加、完善了安全和管理机制。RFC 2271定义的SNMPv3体系结构体现了模块化的设计思想,使管理者可以简单地实现功能的增加和修改。其主要特点在于适应性强,可适用于多种操作环境,不仅可以管理最简单的网络,实现基本的管理功能,还能够提供强大的网络管理功能,满足复杂网络的管理需求。 

目前,市场上的网络设备尚停留在SNMPv1/v2的范畴,并未广泛支持SNMPv3,如何配置设备的SNMP服务以确保网络安全、完善管理机制呢?以下几个方面建议或许值得网管人员一试:由于基于SNMPv1/v2协议本身具有不安全性,所以在管理过程中,如果没有必要,可以不要开启SNMP代理程序;可以限制未授权IP对SNMP的访问,或者改变SNMP代理的默认口令,并使用复杂的口令;在后续采购设备中,尽可能选用支持SNMPv3的设备产品。 

综合SNMP的不同版本,显然SNMPv3的应用推广势在必行,必然会以突出的优势成为新的应用趋势。一些市场反应敏捷的网络设备制造商已经推出了相关产品。据了解,D-Link在新一代产品推出时,已将此技术列入基本的协议支持,包括DES-3226S、DES-3250TG在内的多款交换机已经率先支持SNMPv3。