一起走进SNMP协议的历史讲解

运维 系统运维
SNMP协议开发于九十年代早期,今天,各种网络设备上都可以看到默认启用的SNMP服务,近几年才出现的SNMP协议 3.0。

SNMP协议开发于九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许多与网络有关的软件包,如HP的OpenView和Nortel Networks的Optivity Network Management System,还有Multi Router Traffic Grapher(MRTG)之类的免费软件,都用SNMP服务来简化网络的管理和维护。

由于SNMP协议的效果实在太好了,所以网络硬件厂商开始把SNMP协议加入到它们制造的每一台设备。今天,各种网络设备上都可以看到默认启用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,无一例外。

仅仅是分布广泛还不足以造成威胁,问题是许多厂商安装的SNMP协议都采用了默认的通信字符串(例如密码),这些通信字符串是程序获取设备信息和修改配置必不可少的。采用默认通信字符串的好处是网络上的软件可以直接访问设备,无需经过复杂的配置。

通信字符串主要包含两类命令:GET命令,SET命令。GET命令从设备读取数据,这些数据通常是操作参数,例如连接状态、接口名称等。SET命令允许设置设备的某些参数,这类功能一般有限制,例如关闭某个?缃涌凇⑿薷穆酚善鞑问?裙δ堋5?芟匀唬珿ET、SET命令都可能被用于拒绝服务攻击(DoS)和恶意修改网络参数。

最常见的默认通信字符串是public(只读)和private(读/写),除此之外还有许多厂商私有的默认通信字符串。几乎所有运行SNMP协议的网络设备上,都可以找到某种形式的默认通信字符串。

SNMP 2.0和SNMP 1.0的安全机制比较脆弱,通信不加密,所有通信字符串和数据都以明文形式发送。攻击者一旦捕获了网络通信,就可以利用各种嗅探工具直接获取通信字符串,即使用户改变了通信字符串的默认值也无济于事。

近几年才出现的SNMP协议 3.0解决了一部分问题。为保护通信字符串,SNMP 3.0使用DES(Data Encryption Standard)算法加密数据通信;另外,SNMP协议 3.0还能够用MD5和SHA(Secure Hash Algorithm)技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操作网络。有关SNMP 3.0的详细说明,请参见http://www.ietf.org/rfc/rfc2570.txt。

虽然SNMP协议 3.0出现已经有一段时间了,但目前还没有广泛应用。如果设备是2、3年前的产品,很可能根本不支持SNMP 3.0;甚至有些较新的设备也只有SNMP 2.0或SNMP 1.0。

即使设备已经支持SNMP协议 3.0,许多厂商使用的还是标准的通信字符串,这些字符串对黑客组织来说根本不是秘密。因此,虽然SNMP协议 3.0比以前的版本提供了更多的安全特性,如果配置不当,其实际效果仍旧有限。

【编辑推荐】

  1. 讲解SNMP协议网络管理的功能
  2. 走进SNMP协议与SNMP报文的知识
  3. 深度探析SNMP协议的背后秘密
  4. 关于管理信息的基本方式SNMP命令
  5. 关于SNMP协议与管理代理的讲解
责任编辑:小霞
相关推荐

2010-05-24 18:19:44

SNMP报文

2022-10-18 07:33:57

Maven构建工具

2021-09-27 21:05:16

华为云音视频

2021-01-12 05:08:49

DHCP协议模型

2022-12-07 09:01:14

布局容器VStack​

2010-05-24 18:37:31

SNMP协议

2020-03-05 10:16:49

Maven架构模式

2021-11-26 09:24:23

操作系统批处理

2022-02-23 08:41:58

NATIPv4IPv6

2010-05-24 17:59:11

SNMP协议

2022-04-07 11:43:24

UPnPDLNA协议

2023-07-14 06:57:48

2023-02-27 16:30:32

鸿蒙开源协议分析

2020-12-29 14:04:42

华为应用市场

2022-12-02 14:20:09

Tetris鸿蒙

2022-11-29 16:35:02

Tetris鸿蒙

2011-11-08 21:24:30

SNMP

2022-11-14 17:01:34

游戏开发画布功能

2014-10-21 15:07:04

2023-03-30 09:32:27

点赞
收藏

51CTO技术栈公众号