《日志管理与分析权威指南》一2.3 良好日志记录的标准

简介:

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

2.3 良好日志记录的标准

正如这本书中各式例子所示,许多情况下日志记录的信息是不完整的,有时甚至是没用的。那么怎样才算是“良好”的日志呢?对入侵检测、资源管理或审计来说,日志消息必须包含哪些必要的信息?由于日志的种类很多,生成日志的设备更是多种多样,因此很难定义单一的标准。
通常来说,日志应该能够告诉你如下信息:

  • 发生了什么(即What,辅以适当细节信息;单纯的“某事发生”通常并不是特别有用)
  • 发生于何时(即When,若有必要,包含开始时间以及结束时间)
  • 发生于何处(即Where,在哪台主机,什么文件系统上,哪个网络接口等等)
  • 谁参与其中(Who)
  • 参与者来源(Where)

以上所列的是绝对必要的信息——“日志记录的5个W”。许多其他领域都遵循这些准则:如新闻报道、犯罪调查等等。为了锦上添花,许多人还愿意加入下面这些信息:

  • 我能从何处得到更多详细信息。
  • 我怎么才能确定以上所表内容确有其事。
  • 会有什么影响。

我们当然也可以梦想,期望着知道:

  • 接下来会发生什么。
  • 我应该再关注哪些其他事件的发生。
  • 我应该怎么做。

当然,在某些情况下,上面这几项取决于特定的环境,即你的站点在某个特定事件发生后应该执行的操作与其他站点可能并不相同。
由于各种组织在一定程度上已经控制了网络设备和服务器的日志记录,应用程序日志记录显然将成为下一条战线。在习惯了整齐的Cisco ASA或其他防火墙日志以及Linux的“password accepted”(密码被接受)消息后,安全事故的调查者不得不投身可怕的应用程序日志世界,试着去对下一波攻击做出回应。这些日志可能会在这里或那里错失细节,并且并不总是有用,但至少它们是熟悉的。
当今许多应用程序日志存在的问题简直令人难以置信:日志常常缺失,关键细节被省略,没有标准格式或内容随意出现在任何位置。在这一基础上,许多安全从业人员不得不处理伪装成安全审计日志的调试日志。
表2.3阐述了这两类应用程序日志的关键区别。
image

与设计精良的安全审计日志相比,调试日志在应用程序框架内部的使用更频繁,由于事故响应和取证所需的关键细节在调试日志中可能没有记录,使用它们进行调查往往是令人沮丧的。第18章将更详细地讨论这一主题。
理想的日志记录场景
那么,如果我们可以让日志记录按照预想的方式工作,我们想看到的是什么信息,这些信息如何呈现?
我们希望看到的东西就只是那个时刻需要知道的,不多也不少。当然,这只是白日做梦,所以我们将满足于获得比这更多的信息——不同严重性的事件,以便日志分析人员根据当前情况做出决策。
从更高的层次来看,我们更愿将信息分为两类:现在就处理(紧急)的信息或后期再处理(不紧急)的信息。前者是高优先级的日志,清晰且可操作。不管某条目添加到日志中的哪个位置,都应该传达给操作人员或分析人员以便立即采取行动。当然,采取什么行动也应该很清晰。
后者包含的记录并不需要立即处理。然而当总结、时间推移或者审计/取证分析的时候,这些事件会提供重要的信息。
总而言之,我们乐于看到:
表2.4不是一个完整的列表,但是它提供了理想情况下应该被记录的事件以及记录的方式。优先级可能不只两个,但是概念上来说是相同的。事实上,真实环境下通常最少有3个优先级。第三个级别是无用的或不重要的“可忽略”日志消息。
image

相关实践学习
日志服务之使用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 个方法。
646 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)
|
6天前
|
应用服务中间件 nginx
百度搜索:蓝易云【nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)】
需要注意的是,使用自定义的Nginx模块需要对Nginx的编译和配置有一定的了解。如果对Nginx和模块的配置不太熟悉,建议先仔细阅读相关文档和教程,确保操作正确。此外,模块的稳定性和兼容性也需要进行一定的测试和验证。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
15 0
|
5月前
|
运维 监控 安全
系统日志分析:发现潜在问题
系统日志分析:发现潜在问题
36 0