Linux应急响应基础

一般处置流程

特征排查

服务器被攻击,或多或少都会有相对应的症状,例如:挖矿病毒,CPU利用率升高,内存占用率增加,出现异常进程,服务器响应速度变慢等等。

清除病毒

根据上一步出现的现象进行百度,查看特征是否匹配,确定病毒类型,病毒感染后会创建哪些文件及进程等等。

系统加固

根据病毒传播传播途径,对系统进行加固,防止再次感染。

基本排查命令

查看历史命令

通过.bash_history查看帐号执行过的系统命令
root的历史命令:histroy
打开/home各帐号目录下的.bash_history,查看普通帐号的历史命令
历史操作命令的清除:history -c(但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。)

查看系统CPU状态

top

PID:进程ID,进程的唯一标识符
USER:进程所有者的实际用户名。
PR:进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
S:这个是进程的状态。它有以下不同的值:

  • D - 不可中断的睡眠态。
  • R – 运行态
  • S – 睡眠态
  • T – 被跟踪或已停止
  • Z – 僵尸态

%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM:进程使用的可用物理内存百分比。
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)

进程枚举

ps -aux
病毒一般携带可疑字符串,如果发现需要额外关注。

USER:用户名
%CPU:进程占用的CPU百分比
%MEM:占用内存的百分比
VSZ:该进程使用的虚拟內存量(KB)
RSS:该进程占用的固定內存量(KB)(驻留中页的数量)
STAT:进程的状态
START:该进程被触发启动时间
TIME:该进程实际使用CPU运行的时间

ps命令详解

参数 介绍
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有程序。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-e 此参数的效果和指定"A"参数相同。
e 列出程序时,显示每个程序所使用的环境变量。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N 显示所有的程序,除了执行ps指令终端下的程序之外。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
u 以用户为主的格式来显示程序状况。
-l 较长,较详细的显示该PID的。

分析可疑端口、IP、PID

netstat -antlp|more

查看下pid所对应的进程文件路径,
运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)

定时任务排查

crontab

列出某个用户 cron 服务的详细内容:crontab -l
删除每个用户cront任务(谨慎:删除所有的计划任务):crontab -r
使用编辑器编辑当前的crontab文件:crontab -e

anacron

利用anacron实现异步定时任务调度。anacron 会以 1 天、1周(7天)、一个月作为检测周期,判断是否有定时任务在关机之后没有执行。如果有这样的任务,那么 anacron 会在特定的时间重新执行这些定时任务。
Eg:每天运行 /home/backup.sh脚本: vi /etc/anacrontab @daily 10 example.daily /bin/bash /home/backup.sh当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机十分钟之后运行它,而不用再等待7天。
详细介绍:> http://c.biancheng.net/view/1095.html

日志分析

日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf

日志文件 说明
/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 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
posted @ 2020-10-15 18:49  Wha13  阅读(120)  评论(0)    收藏  举报