SNMPv3的安全报头采用用户安全模式(USM),其提供具有机密性和完整性的网络管理通信。机密性通过采用数据加密标准(DES)来提供。尽管 这一算法以脆弱性著称(由于它采用的是40位的密钥),但与明文community strings相比,它具有显著的优点。即使象DES这样的脆弱算法仍要协同攻击才能攻破,因此你至少可以防范偶然的偷听者。

完整性服务通 过散列信息认证码算法与安全散列功能: MD5 或安全散列算法(SHA-1)之一相结合提供。采用hashes保证了SNMP设备可以知道信息在传输中没有被更改(或是由于偶然或者是被恶意更改)。需 要记住的是,仍然有一些怀有恶意的人可以通过改变暗记文破坏加密通信的完整性和有效性,使得不能正确地解密。散列完整性提供了一种检测这种活动的方法。

SNMPv3 的USM还允许基于用户的认证和接入控制。与以往SNMP采用两级“读”和“写”community string不同,管理员可以为每一个SNMP用户建立特别帐号,并根据这些用户帐号授予权限。例如,你可以给操作员监视设备状态的权限,但是将修改的权 限保留给网络工程师。由于增加了用户行为的可靠性从而对系统的安全产生了重要的影响。它同时简化了将一个用户排除于系统之外的过程,而不需要再重新配置所 有的SNMP设备。

但是,不是所有的网络设备都支持SNMPv3。如果你使用一些较老的设备,不支持这些安全功能,你可以采取以下两步。首 先,联系供货商。在现有的售后支持合同中你可能可以得到支持SNMPv3的软件或固件升级。此外,如果你不能利用SNMPv3内置的安全功能,寻找一些其 它的提供相似安全功能的附加软件。例如,你可以采用IPSec或其它加密技术以保证在设备之间的SNMP通信的安全性。在不支持SNMPv3的设备上很难 (可能是不可能的)实现所有的SNMPv3的功能,但是有加密总会好些。

下面是介绍snmpv3在通过net-snmp在linux下的配置方法,希望对大家的工作学习有所帮助。

系统版本:
# uname -a
Linux linux01 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:23:01 EDT 2011 i686 i686 i386 GNU/Linux

一、安装snmp
# yum install -y net-snmp net-snmp-utils
通过网络安装则自动下载并安装以下的4个包,如果不连接外网,可以挂在linux光盘,设置本地源安装。
Total download size: 2.6 M
Downloading Packages:
(1/4): net-snmp-utils-5.3.2.2-9.el5_5.1.i386.rpm  | 186 kB     00:00
(2/4): lm_sensors-2.10.7-9.el5.i386.rpm           | 511 kB     00:00
(3/4): net-snmp-5.3.2.2-9.el5_5.1.i386.rpm        | 697 kB     00:00
(4/4): net-snmp-libs-5.3.2.2-9.el5_5.1.i386.rpm   | 1.3 MB     00:00

二、配置snmp
# rpm -qa net-snmp  #查看安装包
net-snmp-5.3.2.2-9.el5_5.1
# rpm -ql net-snmp  #查看安装路径
/etc/logrotate.d/snmpd
/etc/rc.d/init.d/snmpd
/etc/rc.d/init.d/snmptrapd
/etc/snmp
/etc/snmp/snmpd.conf
/etc/sysconfig/snmpd.options
/etc/sysconfig/snmptrapd.options
...
...
# snmpd -v #查看版本
NET-SNMP version:  5.1.2
Web:  http://www.net-snmp.org/
Email:  net-snmp-coders@lists.sourceforge.net
利用默认的snmp.conf配置文档做简要修改:(非主流)
# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
# vi /etc/snmp/snmpd.conf
输入:
rouser user auth
保存退出
(v3c的验证方式,添加一个只读帐号,如下:rouser user auth 上面添加帐号的意思是:在v3c中,“rouser”用于表示只读帐号类型,随后的“user”是指定的用户名,后边的“auth”指明需要验证。)

三、增加snmp用户
需要创建user这个用户,我们需要这个文件:/var/net-snmp/snmpd.conf,这个文件会在snmpd启动的时候被自动调用, 由于此时我们还没有运行snmp,所以手动创建这个文件,命令如下:
# mkdir /var/net-snmp
# touch /var/net-snmp/snmpd.conf
# vi /var/net-snmp/snmpd.conf
输入:
createUser user MD5 mypassword
保存退出
(这行配置的意思是创建一个名为 “user”的用户,密码为“mypassword”,并且用MD5进行加密传输。这里要提醒的是,密码至少要有8个字节,这是SNMP协议的规定,如果小于8个字节,通信将无法进行。)

四、运行snmp
# service snmpd start
Starting snmpd:          [  OK  ]
# chkconfig snmpd on  #设置成开机自动运行

五、检查服务器运行状态
# service snmpd status
snmpd (pid  4167) is running...
# netstat -anup | grep 161  #161是snmp服务端口。
udp   0  0 0.0.0.0:161  0.0.0.0:*    4167/snmpd
现在我们可以在cacti或者nagios里面添加这台机器监控她的数据了。

六、以cacti为例,需要填入资料
SNMP Version:version3
SNMP Username (v3):user
SNMP Password (v3):mypassword
SNMP Auth Protocol (v3):md5
SNMP Privacy Passphrase (v3):留空
SNMP Privacy Protocol (v3):none

七、可能出现问题:头部显示SNMP error
SNMP Information
SNMP error
解决方法:
# service snmpd stop
# vi /var/net-snmp/snmpd.conf
重新加入:
createUser user MD5 mypassword
F5刷新一下cacti或者稍等一下

centos yum方式安装net-snmp v3的更多相关文章

  1. Centos中yum方式安装java

    查看CentOS自带JDK是否已安装.◆输入:yum list installed |grep java. 若有自带安装的JDK,如何卸载CentOS系统自带Java环境?◆卸载JDK相关文件输入:y ...

  2. WordPress安装篇(4):YUM方式安装LNMP并部署WordPress

    YUM方式安装软件的优点就是简单.方便.快捷,本文介绍在Linux上如何使用YUM方式快速安装LNMP并部署WordPress.使用Linux CentOS 7.9 + Nginx 1.18 + My ...

  3. yum install mysql-community-server yum方式安装mysql(社区版实操)

    前言:rpm方式或者这种yum安装时比较简单的方式,但是不推荐,但是确实很着急的话,可以采用这种安装这种方式不利于后续对mysql的管理,如果是多实例或者是复杂的一些架构的话,还是推荐利用源码包编译方 ...

  4. CentOS7 yum方式安装 MongoDB 3.4 复制集

    CentOS7 yum方式安装 MongoDB 3.4 环境.准备 Centos7 系统 配置MongoDB的yum源,添加文件/etc/yum.repos.d/mongodb-org-3.4.rep ...

  5. 如何在CentOS系统中安装配置SNMP服务

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  6. CentOS7下yum方式安装mysql5.6

    在Centos7中用MariaDB代替了mysql数据库.所以在新安装MySQL前必须做好对系统的清理工作. 一.清理CentOS7下的MariaDB. [root@localhost ~]#rpm ...

  7. LNMP(Linux+Nginx+MySQL+PHP) yum方式安装Redis

    一.环境信息 CentOS Linux release 8.1.1911 (Core) Redis server v=5.0.3 二.yum方式安装 1.添加EPEL仓库 sudo yum insta ...

  8. yum方式安装nginx

    1.添加CentOS 7 Nginx yum资源库 [root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPM ...

  9. centos7使用yum方式安装node_exporter

    官网下载地址:https://prometheus.io/download/ 选择对应的系统版本 官网提供的是压缩包,点击旁边的github地址 github页面显示的有yum安装和docker安装, ...

随机推荐

  1. 深入理解 react-router 路由系统

    作者:范洪春链接:https://zhuanlan.zhihu.com/p/20381597来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 在 web 应用开发中,路由 ...

  2. C++ STL之min_element()与max_element()(取容器中的最大最小值)

    min_element()和max_element 头文件:#include<algorithm> 作用:返回容器中最小值和最大值.max_element(first,end,cmp);其 ...

  3. HDU 1010 Tempter of the Bone【DFS经典题+奇偶剪枝详解】

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  4. FineReport父子格实现动态参数注入

    "深入学习FineReport后发现其功能及其强大,之前使用存储过程实现的报表完全可以使用FineReport本身的功能实现. 当你需要的表名,查询条件等均未知的时候,使用"动态参 ...

  5. MyBatis工作原理

    Mybatis工作原理: 我们的应用程序通过mybatis提供的api,增删改查方法来访问数据库,api底层调用了jdbc ,只不过mybatis对jdbc的封装是不完全封装,里面的sql语句需要我们 ...

  6. 三 : spring-uploadify上传文件

    一 : applicationContext.xml中:必须声明不然获取不到<!-- 上传文件的配置 --> <bean id="multipartResolver&quo ...

  7. java 静态导入 小结

    之前看过静态导入这一块,在编程思想里,但是记不清了,今天搜了下,看到有一个博文写的不错,所以留做备注吧 总结: import static xxx.xxx  和普通导入的区别在于,普通导入是需要通过& ...

  8. JavaScript常见封装方法

    1.最简单的,使用变量,然后用匿名函数包裹,不封装 2.对象字面量简单封装(不完整的模块模式,因为无法达到变量.方法私有效果.不过确实有分离和组织代码的能力,也就算一种简略的模块模式的实现方式) va ...

  9. 分享整理的免费API接口

    天气接口 聚合数据: http://op.juhe.cn/onebox/weather/query 用例 官方文档 来源:weather.com 百度接口: http://api.map.baidu. ...

  10. 关于Serializable的serialVersionUID

    在实现了Serializable接口的class中,需要声明一个long serialVersionUID,用来标明当前class的版本号,但很多人在编程时,总是不原意去声明这个serialVersi ...