查看原文
其他

【2022HVV系列】操作系统日志收集与分析

一、Windows日志收集与分析

    在运维工作过程中,如若windows服务器被入侵,往往需要检索和分析相应的安全日志。除了安全设备,系统自带的日志就是取证的关键材料,但是此类日志数量庞大,需要高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。


Windows日志概述

    windows日志记录着Windows系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件,掌握计算机在特定时间的状态,以及了解用户的各种操作行为,为应急响应提供很多关键的信息。

    Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。


应用程序日志

    包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

    日志的默认位置为:

C:WindowsSystem32winevtLogsApplication.evtx


系统日志

    Windows系统组件产生的事件,主要包括驱动程序、系统组件、应用程序错误消息等。

    日志的默认位置为:

C:WindowsSystem32winevtLogsSystem.evtx


安全日志

    主要记录系统的安全信息,包括成功的登录、退出,不成功的登录,系统文件的创建、删除、更改,需要指明的是安全日志只有系统管理员才可以访问,这也体现了在大型系统中安全的重要性。

    日志的默认位置为:

C:WindowsSystem32winevtLogsSecurity.evtx



查看系统日志

开始 -> 运行 -> 输入eventvwr




事件日志分析—事件类型

    Windows事件日志文件本质上是数据库,其中包括有关系统、安全、应用程序的记录。记录的事件包含9个元素:日期/时间、事件类型、用户、计算机、事件ID、来源、类别、描述、数据等信息。

    信息:信息事件指应用程序、驱动程序或服务的成功操作的事件。

    错误:错误事件指用户应该知道的重要的问题。错误事件通常指功能和数据的丢失。

    警告:警告事件指不是直接的、主要的,但是会导致将来问题发生的问题。    

    失败审核:失败的审核安全登录尝试,例如用户试图访问网络驱动器失败,则该尝试会被作为失败审核事件记录下来


事件日志分析—登陆类型

登录类型

描述

说明

2

交互式登录

用户在本地进行登录

3

网络

最常见的情况就是连接到共享文件夹或者共享打印机

4

批处理

通常表明某个计划任务启动

5

服务

每种服务都被配置在某个特定的用户账号下运行

7

解锁

屏保解锁

8

网络明文

登录的密码在网络上通过明文传输的,如FTP

9

新凭证

使用带/Netonly参数的RUNAS命令运行一个程序

10

远程交互

通过终端服务、远程桌面或远程协助访问计算机

11

缓存交互

以一个域用户登录而又没有域控制器可用


事件日志分析—事件ID

事件ID

说明

4624

登录成功

4625

登录失败

4634

注销成功

4647

用户启动的注销

4672

使用超级用户(如管理员)进行登录

4720

创建用户

6005

表示计算机日志服务已启动,如果在事件查看器中发现某日的事件ID号为6005,就说明这天正常启动了windows系统。

6006

表示事件日志服务已停止,如果没有在事件查看器中发现某日的事件ID为6006的事件,就表示计算机在这天没关机或没有正常关机


二、Linux日志收集与分析

    Linux系统日志的重要性无需多言,日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。

    Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。


Linux操作系统日志概述

    大部分Linux发行版默认的日志守护进程为syslog,位于“/etc/syslog”或者“/etc/syslogd”,默认配置文件为“/etc/syslog.conf”,任何希望生成日志的程序都可以向syslog发送信息。

    Linux系统内核和许多程序都会产生各种错误信息、警告信息和其他提示信息都会被写在日志文件中,完成这个过程的程序就是syslog,syslog可以根据日志的类别和优先级将日志保存到不同的文件中,数字级别越小,其优先级别越高,消息也越重要。


查看日志

日志默认存放位置

查看日志配置情况



日志分析—连接符号

连接符号

说明

*

代表所有日志等级,比如:“authpriv.*"代表authpriv认证信息服务产生的日志,所有的日志等级都记录。

.

代表只要比后面的等级高的(包含该等级)日志都记录下来。比如:"cron.info"代表cron服务产生的日志,只要日志等级大于等于info级别,就记录。

.=

代表只记录所需等级的日志,其他等级的都不记录。比如:"*.=emerg"代表任何日志服务产生的日志,只要等级是emerg等级就记录。这种用法及少见,了解就好。

.!

代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。


日志分析—日志优先级

级别

等级名称

说明

0

EMERG(紧急)

导致主机系统不可用

1

ALERT(警告)

必须马上采取措施解决问题

2

CRIT(严重)

比较严重的情况

3

ERR(错误)

运行出现错误

4

WARNING(提醒)

可能影响系统功能,是需要提醒用户的重要事件

5

NOTICE(注意)

不会影响正常功能,但是需要注意的事件

6

INFO信息

一般信息

7

DEBUG调试

程序或系统的调试信息


日志分析—Linux系统中常见的日志文件说明

日志文件

说明

/var/log/cron

记录了系统定时任务相关的日志

/var/log/dmesg

记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息

/var/log/message

记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件,但由于记录的信息太杂,一般不查看

/var/log/btmp

记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看

/var/log/lastlog

记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看

/var/log/wtmp

永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看

/var/log/utmp

记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询

/var/log/secure

记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中


日志分析技巧

常用的shell命令:

find命令:在目录中查找指定文件

grep命令:在文件中搜寻匹配的行并输出

awk命令:查找文本,输出匹配的内容

sort命令:对文件进行排序

wc命令:统计


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存