关于服务器(Linux)日志分析的一些总结

文章介绍了服务器取证过程中的一些关键步骤,包括熟悉网站架构,关注日志文件如/var/log下的各种日志,使用grep、find、sed等命令进行日志分析,检查异常端口和进程,分析定时任务以及web服务器配置。此外,还提到了宝塔面板的默认设置和日志位置,强调了在实际取证中的重要性。
摘要由CSDN通过智能技术生成

对在服务器取证当中一些文件和命令的简单总结,个人认为服务器取证,需要先熟悉网站的架构,在实际的取证过程中思路也比较重要要多总结不同类型的网站从何处入手。

1.日志默认存放位置

/var/log

more /etc/rsyslog.conf 查看日志配置情况

2.常见的日志文件

 3.重要的日志

/var/log/btmp 登录失败日志 lastb

/var/log/lastlog 最后一次日志 lastlog

/var/log/wtmp 登录成功日志 last

/var/log/secure 登录日志记录

/var/run/utmp 登录用户信息 w who users

历史命令记录 history

4.日志分析常用的系统命令

Linux常用的shell命令:find grep egrep awk sed

1、grep显示前后几行信息:

​ 标准unix/linux下的grep通过下面參数控制上下文:

​ grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行

​ grep -B 5 foo file 显示foo及前5行

​ grep -A 5 foo file 显示foo及后5行

​ 查看grep版本号的方法是

​ grep -V

2、grep 查找含有某字符串的所有文件

grep -rn "hello,world!"

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

3、如何显示一个文件的某几行:

cat input_file | tail -n +1000 | head -n 2000

#从第1000行开始,显示2000行。即显示1000~2999行

4、find /etc -name init

//在目录/etc中查找文件init

5、只是显示/etc/passwd的账户

cat /etc/passwd |awk -F ':' '{print $1}'

//awk -F指定域分隔符为':',将记录按指定的域分隔符划分域,填充域,​$0则表示所有域,$1表示第一个域,​$n表示第n个域。

6、sed -i '152,$d' .bash_history

删除历史操作记录,只保留前152行

5.分析异常端口

使用netstat 网络连接命令,分析可疑端口、IP、PID

netstat -anp|more

netstat -antlp|more

查看下pid所对应的进程文件路径,

运行ls -l /proc/$PID/exe($PID 为对应的pid 号)

6.异常进程

使用ps命令,分析进程

ps aux | grep $PID($PID 为对应的pid 号

7.定时任务分析

crontab -l 列出某个用户cron服务的详细内容

默认编写的crontab文件会保存在 (/var/spool/cron/用户名

例如:

/var/spool/cron/root

crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)

crontab -e 使用编辑器编辑当前的crontab文件

重点关注:

/var/spool/cron/*

/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

/var/spool/anacron/*

可以使用 more /var/spool/cron/* 快速查看

8.检查服务

查询已安装的服务:

Chkconfig –list (RedHat Centos)

系统在3与5级别下的启动项

chkconfig --list | grep "3:on|5:on"

sysv-rc-conf –list (Debian Ubuntu)

系统在3与5级别下的启动项

sysv-rc-conf --list |grep "3:on|5:on"

9.linux配置文件

/etc/mysql/my.cnf(记录mysql的配置信息)

/etc/crontab(记录定时任务的配置信息)

/etc/rc.local(记录开机启动任务的配置信息)

/etc/passwd(记录一些用户账号信息,包括密码)

/etc/shadow(记录加密后的用户账号密码信息,还可以包括密码时效信息)

/etc/group(记录有效的组名称和指定组中包括的用户)

10.web相关配置文件

/etc/mysql/my.cnf(记录mysql的配置信息)

/etc/crontab(记录定时任务的配置信息)

/etc/rc.local(记录开机启动任务的配置信息)

/etc/passwd(记录一些用户账号信息,包括密码)

/etc/shadow(记录加密后的用户账号密码信息,还可以包括密码时效信息)

/etc/group(记录有效的组名称和指定组中包括的用户)

11.常见web服务器的日志存储位置

apache /var/log/httpd/access_log

nginx /var/log/nginx/access.log

lls C:\inetpub\logs\LogFiles\W3SVC1\u_exYYMMDD.log

tomcat /usr/local/tomcat/logs/access_log.yyyy-mm-dd.txt

12.宝塔取证

宝塔取证在当前很多取证比赛当中都会涉及需要实际搭建宝塔环境进行测试

列举了在实际取证中个人认为比较重要的几点

1.默认端口8888

2. 域名限制文件(有的网站会添加域名限制导致无法访问)

/www/server/panel/data/domain.conf

3.bt default 查看宝塔默认登录面板地址

bt 查看默认指令  (可能会对网站的访问做出限制需要在面板当中的进行关闭)

4.宝塔当中的web服务器日志

/www/wwwlogs/ 分网站记录服务器访问日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值