SNMP安全访问
通过与CISCO路由器内部的SNMP代理及MIB进行通信,SNMP系统可以取得对路由器的管理访问

配置了路由器上的SNMP代理后,SNMP系统就可以执行以下任务:

1从路由器SNMP代理MIB中读取当前的配置参数和统计信息(ONLY READ)

2向路由器SNMP代理MIB设置某些配置参数(read write)

3从路由器SNMP代理处接收SNMP trap(路由器事件)

SNMP系统使用所谓的community 字符串作为访问路由器SNMP代理的口令,SNMP代理只接受提供正确的
community 字符串的SNMP系统的命令和请求:
建立对CISCO路由器的SNMP访问时必须考虑点:

1哪个community 字符串可以进行读访问?  默认是public,建议一定要改掉

2哪个community 字符串可以进行读写访问?

3哪个SNMP系统被允许访问路由器SNMP代理(在ACL中限制主机IP地址)

配置snmp community字符串:

config t

snmp-server community  **** [ro 只读|rw 读写] [number]

例子:snmp-server community readSNMP ro

      snmp-server community ReadWriteSNMP rw

snmp陷阱(trap)和通告(inform)是由路由器SNMP代理自动发往一个或更多SNMP系统的事件。无论主机是
否存在,TRAP都会向指定的SNMP系统发送。inform总需要来自指定SNMP系统的应答,以验证消息的接收。

   缺省情况下启用的各种路由器SNMP trap

   interface traps–无论接口是否激活,都发送

   reload traps –无论路由器是否重新加载,都发送

   configuration change traps--无论路由器配置是否变更,都发送

专门启用trap和 inform有两种方式:

   1 启用全部 trap和 inform--使用命令  snmp-server enable traps [notification-type]

   2 启用host–用snmp-server host命令在规定trap 和inform发往哪个SNMP系统主机的同事,也规定发送
哪个trap 和 inform.  snmp-server host *** [trap |informs][version 1 2c 3 ][udp-port ***]

这里端口默认是162

   3 snmp-server trap-source *** 规定了路由器上哪个接口会成为所有路由器生成的SNMP trap 和inform
的来源。推荐loopback 0,因为他总是激活状态。

   config t

   snmp-server trap-source loopback0

snmp v3的增强特性

    V3是一个可互操作的标准网管协议,它支持认证和数据包加密,提供了一种安全的设备访问途径。V3提
供了消息完整性,认证和加密功能。

    V1 V2用字符串进行访问控制,并不提供加密或认证服务。

    V3用一个用户名来做访问控制,用HMAC-MD5或HMAC-SHA作为认证,用DES 56-bit加密。

    V3定义了以下概念:

    主体(principal) 一个需要SNMP服务器的用户或应用

    组(group)  一组需要SNMP访问和服务的主体  组为主体定义了访问策略,安全模型和安全级别和可以
接受的一列通知。

    引擎(engine)  一台运行了一套SNMP的主机  可以执行诸如发送信息,认证,加密信息和对管理对象进
行访问控制的功能

    上下文(context)  一个访问策略,定义一组可被读,写和创建的SNMP管理对象。

    视图(view)  SNMP特性组合,定义SNMP主体可从SNMP引擎处请求的访问及服务级别。

启用SNMPv3的五个步骤

   1 配置SNMP服务器引擎ID

   2 配置SNMP服务器视图

   3 配置SNMP服务器组名

   4 配置SNMP服务器主机

   5 配置SNMP服务器用户