Linux应急响应篇
字数 1105 2025-08-09 13:33:44
Linux应急响应技术手册
一、概述
本手册详细介绍了Linux操作系统应急响应的基础技术分析方法,涵盖从准备工作到具体分析技术的完整流程,旨在为安全人员提供系统化的Linux应急响应指导。
二、技术分析流程
1. 准备工作
1.1 信息收集
- 收集系统、服务及业务类型等基本信息
- 了解安全事件的具体情况
1.2 思路梳理
- 根据收集的信息初步形成分析思路
1.3 工具准备
- 提前准备好必要的分析工具和脚本
1.4 数据备份
- 备份关键系统文件和日志作为分析基础和证据
# 备份passwd文件 cat /etc/passwd > passwd.txt # 备份shadow文件 cat /etc/shadow > shadow.txt # 备份当前网络连接 netstat -anp > netstat_anp.txt # 备份历史命令 cp ~/.bash_history history.txt # 备份用户登录信息 w > users.txt # 备份进程信息 ps aux > ps.txt
1.5 时间校准
- 确保系统时间准确,避免日志时间分析误差
2. 用户信息分析
2.1 用户状态检查
# 查看当前用户
whoami
# 查看当前登录系统的所有用户
who # tty:图形界面, pts/x:SSH远程连接
# 显示主机上一次启动时间
who -b
# 显示已登录用户及执行指令
w
# 显示当前登录系统的所有用户
users
2.2 用户登录历史
# 查看最近登录成功的用户及信息
last
# 查看最近登录失败的用户及信息
lastb # 读取/var/log/btmp文件
# 查看系统中最近的五次用户登录记录
last | head -5
# 显示所有用户最近一次登录信息
lastlog # 读取/var/log/lastlog文件
2.3 用户账户分析
# 查看用户信息
cat /etc/passwd
# 查看可以登录系统的用户
cat /etc/passwd | grep /bin/bash
# 查看超级用户(uid=0)
awk -F: '$3==0{print $1}' /etc/passwd
# 查看可以远程登录的用户
awk '/\$1|\$6/{print $1}' /etc/shadow
# 查看拥有sudo权限的用户
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
# 查看历史命令
cat ~/.bash_history
3. 进程信息分析
3.1 进程查看
# 动态查看进程
top
# 查看进程详细信息
ps aux # 或 ps -ef
# 查看进程树
pstree
# 按CPU使用率排序查看进程
ps aux --sort -pcpu
# 按内存使用率排序查看进程
ps aux --sort -pmem
3.2 进程深度分析
# 查看指定PID进程的可执行程序
ls -l /proc/pid/exe
# 查看指定PID进程打开的文件
lsof -p pid
# 查看指定名称进程打开的文件
lsof -c sshd
# 查看指定端口对应的进程
lsof -i:port
# 查看指定进程的启动时间
ps -p PID -o lstart
# 查看网络连接及对应进程
netstat -pantu | grep pid
# 查看端口对应的进程PID
fuser -n tcp port
4. 网络连接分析
4.1 网络状态检查
# 查看网络系统状态信息
netstat -an
# 查看TCP连接状态统计
netstat -nat | awk '{print $6}'| sort | uniq -c | sort -rn
# 查找请求数前10个IP
netstat -anlp | grep 80 | grep tcp | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n 20
# 根据端口列进程
netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1
5. 异常文件分析
5.1 文件时间分析
# 查看指定目录最近被修改的文件(3天内)
find /var/ -type f -mtime -3 | xargs ls -la
# 按时间排序查看/var目录下文件
ls -alt /var/ | rpm -Va>rpm.log # 结合rpm验证命令
6. 开机启动项分析
# 查看异常开机启动项
cat /etc/rc.local | chkconfig --list
7. 定时任务分析
# 查看系统定时任务
sudo vi /etc/crontab
定时任务字段说明:
- minute:分钟(0-59)
- hour:小时(0-23)
- day:日期(1-31)
- month:月份(1-12)
- week:星期几(0-7,0和7代表星期日)
- command:要执行的命令或脚本
8. 系统日志分析
8.1 关键日志文件
/var/log/boot.log:系统引导过程事件/var/log/lastlog:用户最后登录信息/var/log/messages:系统和服务错误信息/var/log/secure:系统安全日志(RedHat/CentOS)/var/log/auth.log:认证日志(Ubuntu/Debian)/var/log/btmp:登录失败记录/var/log/syslog:警告信息/var/log/wtmp:用户登录/注销及系统启动/停机事件/var/run/utmp:当前登录用户信息
8.2 日志分析命令
# 查看成功登录记录
cat /var/log/auth.log | grep Accepted
# 查看失败登录记录
cat /var/log/auth.log | grep Failed
9. Web日志分析
9.1 常用分析命令
# 查看当天IP连接数
cat apache_access_2021-10-23.log | grep "23/Oct/2011" | awk '{print $2}' | sort | uniq -c | sort -nr
# 找出访问次数最多的10个IP
awk '{print $1}' apache_access_2021-10-24.log |sort |uniq -c|sort -nr|head -n 10
# 查看高连接数IP的活动
cat apache_access_2021-10-24.log | grep "24/Oct/2021:00" | grep "192.168.5.1" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10
# 查看当天访问量前10的URL
cat apache_access_2021-10-24.log | grep "24/Oct/2021:00" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10
10. Rootkit查杀
使用Chkrootkit工具检测rootkit:
chkrootkit
结果解读:
not infected/not tested/nothing found/nothing deleted:正常INFECTED:可能被感染
快速查找感染项:
chkrootkit | grep INFECTED
三、总结
本手册系统化地介绍了Linux应急响应的10个关键方面:
- 准备工作
- 用户信息分析
- 进程信息分析
- 网络连接分析
- 异常文件分析
- 开机启动项分析
- 定时任务分析
- 系统日志分析
- Web日志分析
- Rootkit查杀
掌握这些基础分析方法后,安全人员可根据实际情况灵活组合运用,应对各类Linux系统安全事件。