当前位置: 首页 > article >正文

应急响应--日志分析

应急响应–日志分析

文章目录
  • 一、Windows日志
  • 二、Linux日志
  • 三、Web日志
    • 3.1、IIS中间件日志
    • 3.2、Apache中间件日志
    • 3.3、Tomcat中间件日志
    • 3.4、Weblogic
    • 3.5、Nginx中间件日志


一、Windows日志

Windows日志记录着Windows系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件,掌握计算机在特定时间的状态,以及了解用户的各种操作行为,并且包括有关系统、安全、应用程序的记录。

Windows系统之后,日志文件通常分为系统日志(SysEvent) 、应用程序日志(AppEvent) 和安全日志(SecEvent)3种:
在这里插入图片描述

系统日志:
记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃及数据。Vista/Win7/Win8/ /Win10/Server 2008/Server 2012默认位置为:C:WINDOWS\system32\winevt\Logs\System.evtx
应用程序日志:
包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件。Vista/Win7/Win8/ /Win10/ Server 2008/Server 2012默认位置为:C:\WINDOWS\system32\winevt\Logs\Application.evtx
安全日志:
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、账号管理、策略变更、系统事件。Vista/Win7/Win8/ /Win10/Server 2008/Server 2012默认位置为C:\WINDOWS\system32\winevt\L .ogs\Security.evtx安全日志是应急响应中需要重点关注的,可基于安全日志对系统和应用程序日志进行排查。

在日志文件中所有事件只能拥有其中的一个事件级别,具体的事件级别如下:
1、信息事件:指应用程序、驱动程序或服务的成功操作事件。
2、警告事件:指不是直接的、主要的,但会导致将来问题发生的事件。如当磁盘空间不足或未找到打印机时,都会记录一个“警告”事件。
3、错误事件:指用户应该知道的重要问题,通常是功能和数据的丢失。如一个服务不能作为系统引导被加载,就会产生一个错误事件。
4、成功审核(Success audit):表示成功的审核安全访问尝试,主要是指安全性日志,包括用户的登录/注销、对象访问、特权使用、账户管理、策略更改、详细跟踪、目录服务访问、账户登录等事件,其中所有成功登录的系统都会被记录为“成功审核”事件。
5、失败审核(Failure audit) :表示失败的审核安全登录尝试,如用户试图访问网络驱动器失败,该尝试就会被作为失败审核事件记录下来。
在这里插入图片描述
不同的事件(EVENT ID) 代表了不同的意义,一些常见的安全事件说明如下表。

事件ID说明
4624登录成功
4625登录失败
4634注销成功
4647用户启动的注销
4672使用超级用户(如管理员)进行登录
4720创建用户

每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式,具体说明如下表:

登录类型描述说明
2交互式登录(Interactive)用户在本地进行登录
3网络( Network)最常见的情况是连接到共享文件夹或共享打印机
4批处理( Batch)通常表明某计划任务启动
5服务(Service)每种服务都被配置在某个特定的用户账号下运行
7解锁(Unlock)屏保解锁
8网络明文(Network Cleartext)登录的密码在网络上是通过明文传输的,如FTP
9新凭证(New Credentials)使用带Netonly参数的RUNAS命令运行一个程序
10远程交互(Remote Interactive)通过终端服务、远程桌面或远程协助访问计算机
11缓存交互(Cached Interactive)以一个域用户登录而又没有域控制器可用

Windows日志分析思路:攻击者在对系统进行攻击后,可能会在操作系统上添加用户,远程登录后会安装一些木马,这时候我们首先查看是否创建了用户,然后查看该用户是否成功登录,再次查看用户什么时间注销。基于这个时间段,排查系统日志,查看安装了哪些程序。可通过在事件查看器中搜索具体的事件ID,然后对攻击者行为进行判断。

二、Linux日志

目前新版本的Linux系统的日志系统都是rsyslog的,rsyslog是syslog的多线程增强版,其配置信息位于/etc/rsyslog.conf
syslog主要是用来提供日志记录功能的,Linux系统内核和许多程序都会产生各种错误信息、警告信息和其他的提示信息,而syslog服务就会将这些信息写到日志文件中,方便我们后续查看分析。syslog可以根据日志的类别和优先级将日志保存到不同的文件中,日志的优先级别数字等级越小,其优先级越高,消息也越重要。

日志优先级别英文单词中文说明
级别英文单词中文释义说明
0EMERG紧急导致主机系统不可用
1ALERT警告必须马上采取措施解决问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能影响系统功能,是需要提醒用户的重要事件
5NOTICE注意不会影响正常功能,但是需要注意的事件
6INFO信息一般信息
7DEBUG调试程序或系统的调试信息等

在Linux中常见的日志文件,默认配置下,日志文件通常保存在/var/log目录下:
在这里插入图片描述

日志文件说明
/var/log/cron记录系统定时任务的相关日志
/var/log/cups记录打印信息的日志
/var/log/dmesg记录系统在开机时内核自检的信息,也可以使用dmesg命令直接查看
/var/log/mailog记录邮件信息
/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或者/var/log/auth.log记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,如SSH登录、su切换用户、sudo授权,以及添加用户和修改用户密码都会记录在这个日志文件中,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。

在应急响应日志排查中,需要重点分析的日志:/var/run/utmp、/var/log/lastlog、/var/log/wtmp、/var/log/btmp 、/var/log/secure、软件安装日志等。

1、/var/run/utmp日志
记录当前已经登录的用户信息,会随着用户的登录和注销不断变化,只记录当前登录用户的信息。这个文件不能直接使用vi查看,而要使用w、who、users 等命令。
在这里插入图片描述

w命令:查询utmp文件,并显示当前系统中每个用户和它所运行的进程信息。
who命令:查询utmp文件,并报告当前登录的每个用户。Who命令的默认输出包括用户名、终端类型、登录日期及远程主机。
users命令:用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,其用户名将显示相同的次数。

2、/var/log/lastlog”日志
记录系统中所有用户最后一次登录时间的日志。这个文件是二进制的,不能直接使用vi查看,而要使用lastlog 命令。
在这里插入图片描述

3、/var/log/wtmp 日志
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。这个文件是二进制的,不能直接使用vi查看,而要使用last命令。
在这里插入图片描述

4、/var/log/btmp日志
记录错误登录日志。这个文件是二进制的,不能直接使用vi查看,而要使用lastb命令。如果该日志文件过大可以清空。
在这里插入图片描述

5、/var/log/auth.log 日志
记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,如SSH登录、su切换用户、sudo授权,以及添加用户和修改用户密码都会记录在这个日志文件中,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。
在这里插入图片描述

6、软件安装日志
在应急响应过程中,软件安装日志也是需要排查的内容,如“/var/log/yum.log或“/var/log/
yum.log-时间”中会显示yum安装的日志,“ /root/install.log"中存储了安装在系统中的软件包
及其版本信息;“/root/ install.log.syslog”中存储了安装过程中留下的事件记录。

7、自带的日志查看程序
在这里插入图片描述

我们在找到相关日志之后,信息量是非常巨大的,此时可以通过关键字的方法定位我们具体需要查找的内容,Linux下主要是利用Shell命令对安全日志进行分析。

三、Web日志

Web日志会记录用户对Web页面的访问操作行为。我们可以从日志中分析出在什么时间、有哪些IP地址访问了网站中的什么资源、访问是否成功等。同时Web日志也记录了攻击者的一些信息,如攻击者IP、攻击语句。通过对日志进行大量的分析就可以追踪溯源。

3.1、IIS中间件日志

IIS它主要用来解析ASP、ASA、CER这3种文件格式的文件,也可结合环境资源包解析PHP等。IIS是一种Web (网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等,不同IIS日志的默认目录不一样,也可自定义。
IIS日 志文件的格式为“ex+年份的末两位数字+月份+日期”,文件后缀是.log,如2022年3月24日的日志生成文件是“ex220324.log”,默认为按天数生成。
IIS每条日志的格式由data、time、c-ip、cs-method、cs-uri-stem、 s-port、s-ip、cs(User-Agent)、sc-status、sc-bytes、cs-bytes组成。

date发出请求时的日期。
time发出请求时的时间。
c-ip客户端IP地址。
cs-method请求中使用的HTTP方法,如GET方法和POST方法。
cs-uri-stemURI资源, 记录作为操作目标的统一资源标识符,即访问的页面文件。
s-port为服务配置的服务器端口号。
s-ip服务器的IP地址。
cs(User-Agent)用户代理,包括客户端浏览器、操作系统等情况。
sc-status协议状态,记录HTTP状态代码,其中,200表示成功,403表示没有权限,404表示找不到该页面。
sc-bytes服务器发送的字节数。
cs-bytes服务器接收的字节数。

3.2、Apache中间件日志

安装Apache后,Apache的配置文件“httpd.conf”中存在着两个可调配的日志文件,这两个日志文件分别是访问日志access_log/access.log和错误日志error_log/error.log。如果使用SSL服务,则可能存在ssl_access_log、ssl_error_log、ssl_request_log这3种日志文件。
日志文件的路径根据安装方式不同,其位置也不一样,一般是在Apache安装目录的logs子目录中,日志文件路径可根据实际安装情况在Apache的配置文件中进行查找。
在应急响应中,重点关注的是访问日志,访问日志access_ log 记录了所有对Web服务器的访问活动。
示例如下:
127.0.0.1 - - [08/Jun/2021:11:43:08 +0800] "GET /sqli-labs/index.html_files/freemind2html.css HTTP/1.1" 200 1335

参数说明
远程主机IP表示访问网站的是谁。
空白(E- mail)为了避免用户的邮箱被垃圾邮件骚扰,使用–取代。
空白(登录名)用于记录浏览者进行身份验证时提供的名字。
请求时间用方括号包围,采用“公用日志格式”或“标准英文格式”。时间信息最后的+0800表示服务器所处时区位于UTC之后的8小时。
方法资源协议表示服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”。
状态代码请求是否成功,或者遇到了什么样的错误。大多数时候,这项值为200,它表示服务器已经成功响应浏览器的请求。
发送字节数发送给客户端的总字节数,可说明传输是否被打断(该数值是否和文件的大小相同)。

3.3、Tomcat中间件日志

Tomcat对应日志的配置文件是Tomcat目录下的/conf/logging.properties。Tomcat默认有四类日志,分别是catalina、localhost、 manager、 host-manager。 Tomcat的日志类别也可以进行自定义。

catalina.out表示标准输出(stdout) 和标准出错(stderr) ,所有输出到这两个位置时都会进入catalina.out,这里包含Tomcat运行自己输出的日志,以及应用里向console输出的日志。
catalina.yyyy-MM-dd.log表示Tomcat自 己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志就不会输出到这个日志文件中,它包含Tomcat 的启动和暂停时的运行日志,和catalina.out的内容不一样。
localhost.yyyy-MM-dd.log主要应用初始化(listener、 filter、 servlet) 未处理的异常后被Tomcat捕获而输出的日志。它也是包含Tomcat的启动和暂停的运行日志,但它没有catalina.yyy-MM-dd.log日志的记录全,只是部分日志。
localhost_access_log.yyy-MM-dd.txt是访问Tomcat的日志,对请求地址、路径、时间、协议和状态码都有记录。
host-manager.yyy-MM-dd.log存放Tomcat自带manager项目的日志信息。
manager.yyyy-MM-dd.log:Tomcat manager项目专有的日志文件。

3.4、Weblogic

在默认配置情况下,WebLogic会有3种日志,分别是access log、Server log和domain log
WebLogic 8.x和WebLogic 9及其以后版本目录区别如下:
WebLogic 8.x版本:
access log在:$MW_HOME\user_projects\domains\<domain_name>\<server_name>\access.log"
server log在:$MW_HOME\user_ projects\domains\<domain_name>\<server_ name>\<server_name>.log" ;
domain logz在:$MW_HOME\user_projects\domains\<domain_name>\<domain_name>.log

WebLogic 9及其以后版本:
access log在:$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\access.log
server log在:$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\<server_name>.log
domain logz在:$MW_HOME\user_projects\domains\<domain_name>\servers\<adminserver_name>\logs\<domain_name>.log

$MW_HOMEWebLogic的安装目录;
<domain_name>域的实际名称,是在创建域时指定的;
<server_ name>是Server的实际名称,是在创建Server时指定的;
<adminserver_ name>是管理服务器的实际名称,是在创建Admin Server时指定的。

3.5、Nginx中间件日志

Nginx中间件日志分为两种:访问日志和错误日志access.log、error.log,默认情况下,access.log日志会放在Nginx安装路径的logs目录中,如果通过yum源安装Nginx,那么access.log的默认路径为/var/log/nginx/access.log。也可以自定义日志文件的路径。


http://www.kler.cn/a/282377.html

相关文章:

  • Oracle Instant Client 23.5安装配置完整教程
  • 使用 Grafana api 查询 Datasource 数据
  • js导入导出
  • vue2和vue3:diff算法的区别?
  • 【nginx】client timed out和send_timeout的大小设置
  • LSTM(长短期记忆网络)详解
  • YOLO | YOLO目标检测算法(YOLO-V1)
  • 浙大联合港中深发布AI医疗最新报告,全面审视「虚拟现实+人工智能」
  • 基于 ASP.NET的教材管理信息系统的设计与实现(最新定制开发,阿龙原创设计)✅
  • 深入理解Spring Security
  • C语言 | Leetcode C语言题解之第382题链表随机节点
  • 直播电商如何实现精细化运营,破除流量互卷的困境?
  • HTTP/1.1
  • 防泄密的方法都有哪些?
  • Mac 去除自动生成.DS_Store文件的方法
  • 通信协议——Modbus 讲明白了
  • python爬虫,使用pyppeteer异步,爬取,获得指定标签内容
  • 【lua实战】lua中pairs和ipairs的区别
  • 2、Spring手写系列-实现 Bean 的定义、注册、获取
  • 用于不平衡分类的 Bagging 和随机森林
  • CentOS 7更换YUM源为国内源的保姆级教程
  • 如何学习Linux性能优化?
  • chrome cookie编辑
  • servlet的过滤器filter和springmvc的拦截器Interceptor
  • 如何更改 Mac 上 Java 的默认版本?
  • 基于 INFINI Pizza 为 Hugo 静态站点添加搜索功能