Chinaunix首页 | 论坛 | 博客
  • 博客访问: 714340
  • 博文数量: 67
  • 博客积分: 3148
  • 博客等级: 中校
  • 技术积分: 1084
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-10 14:33
文章分类

全部博文(67)

文章存档

2013年(2)

2012年(11)

2011年(33)

2010年(21)

我的朋友

分类: 网络与安全

2010-12-02 15:44:50

    前几天搭建的VMware+dynamips平台现在终于可以派上用场了,这两天没什么事就想在现实环境中做下SNMPV3的实验。
   
    一、实验环境:
    VMWare环境:安装AS4.0系统,IP:192.168.1.144,并安装了snmp工具,如snmpget\snmpwalk\snmpset等。
    Dynamips环境:虚拟cisco7206vxr路由器,IP:192.168.1.145,F0/0接口与AS4.0网卡直连,路由器上配置snmp v3的设置。
   
    二、想要达到的目标:
    1、通过snmpv3协议,snmpwalk能够从cisco路由器上获取数据。
    2、创建三个user分属不同group,分配不同的OID访问权限(或者说访问范围)
       user-mib-->grp-mib(view-mib) 允许访问整个mib-2树(OID:1.3.6.1.2.1)
       user-sys-->grp-sys(view-sys) 只允许访问mib节点下的system子树(OID:1.3.6.1.2.1.1)
       user-int-->grp-int(view-sys) 只允许访问mib节点下的intfaces子树(OID:1.3.6.1.2.1.2)
      
     三、SNMP v3安全等级模型
     snmp v3可以通过authentication和encryption最大限度的来保证数据传输的安全。
     authentication的作用是一个校验的过程,通过md5或sha算法来确定数据是否完整、数据源是否正确、是否有被劫持修改过。
     encryption的作用数据包进行加密,通常的算法有DES/AES等。
     看到这里,是不是让你想起了IPSEC呀,都是这个理嘛。下表就是SNMP的安全等级模型:

Model

Level

Authentication

Encryption

What Happens

v1

noAuthNoPriv

Community String

No

Uses a community string match for authentication.

v2c

noAuthNoPriv

Community String

No

Uses a community string match for authentication.

v3

noAuthNoPriv

Username

No

Uses a username match for authentication.

v3

authNoPriv

MD5 or SHA

No

Provides authentication based on the HMAC-MD5 or HMAC-SHA algorithms.

v3

authPriv

MD5 or SHA

DES/AES

Provides authentication based on the HMAC-MD5 or HMAC-SHA algorithms. Provides DES 56-bit encryption in addition to authentication based on the DES/AES standard.

 
     四、操作过程
     1. 在cisco7206vxr上的配置

config t

snmp-server view view-mib mib-2 included  //配置view-mib访问范围为整个mib-2
snmp-server group grp-mib v3 priv read view-mib  //指定grp-mib组有访问view-mib的只读权限,注意权限通过group来指定的。
snmp-server user user-mib grp-mib v3 auth md5 auth-mib priv aes 128 priv-mib 
//将用户user-mib划分到grp-mib组中,继承该组的权限。设置该用户PRIV的安全模型,认证方式为md5,密码auth-mib;数据加密方式采用AES128算法,密码priv-mib
//snmpv3用户管理采用USM(User Secrity Model),show run中看不到,通过show snmp user命令来查看

snmp-server view view-sys system included
snmp-server group grp-sys v3 priv read view-sys
snmp-server user user-sys grp-sys v3 auth md5 auth-sys priv aes 128 priv-sys

snmp-server view view-int interfaces included
snmp-server group grp-int v3 priv read view-int
snmp-server user user-int grp-int v3 auth md5 auth-int priv aes 128 priv-int

 
   2. 验证
snmpwalk -v 3 -l authPriv -a md5 -A auth-mib -u user-mib -x AES128 -X priv-mib 192.168.1.145 1.3.6.1.2.1 user-mib用户访问view-mib,能够正常查询:
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, 7200 Software (C7200-ADVSECURITYK9-M), Version 12.4(11)T, RELEASE SOFTWARE (fc2)
Technical Support:
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Sun 19-Nov-06 01:10 by prod_rel_team
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.222
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (203915) 0:33:59.15
......
IF-MIB::ifDescr.1 = STRING: FastEthernet0/0
IF-MIB::ifDescr.3 = STRING: Null0
IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.3 = INTEGER: other(1)
IF-MIB::ifMtu.1 = INTEGER: 1500
IF-MIB::ifMtu.3 = INTEGER: 1500
......
 
snmpwalk -v 3 -l authPriv -a md5 -A auth-sys -u user-sys -x AES128 -X priv-sys 192.168.1.145 1.3.6.1.2.1.1 user-sys用户访问view-sys,能够正常查询:
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, 7200 Software (C7200-ADVSECURITYK9-M), Version 12.4(11)T, RELEASE SOFTWARE (fc2)
Technical Support:
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Sun 19-Nov-06 01:10 by prod_rel_team
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.222
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (225422) 0:37:34.22
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: Router
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORLastChange.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
 
snmpwalk -v 3 -l authPriv -a md5 -A auth-sys -u user-sys -x AES128 -X priv-sys 192.168.1.145 1.3.6.1.2.1.2  user-sys用户访问view-int,由于无权限,提示不能访问:
IF-MIB::interfaces = No more variables left in this MIB View (It is past the end of the MIB tree)
 
snmpwalk -v 3 -l authPriv -a md5 -A auth-int -u user-int -x AES128 -X priv-int 192.168.1.145 1.3.6.1.2.1.2 user-int用户访问view-int,能够正常查询:
IF-MIB::ifNumber.0 = INTEGER: 2
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifDescr.1 = STRING: FastEthernet0/0
IF-MIB::ifDescr.3 = STRING: Null0
IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.3 = INTEGER: other(1)
IF-MIB::ifMtu.1 = INTEGER: 1500
IF-MIB::ifMtu.3 = INTEGER: 1500
IF-MIB::ifSpeed.1 = Gauge32: 100000000
IF-MIB::ifSpeed.3 = Gauge32: 4294967295
......
 
snmpwalk -v 3 -l authPriv -a md5 -A auth-int -u user-int -x AES128 -X priv-int 192.168.1.145 1.3.6.1.2.1.1  user-int用户访问view-sys,由于无权限,提示出错:
SNMPv2-MIB::system = No Such Object available on this agent at this OID

五、实验中碰到的问题

在cisco7206上做好设置后,用snmpwalk进行验证,总是报错。在cisco7206上debug snmp packets发现有如下报错:

*Dec  1 23:16:51.635: SNMP: Response, reqid 1661718226, errstat 16, erridx 0
 interfaces = NULL TYPE/VALUE
经过反复查找原因,原来snmpwalk没有带-l authPriv参数。

 

 

参考:
http://www.h3c.com.cn/service/document_center/ip_security/secblade/secblade_ii/command/command_manual/h3c_secpath_cm(v5.03)/05/200908/645037_30005_0.htm#_Toc237854585


 

阅读(11326) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~