本文结合多个实际应急案例经验进行总结,整理Linux应急响应场景及排查思路
以ubuntu16.04为例
1、通信端口:
root@ubuntu:~# netstat -napt
端口通信状态查看 重点关注本地端口、远程通信 IP 及端口、PID、进程名称,同时可 通过连接状态来判断是临时连接还是长时间连接。
查看端口开放情况是最基本的操作,排查是否有异常开放端口。
通信端口差异的排查原因是基于服务器与访问者而控制端的连接 方式,达到命令控制一般分为两种连接方式,正向连接与反向连接。
正向连接即为本地监听端口,这种情况下多数为 4 位数或以下的端口号,且因为监听端口号是人为设定所以端口号有序,例如 1234、 5555、888、666、6666、7788、99、123 等。
反向连接端口特征是 5 位数且端口号随机无规律可循,而远端通 信端口号则是人为设定,有一定特征。
2、系统进程
通过端口排查我们所发现的异常端口,可以通过排查进程进行详细确认,排查进程应养成习惯,无论是否找到异常端口对应的进程,都应该对所有的进程进行查看。 在寻找文件的过程中可以参考文件修改时间以及文件名来快速定位,因为一些访问者会把后门插入到正常的文件中。但是这里的文件修改时间只能作为参考,不能完全依赖。
root@ubuntu:~# ps -aux
root@ubuntu:~# ps -ef
比如随机查看进程5700
root@ubuntu:~# ps -aux | grep 5700
3、用户排查
root@ubuntu:~# cat /etc/passwd | grep -E "/bash$" && cat /etc/passwd | grep -E "/sh$"
root@ubuntu:~# cat /etc/passwd
查看当前登录用户、登录 IP、用户操作
root@ubuntu:~# w
查看用户登录记录以及 IP
root@ubuntu:~# last
4、历史命令排查
root@ubuntu:~# history
5、日志排查
可根据实际情况去选择排查的日志文件
root@ubuntu:~# ls /var/log/
6、内存消耗排查
通过排查进程的内存损耗,快速判断是否有异常进行。一般在处理挖矿的时候会参考这个结果。
root@ubuntu:~# free -h
root@ubuntu:~# top
7、环境变量排查
查看系统变量有无异常
root@ubuntu:~# echo $PATH
后续再进行补充~