前言
最近收集了一些常见取证溯源的手段,现在把日志取证整理了一下,后续也会不定时更新
正文
系统日志取证
win
事件类型 | 描述 | 文件名 |
---|---|---|
系统 | 系统日志包含 Windows 系统组件记录的事件。例如,在启动过程中加载驱动程序或其他系统组件失败将记录在系统日志中。系统组件所记录的事件类型由 Windows 预先确定。 | %SystemRoot%\System32\Winevt\Logs\System.evtx |
安全 | 安全日志包含诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。管理员可以指定在安全日志中记录什么事件。例如,如果已启用登录审核,则对系统的登录尝试将记录在安全日志中。 | %SystemRoot%\System32\Winevt\Logs\Security.evtx |
应用程序 | 应用程序日志包含由应用程序或程序记录的事件。例如,数据库程序可在应用程序日志中记录文件错误。程序开发人员决定记录哪些事件。 | %SystemRoot%\System32\Winevt\Logs\Application.evtx |
转发事件 | ForwardedEvents 日志用于存储从远程计算机收集的事件。若要从远程计算机收集事件,必须创建事件订阅。 | %SystemRoot%\System32\Winevt\Logs\ForwardedEvents.evtx |
linux日志
描述 | 位置 |
---|---|
核心系统日志文件,包含系统启动引导,系统运行状态和大部分错误信息等都会记录到这个文件,因此这个日志是故障诊断的首要查看对象 | /var/log/message |
核心启动日志,系统启动时会在屏幕显示与硬件有关的信息,这些信息会保存在这个文件里面. | /var/log/dmesg |
存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。 |
/var/log/auth.log或 /var/log/secure |
UUCP 和 news 设备相关的日志信息 | /var/log/spooler |
与定时任务相关的日志信息 | /var/log/cron |
记录每一个发送至系统或者从系统发出的邮件活动 | /var/log/maillog |
系统引导日志 | /var/log/boot |
由多个程序执行,记录用户登录时间 | /var/log/wtmp和 /var/run/utmp |
存储内核的错误和警告数据,这对于排除与定制内核相关的故障尤为实用。 | /var/log/kern |
记录错误登录日志,这个文件是二进制文件,可以使用 lastb 命令查看 | /var/log/btmp |
记录打印信息的日志 | /var/log/cups |
记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,可以使用 lastlog 命令查看 | /var/log/lastlog |
记录系统中安装各 rpm 包列表信息 | /var/log/rpmpkgs |
注: 内核为2.6.32以后 syslog 被命名为 rsyslog,所以配置文件名称也不一样
service auditd status # 查看日志服务是否开启
more /etc/rsyslog.conf # 查看日志配置情况
另外history
命令可以查看linux命令执行记录
备注:解决在/var/log/目录下没有cron.log
:https://blog.csdn.net/ningningjj/article/details/104532157
中间件取证
weblogic
weblogic 9以后
日志类型 | 描述 | 位置 |
---|---|---|
access log | 主要记录http请求,默认情况下日志记录处于启用状态,服务器将http请求保存在单独的日志文件中,日志格式如下,主要记录了http请求请求ip地址、请求时间、访问页面、响应状态等信息 | $MW_HOME\user_projects\domains\ |
server log | 主要用于服务器的一般日志记录,比如weblogic的启动、关闭、部署应用等相关记录,日志格式:依次为时间戳,严重程度,子系统,计算机名,服务器名,线程ID | $MW_HOME\user_projects\domains\ |
domain log | 主要记录了一个domain的运行情况,一个domain中的各个weblogic server 可以把它们的一些信息(如:严重错误)发送到AdminServer上,AdminServer把这些信息传递到domain.log上 | $MW_HOME\user_projects\domains\ |
weblogic 8
日志类型 | 位置 |
---|---|
access log | $MW_HOME\user_projects\domains\ |
server log | $MW_HOME\user_projects\domains\ |
domain log | $MW_HOME\user_projects\domains\ |
其中:
$MW_HOME是WebLogic的安装目录
tomcat
日志类型 | 描述 | 位置 |
---|---|---|
catalina.out | 运行中的日志,主要记录运行中产生的一些信息,尤其是一些异常错误日志信息 | /usr/local/tomcat/logs/catalina.log |
catalina.Y-M-D.log | 是tomcat自己运行的一些日志,这些日志还会输出到catalina.out | — |
localhost.Y-M-D.log | 程序异常没有被捕获的时候抛出的地方 | — |
manager.Y-M-D.log | 管理日志 | — |
localhost_access_log | 主要记录访问日志信息,记录访问的的时间、ip地址等信息,也是应急中经常用到的日志信息 | — |
apache
windows
日志类型 | 描述 | 位置 |
---|---|---|
access.log | 访问日志,记录所有对apache服务器进行请求的访问 | <Apache安装目录>\logs\access.log |
error.log | 记录任何错误的处理请求,通常服务器出现什么错误,可对该日志进行查看 | <Apache安装目录>\logs\error.log |
linux
/etc/httpd/conf/httpd.conf
可以指定日志的位置
日志类型 | 位置 |
---|---|
access_log | /usr/local/apache/logs/access_log |
error_log | /usr/local/apache/logs/access_log |
nginx
windows
日志类型 | 描述 | 位置 |
---|---|---|
access.log | 主要记录访问日志,记录访问客户端ip地址、访问时间、访问页面等信息 | %安装目录%\logs\access.log |
error.log | 主要记录一些错误信息 | %安装目录%\logs\error.log |
linux
日志类型 | 位置 |
---|---|
access.log | /www/wwwlogs/access.log |
error.log | /www/wwwlogs/nginx_error.log |
如果找不到也可以用全局搜索
find / -name nginx.conf
IIS
windows
描述 | 位置 |
---|---|
包括访问域名时间、ip、访问url等信息 | %systemroot%\system32\logfiles\ex+年份的末两位数字+月份+日期.log 如:C:\WINDOWS\system32\logfiles\ex300910.log |
数据库取证
mysql
windows
日志类型 | 描述 |
---|---|
ErrorLog | 默认开启,记录Mysql运行过程中的Error、Warning、Note等信息,系统出错或者某条记录出问题可以查看Error日志; |
GenaralQuery Log | 默认关闭,记录mysql的日常日志,包括查询、修改、更新等的每条sql; |
Binary Log | 二进制日志,包含一些事件,这些事件描述了数据库的改动,如建表、数据改动等,主要用于备份恢复、回滚操作等; |
Slow QueryLog* | 记录Mysql 慢查询的日志; |
windows下mysql可以通过先找my.ini ,一般就在mysql的安装目录下,里面有对每种日志的索引
mysql命令行中查询所有日志的位置
showvariables like 'log_%';
linux
mysql命令行下查询
1.日志文件路径
mysql> show variables like ‘general_log_file’;
±—————–±———————————–+
| Variable_name | Value |
±—————–±———————————–+
| general_log_file | /usr/local/mysql/data/localhost.log |
±—————–±———————————–+
1 row in set (0.00 sec)
2.错误日志文件路径
mysql> show variables like ‘log_error’;
±————–±———————————–+
| Variable_name | Value |
±————–±———————————–+
| log_error | /usr/local/mysql/data/localhost.err |
±————–±———————————–+
1 row in set (0.00 sec)
3.慢查询日志文件路径
mysql> show variables like ‘slow_query_log_file’;
±——————–±—————————————-+
| Variable_name | Value |
±——————–±—————————————-+
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
±——————–±—————————————-+
1 row in set (0.01 sec)
bash下可以全局搜索配置文件my.cnf
(一般在/etc/my.cnf
),
[mysqld]
log=/var/log/mysqld_common.log
log-error=/var/log/mysqld_err.log
log-bin=/var/log/mysqld_bin.bin
结尾
行数太多可以查询指定行
sed -n '5,10p' /etc/my.cnf #查询第五到第十行
记录的这些,希望以后能用上吧