《日志管理与分析权威指南》一3.2.2 SNMP

简介:

本节书摘来华章计算机《日志管理与分析权威指南》一书中的第3章 ,第3.2.2节,(美) Anton A. Chuvakin Kevin J. Schmidt Christopher Phillips 著 姚 军 简于涵 刘 晖 等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2.2 SNMP

SNMP设计用于满足网络管理员不断增长的需求。从20世纪90年代初起,SNMP已经集成到几乎所有你能想到的网络系统中,包括许多网络安全系统。SNMP是查询和配置设备的一种协议。SNMP陷阱和通知是设备在特定事件发生时生成的特殊SNMP消息。虽然SNMP协议整体来说不是一个日志记录系统,但是SNMP陷阱和通知可以看作日志消息的类型。虽然许多网络设备能够通过syslog发送事件信息,但是有些设备不能,特别是旧设备,因此SNMP陷阱和通知是从设备获得其他途径不能收集的事件信息的一种方法。在某些情况下,通过SNMP发送的信息类型与通过syslog发送的不同。
SNMP有多个版本,通常称作SNMPv1、SNMPv2和SNMPv3。详细介绍SNMP超出了本书的范围,所以我们只关注陷阱/通知、获取和设置。下面的小节介绍这些主题,但是首先我们必须讨论管理器和代理的概念。
1. 管理器和代理
SNMP管理的设备通常由网络管理站(NMS)控制。NMS定期轮询设备,查询状态信息,在必要时发送配置更改。NMS还监听陷阱或者通知。利用这种方式,NMS的功能类似于集中日志收集器。支持SNMP的主要理由是日志事件可以导出到传统的NMS,如HP的OpenView。但是它们也可以导出到日志收集系统。
配置SNMP陷阱的具体方法对于每种设备各不相同。在如下链接的文档更详细地描述了如何在IOS12上配置SNMP的所有特征:http://www.cisco.com/en/US/docs/ios/12_2/configfun/configuration/guide/fcf014.html
这个文档很好地结合了SNMP的一般介绍和配置SNMP的实用指南,虽然针对的是IOS,但是十分通用,可以用作其他系统的指南。
和syslog一样,必须有某个设备监听SNMP陷阱。接收者可以是NMS,你也可以在喜欢的Unix版本上运行某些SNMP守护进程。Net-SNMP是最流行的开源SNMP工具箱。它由使用的命令行工具和一个SNMP陷阱守护进程(snmpd)组成,可以运行于大部分Unix和Windows上。Net-SNMP的官方网站是http://www.net-snmp.org/
2.SNMP陷阱和通知
SNMP陷阱是SNMPv1协议的一部分。SNMP通知是SNMPv2和SNMPv3协议的一部分。陷阱和通知之间的关键区别是通知包含了接收者向发送者发回确认的功能。设备必须经过配置才能产生消息,包括什么事件生成消息,向哪里发送消息。
和syslog一样,SNMP通过UDP实现,因此和syslog有同样的可靠性问题。2002年,CERT发现SNMP的许多商业实现有漏洞。今天,这个问题大体上已经被人遗忘,供应商试图进一步解决这些安全问题。但是,对这些问题的存在必须引起注意。SNMPv2通知允许从接收者发回确认,至少提供了比单向UDP消息更可靠的消息传递。
SNMPv1陷阱使用明文传送,且没有身份认证,这也和syslog一样。因此,它们也容易遭到相同类型的欺骗攻击。SNMPv2通知也以明文发送。SNMPv3有可选择的消息认证,可以抵御欺骗攻击,代价是占用了发送者和接收者上的一些CPU周期。
3.SNMP get
SNMP协议允许“get”(获取)操作,你可以用它从一个设备或者系统上读取信息。你能够得到什么?这很大程度上取决于设备的实现。例如,路由器将跟踪每个接口的发送和接收字节数等信息。操作系统通常允许你获得CPU使用、内存使用等信息。从设备或者系统中可以获得有助于日志分析的信息。但是在实践中,这既不实用、也不现实。在网络管理界有个概念叫做陷阱导向轮询(trap-directed polling)。这意味着,当你接收到某种SNMP陷阱,使用SNMP get轮询设备以读取附加信息,进一步关联或者验证刚刚收到的陷阱。但是一般来说,发送陷阱的安全设备所作的只是:发送陷阱,但是并不跟踪任何可以“获取”的信息。
4.SNMP set
为了完整性,我们将简短地讨论SNMP set(设置)。顾名思义,SNMP set允许你更改远程系统上的某个数值。例如,网桥实现某种规范,允许你使用SNMP set开关交换机端口。为此,你必须知道连接到特定端口的主机的MAC地址。
5.SNMP作为日志数据替代方案的问题
如前所述,syslog消息的一个大问题是没有标准的格式。这意味着,供应商ABC的日志消息很可能与供应商XYZ的不同。然而,对于SNMP,情况也只是略好一些。SNMP使用了所谓的MIB(Management Information Base,管理信息库)。概略地说,这是特定系统所支持的陷阱和通知的定义。下面是来自Snort MIB的一条通知:
image

查看这一通知的结构细节和含义并不重要。我们只想对SNMP有一个总体的概念。需要指出的一点是定义中的OBJECTS部分。这是将在通知中发送的单独事件细节。例如,sida-SensorVersion在同一个MIB中的定义如下:
image

这是我们了解了特定细节的样子,在这个例子中,它是一个字符串,表示报告该通知的Snort版本。
遗憾的是,尽管MIB为良好格式、容易理解的消息提供了一个强大的框架,但是供应商很少提供这样的MIB。供应商用各种办法歪曲它。例如,MIB可能与设备或者系统实际发送的陷阱或者通知不符。或者,对底层SNMP实现进行了更改,但是MIB没有更新,很快就变得不同步。然后,当我们这些最终用户使用MIB来理解陷阱时,即使没有完全被误导,也至少会被弄糊涂。
最终,供应商没有花时间创建和上面的Snort示例类似的MIB,而是创建一个发送单变量的陷阱,这个变量就是一个自由格式的文本字符串。结果是,SNMP陷阱和syslog消息一样难以解析。实际上,许多供应商使用的是和syslog消息相同的消息,并将其包装在SNMP陷阱中。
所以,SNMP可能不是收集日志信息的最佳方式,但是它可能是从某些设备获取信息的唯一手段。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
30 0
|
2月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
49 0
|
2月前
|
缓存 固态存储 关系型数据库
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
|
3月前
|
SQL Java 数据库连接
日志输出-查看 SQL:深入分析 MyBatis 执行过程
日志输出-查看 SQL:深入分析 MyBatis 执行过程
36 0
|
4月前
|
存储 JSON 监控
日志记录和分析:ELK堆栈在内部局域网监控软件中的应用
在现代信息技术领域,监控和分析内部局域网的性能和运行状况对于确保系统的可靠性和高效性至关重要。为了实现这一目标,开发了一种基于ELK堆栈的解决方案,它利用强大的日志记录和分析工具,帮助监控人员实时追踪和解决问题。本文将介绍ELK堆栈的应用,以及如何自动提交监控到的数据到指定网站。
175 1
|
5月前
|
Linux Perl
Linux 系统快速分析日志定位故障原因的 10 个方法
在 Linux 系统中,日志是一种非常重要的资源。系统管理员可以通过日志记录的内容来检测系统的运行状况,分析问题,做出相应的调整和优化。由于日志文件数量庞大,内容复杂,因此需要使用一些工具和技术帮助管理员进行快速分析和查找。 本文将介绍 Linux 系统中快速分析日志、定位故障的 10 个方法。
644 1
|
3月前
|
Java
如何实现一个高效的二叉搜索树(BST)?请给出时间复杂度分析。 要求:设计一个二叉搜索树,支持插入、删除和查找操作。要求在平均情况下,这些操作的时间复杂度为O(log n)。同时,考虑树的平衡性,使得树的高度保持在对数级别。
如何实现一个高效的二叉搜索树(BST)?请给出时间复杂度分析。 要求:设计一个二叉搜索树,支持插入、删除和查找操作。要求在平均情况下,这些操作的时间复杂度为O(log n)。同时,考虑树的平衡性,使得树的高度保持在对数级别。
25 0
|
3月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
|
5天前
|
应用服务中间件 nginx
百度搜索:蓝易云【nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)】
需要注意的是,使用自定义的Nginx模块需要对Nginx的编译和配置有一定的了解。如果对Nginx和模块的配置不太熟悉,建议先仔细阅读相关文档和教程,确保操作正确。此外,模块的稳定性和兼容性也需要进行一定的测试和验证。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
15 0
|
5月前
|
运维 监控 安全
系统日志分析:发现潜在问题
系统日志分析:发现潜在问题
36 0