SNMP
Posted zyy98877
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SNMP相关的知识,希望对你有一定的参考价值。
背景知识
SNMP开发于九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许多与网络有关的软件包,如HP的Open View和Nortel Networks的Optivity Network Management System,还有Multi Router Traffic Grapher(MRTG)之类的免费软件,都用SNMP服务来简化网络的管理和维护。
概念
是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。
SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台
SNMP为应用层协议,是TCP/IP协议族的一部分。它通过用户数据报协议(UDP)来操作
仅仅是分布广泛还不足以造成威胁,问题是许多厂商安装的SNMP都采用了默认的通信字符串(例如密码),这些通信字符串是程序获取设备信息和修改配置必不可少的。采用默认通信字符串的好处是网络上的软件可以直接访问设备,无需经过复杂的配置。
通信字符串主要包含两类命令:GET命令,SET命令。
GET命令从设备读取数据,这些数据通常是操作参数,例如连接状态、接口名称等。
最常见的默认通信字符串是public(只读)和private(读/写),除此之外还有许多厂商私有的默认通信字符串。几乎所有运行SNMP的网络设备上,都可以找到某种形式的默认通信字符串。
SNMP2.0和SNMP1.0的安全机制比较脆弱,通信不加密,所有通信字符串和数据都以明文形式发送。攻击者一旦捕获了网络通信,就可以利用各种嗅探工具直接获取通信字符串,即使用户改变了通信字符串的默认值也无济于事。
近几年才出现的SNMP3.0解决了一部分问题。为保护通信字符串,SNMP3.0使用DES(DataEncryptionStandard)算法加密数据通信;另外,SNMP3.0还能够用MD5和SHA(SecureHashAlgorithm)技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操作网络。
缺点:虽然SNMP3.0出现已经有一段时间了,但自从发布以来还没有广泛应用。如果设备是2012年以前的产品,很可能根本不支持SNMP3.0;甚至有些较新的设备也只有SNMP2.0或SNMP1.0。
即使设备已经支持SNMP3.0,许多厂商使用的还是标准的通信字符串,这些字符串对黑客组织来说根本不是秘密。因此,虽然SNMP3.0比以前的版本提供了更多的安全特性,如果配置不当,其实际效果仍旧有限
禁用SNMP
要避免SNMP服务带来的安全风险,最彻底的办法是禁用SNMP。如果你没有用SNMP来管理网络,那就没有必要运行它;如果你不清楚是否有必要运行SNMP,很可能实际上不需要。即使你打算以后使用SNMP,只要现在没有用,也应该先禁用SNMP,直到确实需要使用SNMP时才启用它。
原理:
在典型的SNMP用法中,有许多系统被管理,而且是有一或多个系统在管理它们。-是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议
1.每一个被管理的系统上又运行一个叫做代理者(agent)的软件元件,且通过SNMP对管理系统报告资讯。
2.基本上,SNMP代理者以变量呈现管理资料。
3.管理系统透过GET,GETNEXT和GETBULK协定指令取回资讯,--被动
或是代理者在没有被询问的情况下,使用TRAP或INFORM传送资料。
4.管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。
5.配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。
6.可透过SNMP存取的变量以阶层的方式结合。这些分层和其他元数据(例如变量的类型和描述)以管理信息库(MIBs)的方式描述。
作用:
SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题
SNMP管理的网络主要由三部分组成:
-
被管理的设备
-
SNMP代理
-
网络管理系统(NMS)
它们之间的关系如右图所示。
-
网络中被管理的每一个设备都存在一个管理信息库(MIB)用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等等。
-
SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将它们转换成与SNMP兼容的格式,传递给NMS。
-
NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。
风险
接入Internet的网络面临许多风险,Web服务器可能面临攻击,邮件服务器的安全也令人担忧。但除此之外,网络上可能还存在一些隐性的漏洞。大多数网络总有一些设备运行着SNMP服务,许多时候这些SNMP服务是不必要的,但却没有引起网络管理员的重视。
对于接入Internet的主机,SNMP是威胁安全的十大首要因素之一
1
2
3
|
# First, map the community name "public" into a "security name" # sec.name source community com2sec notConfigUser default public
|
以上是关于SNMP的主要内容,如果未能解决你的问题,请参考以下文章
SNMP++ 04-SNMP中OBJECT IDENTIFIER的BER编码与解码及一些思考