对广大IT工作者,尤其是运维和安全人员来说,“日志”是一个再熟悉不过的名词。
日志从哪来?机房中的各种软件(系统、防火墙)和硬件(交换机、路由器等),都在不断地生成日志。IT安全业界的无数实践告诉我们,健全的日志记录和分析系统,是系统正常运营、优化以及安全事故响应的基础,虽然安全系统厂商为我们提供了五花八门的解决方案,但基石仍是具有充足性、可用性、安全性的日志记录系统。
实际工作中,许多单位内部对日志并没有充分的认识,安全建设更多在于投入设备,比如防火墙、IDS、IPS、防病毒软件等,被动地希望这些系统帮助我们完成一切工作,但是俗话说的好:“魔高一尺道高一丈”,以特征码和预定义规则为基础的上述设备,在防护方面永远落在攻击者后面,防微杜渐才是真正的出路。
作为一名合格的安全人员,了解日志的概念,了解日志的配置和分析方法,是发现威胁、抵御攻击的重要技能,有了这方面的深刻认识,各种自动化安全解决方案才能真正地发挥效能。PHP大马
近日,有幸拜读《日志管理与分析权威指南》一书,本书由三位业界资深安全专家编著,从日志的基本概念开始,由浅入深讲述了整个日志生命周期的详细过程,从日志的概念、数据概念、人工分析日志、以及日志与合规的依从性、自动化分析日志引申到SIEM日志管理。而其一作者Anton A.Chuvakin博士是日志管理、SIEM和PCI DSS依从性领域公认的安全专家,他的博客www.securitywarrior.org是该领域中最受欢迎的博客之一,下面附一张Anton A.Chuvakin博士的博客截图。
![](https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5zZWNwdWxzZS5jb20vd3AtY29udGVudC91cGxvYWRzLzE5NzAvMDEvYmVlcHJlc3MtaW1hZ2UtMTEwMjgzLTE1NjQ5OTc4MDAucG5n)
题主并不是日志分析专家,只是借着学习后的总结分享出来,每个人在不同时机看的东西不一样,欢迎指正~
![](https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5zZWNwdWxzZS5jb20vd3AtY29udGVudC91cGxvYWRzLzE5NzAvMDEvYmVlcHJlc3MtaW1hZ2UtMTEwMjgzLTE1NjQ5OTc4MDEucG5n)
01
日志数据
简单地说,日志消息就是计算机系统、设备、软件等在某种触发下反应生成的东西。确切的触发在很大程度上取决于日志消息的来源。例如,UNix操作系统会记录用户登录和注销的消息,防火墙将记录ACL通过和拒绝的消息,磁盘存储系统在故障发生或者在某些系统认为将会发生故障的情况下会生成日志消息。
日志数据就是一条日志消息里用来告诉你为什么生成消息的信息,例如,web服务器一般会在有人访问web页面请求资源(图片、文件等等)的时候记录日志。如果用户访问的页面需要通过认证,日志消息将会包含用户名。天天好彩
日志消息可以分成下面的几种通用类型:
-
信息:这种类型的消息被设计成告诉用户和管理员一些没有风险的事情发生了。例如,Cisco IOS将在系统重启的时候生成消息。不过,需要注意的是,如果重启发生在非正常维护时间或是业务时间,就有发出报警的理由。
-
调试:软件系统在应用程序代码运行时发生调试信息,是为了给软件开发人员提供故障检测和定位问题的帮助。
-
警告:警告消息是在系统需要或者丢失东西,而又不影响操作系统的情况下发生的。
-
错误:错误日志消息是用来传达在计算机系统中出现的各种级别的错误。例如,操作系统在无法同步缓冲区到磁盘的时候会生成错误信息。
-
警报:警报表明发生了一些有趣的事,一般情况下,警报是属于安全设备和安全相关系统的,但并不是硬性规定。在计算机网络中可能会运行一个入侵防御系统IPS,检查所有入站的流量。它将根据数据包的内容判断是否允许其进行网络连接。如果IPS检测到一个恶意连接,可能会采取任何预先配置的处置。IPS会记录下检测结果以及所采取的行动。
02
日志数据的传输与收集
计算机或者其他设备都实现了日志记录子系统,能够在确定有必要的时候生成日志消息,具体的确定方式取决于设备。另外,必须有一个用来接收和收集日志消息的地方,这个地方一般被称为日志主机。日志主机是一个计算机系统,一般来说可能是linux和windows服务器系统,它是集中收集日志消息的地方。使用集中日志收集器的优点如下:
-
可以集中存储从多个地方得到的日志消息。
-
可以在上面备份你的日志。
-
可以在上面进行日志数据的分析。
那么,日志消息如何传输?最常见的方法是通过syslog协议。syslog协议是日志消息交换的一种标准。常见于Linux系统中,也使用在windows平台上。syslog基本上都实现了客户端和服务端组件,两者之间通过用户数据报协议(UDP)通信,但是为了可靠传输,很多开源和商业syslog实现同样也支持传输控制协议(TCP)。
syslog并不是传输和收集日志数据的唯一机制。例如,微软为windows开发了自己的日志记录系统,称为windows事件日志。用户登录注销,应用程序消息等都以专有的格式存储。有开源和商业的应用程序用来将windows事件日志转换成syslog的格式,以发送给syslog服务器。
简单网络管理协议(SNMP)是一种用来管理网络设备的基于标准的协议。
数据库已经变成了应用程序存储日志消息的简便途径。应用程序可以将它的日志消息写进数据库模式,而不是生成一条syslog消息。在某些情况下,syslog服务器本身也可以直接写入关系型数据库,特别是在结构化存储、分析和报告日志消息的情况下有着极大的优势。
最后,也有一些专有的日志记录格式。第三方设备和应用程序实现了用于生成和检索日志消息的专有机制。在这个领域,供应商可能以C或者java类库的形式给你提供应用编程接口(API),或者由你自行实现协议。可将windows事件日志看作一种专有格式,但时常人们将其看作非官方日志记录标准,类似syslog,因此这种方式很流行。
-
syslog:基于UDP的客户端/服务器协议。这是最常见和普遍的日志记录机制。
-
SNMP:SNMP最初是为了管理网络中的设备而创造的,然而多年来许多非网络系统已采用SNMP作为发出日志消息和其他状态类型数据的方式。
-
windows事件日志:微软的专