安全的计算机网络在snmp v2,v3中是如何实现的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全的计算机网络在snmp v2,v3中是如何实现的相关的知识,希望对你有一定的参考价值。

参考技术A 简单网络管理协议(SNMP)是基于TCP/IP的网络管理,实际上就是一群标准的集合。80年代末期由IETF开发后,开始被广泛应用在各类网络设备中,成为一种网管的工业标准。SNMP又称之为管理者和代理之间的通信协议,包括理解SNMP的操作、SNMP信息的格式及如何在应用程序和设备之间交换信息。

就概念而言,SNMP为网管界定了管理者(Manager)和代理者(Agent,被管理设备)之间的关系。两者之间的共同点是都运行TCP/IP协议。管理者可对管理设备提出效能、配置、和状态等信息的询问,透过要求与回复(request/replay)的简单机制来撷取代理者身上的信息,而两者之间的信息主要是通过PDU协议数据单元来载送。SNMP使用UDP作为IP的传输层协议。

在实现过程中,管理者会发送一个PDU给一个代理者(可以是路由器、交换机、防火墙……等可支持网管的设备),代理者收到管理者所发出内含询问信息的PDU报文后,再透过PDU回传给相关的管理者。在该过程中,代理者基本上只能处于被动的状态,反复进行一问一答的模式,而唯一可由代理者自动发出的只有Trap的不定期回报特殊状况信息。

SNMP协议有两个基本命令模式:read和read/write。read是可以通过SNMP协议观察设备配置细节,而使用read/write模式可以让管理者有权限修改设备配置。以当前市场流行的大多数被网管的设备为例,如果设备的默认口令没有改变,那么攻击者就可以利用默认的口令得到其配置文件,文件一旦被破解,攻击者就能够对设备进行远程非法的配置,实行攻击。

目前,绝大多数的网络设备和操作系统都可以支持SNMP,如D-Link、Cisco、3Com等等。

SNMPv3实现更优管理

目前SNMP的发展主要包括三个版本:SNMPv1、SNMPv2以及最新的SNMPv3。从市场应用来看,目前大多数厂商普遍支持的版本是SNMPv1和v2,但从安全鉴别机制来看,二者表现较差。而SNMPv3采用了新的SNMP扩展框架,在此架构下,安全性和管理上有很大的提高。在当前的网络设备市场中,D-Link已经率先推出了支持SNMPv3的网络产品,如DES-3226S、DES-3250TG交换机等,在安全功能和管理功能上都有良好的表现。

总体来看,SNMPv1和v2版本对用户权力的惟一限制是访问口令,而没有用户和权限分级的概念,只要提供相应的口令,就可以对设备进行read或read/write操作,安全性相对来的薄弱。虽然SNMPv2使用了复杂的加密技术,但并没有实现提高安全性能的预期目标,尤其是在身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等方面。

SNMPv3是在SNMPv2基础之上增加、完善了安全和管理机制。RFC 2271定义的SNMPv3体系结构体现了模块化的设计思想,使管理者可以简单地实现功能的增加和修改。其主要特点在于适应性强,可适用于多种操作环境,不仅可以管理最简单的网络,实现基本的管理功能,还能够提供强大的网络管理功能,满足复杂网络的管理需求。

目前,市场上的网络设备尚停留在SNMPv1/v2的范畴,并未广泛支持SNMPv3,如何配置设备的SNMP服务以确保网络安全、完善管理机制呢?以下几个方面建议或许值得网管人员一试:由于基于SNMPv1/v2协议本身具有不安全性,所以在管理过程中,如果没有必要,可以不要开启SNMP代理程序;可以限制未授权IP对SNMP的访问,或者改变SNMP代理的默认口令,并使用复杂的口令;在后续采购设备中,尽可能选用支持SNMPv3的设备产品。

综合SNMP的不同版本,显然SNMPv3的应用推广势在必行,必然会以突出的优势成为新的应用趋势。一些市场反应敏捷的网络设备制造商已经推出了相关产品。据了解,D-Link在新一代产品推出时,已将此技术列入基本的协议支持,包括DES-3226S、DES-3250TG在内的多款交换机已经率先支持SNMPv3。
你问的比较笼统自己看看吧。
参考技术B 干嘛官这么多,会用知道原理就好, 参考技术C 不是把你的眼神,漫天

这个语句在c++中是啥意思?

【中文标题】这个语句在c++中是啥意思?【英文标题】:What is the meaning of this statement in c++?这个语句在c++中是什么意思? 【发布时间】:2015-02-10 18:33:32 【问题描述】:

声明

vector<int>v(string s);

如果我打印这个:

cout << v << endl;

结果是“1”!!

【问题讨论】:

这看起来像 vector&lt;int&gt; v(string s); 的函数原型 如果是这样,那么没有看到它的定义就无法知道为什么你会得到你得到的东西。 调高警告级别。我通过-Wall -Wextra 得到了这个:warning: the address of ‘std::vector&lt;int&gt; v(std::string)’ will always evaluate as ‘true’ [-Waddress] 【参考方案1】:

这是一个名为v 的函数的声明,它接受string 类型的参数并返回vector&lt;int&gt; 类型的值。

当您使用cout&lt;&lt;v 打印它时,operator&lt;&lt; 没有重载,它接受一个指向此类型函数的指针,因此它被转换为具有值 truebool(因为它不是-null),打印为1

【讨论】:

hhhhhh 对,我不敢相信我问过这样的问题 :) 谢谢

以上是关于安全的计算机网络在snmp v2,v3中是如何实现的的主要内容,如果未能解决你的问题,请参考以下文章

怎样查看snmp v3加密方式

H3C设备与中兴89系列交换机snmp V3配置模板与kali snmpwalk配套测试

Zabbix监控系统

zabbix监控系统部署

CACTI监控

pysnmp 自定义MIB编写SNMP代理 (python 开发 snmp)