SNMPv3原理-SNMP的安全问题



SNMP制定之初并没有过多地考虑其安全性,这使其早期版本存在安全隐患。

随着网络安全的日趋重要,在SNMP的发展过程中也出现了一些安全方面的增强方案。这些方案虽然没有形成统一的标准,也没有得到广泛应用,但是对后来SNMPv3的形成具有借鉴意义。

1、SNMP早期版本的安全机制及其缺陷

SNMPv1存在一些明显的缺陷,其中之一就是忽视了安全问题。SNMPv1只提出了基于团体(community)的安全机制。一个SNMP团体是一个SNMP代理和任意一组SNMP管理站之间的一种关系,它定义了认证和访问控制的特性。

团体是定义在代理上的一个本地概念。代理为每一个必要的认证和访问控制的联合建立一个团体,每个团体拥有唯一一个名字。团体之中的管理站必须使用该团体的团体名进行Get和Set操作。

(1)认证服务

认证服务用于保证通信是可信的。在SNMP消息中,认证服务将向消息接收者保证该消息的确是从它所声明的来源出发的。SNMP仅提供了一种很简单的认证方式:从管理站发往代理的每个消息都包括一个团体名,起口令的作用。如果该团体名存在于代理已知的团体名列表中,则该消息被认为是可信的,接收该消息;否则,消息不可信,丢弃该消息。

(2)访问控制策略

通过定义团体,代理可以限制它的MIB只能被选定的一组管理站访问。而通过定义多于一个的团体,代理能够为不同的管理站提供不同的MIB访问权限。

但是,团体名通常以明文形式随SNMP报文传输。对于熟悉SNMP的人来说,可以很容易地从网络上捕获的SNMP报文中分析得到团体名,从而盗用某些权限、进行非法的操作。

2、SNMP面临的安全威胁

在实际中广泛使用的SNMPv1/v2c采用以明文传输的团体名作为认证手段。这种脆弱的保护机制使得SNMP面临着一系列安全威胁。这些威胁包括:

(1)伪装(masquerade [ˌmæskəˈreɪd])

一些未授权的实体可以伪装为已授权实体的身份,去执行只有授权实体才可以执行的管理操作,从而获得额外的特权。

(2)信息更改(Modification of Information)

一个实体可以更改由另一授权实体产生的正在传输的报文,从而导致越权的管理操作。这种威胁的本质就是未授权的实体可以修改任何管理参数,包括配置、操作和计费方面的参数。

(3)信息泄露(Disclosure [dɪs'kləʊʒə(r)] of Information)

实体可以观测管理者与代理之间的信息交换,从而获得管理对象的值,并获知所报告的事件。例如,通过观测更改口令的Set命令,可以使攻击者获知新口令的内容。

(4)消息流更改(Message Stream Modification)

SNMP被设计成在无连接的协议上运行。因此,SNMP消息有可能被重排、延迟或者重放(复制),从而导致越权的管理操作。例如,一个重新启动设备的消息可能被复制,并在将来的某一时刻重放,导致非授权的操作。

(5)拒绝服务(Denial [dɪ'naɪəl] of Service)

阻止管理者与代理之间的信息交换,或阻止通信设备的正常使用和管理。这种攻击或者是阻止所有发往特定目的站点的消息、或者是对网络进行破坏使其不能运行、或者是发送大量消息使网络过载从而降低其性能。

(6)流量分析(Traffic Analysis)

分析管理者和代理之间信息交换的一般模式。

你可能感兴趣的:(消息采集)