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个关键方面:

  1. 准备工作
  2. 用户信息分析
  3. 进程信息分析
  4. 网络连接分析
  5. 异常文件分析
  6. 开机启动项分析
  7. 定时任务分析
  8. 系统日志分析
  9. Web日志分析
  10. Rootkit查杀

掌握这些基础分析方法后,安全人员可根据实际情况灵活组合运用,应对各类Linux系统安全事件。

Linux应急响应技术手册 一、概述 本手册详细介绍了Linux操作系统应急响应的基础技术分析方法,涵盖从准备工作到具体分析技术的完整流程,旨在为安全人员提供系统化的Linux应急响应指导。 二、技术分析流程 1. 准备工作 1.1 信息收集 收集系统、服务及业务类型等基本信息 了解安全事件的具体情况 1.2 思路梳理 根据收集的信息初步形成分析思路 1.3 工具准备 提前准备好必要的分析工具和脚本 1.4 数据备份 备份关键系统文件和日志作为分析基础和证据 1.5 时间校准 确保系统时间准确,避免日志时间分析误差 2. 用户信息分析 2.1 用户状态检查 2.2 用户登录历史 2.3 用户账户分析 3. 进程信息分析 3.1 进程查看 3.2 进程深度分析 4. 网络连接分析 4.1 网络状态检查 5. 异常文件分析 5.1 文件时间分析 6. 开机启动项分析 7. 定时任务分析 定时任务字段说明: 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 日志分析命令 9. Web日志分析 9.1 常用分析命令 10. Rootkit查杀 使用Chkrootkit工具检测rootkit: 结果解读: not infected/not tested/nothing found/nothing deleted :正常 INFECTED :可能被感染 快速查找感染项: 三、总结 本手册系统化地介绍了Linux应急响应的10个关键方面: 准备工作 用户信息分析 进程信息分析 网络连接分析 异常文件分析 开机启动项分析 定时任务分析 系统日志分析 Web日志分析 Rootkit查杀 掌握这些基础分析方法后,安全人员可根据实际情况灵活组合运用,应对各类Linux系统安全事件。