基于Linux应急响应全流程
字数 783 2025-08-22 12:22:59
Linux应急响应全流程实战指南
一、应急响应前期准备
1.1 目标信息收集
-
了解系统架构:首先需要明确目标主机的网站部署结构
- 中间件类型(如Apache、Nginx)
- 编程语言(如PHP、Java)
- 网站性质(如CMS、OA系统等)
-
常用命令:
netstat -anultp # 查看服务信息 ps -aux | grep -i apache # 查看Apache服务及运行用户
1.2 日志定位
-
日志路径:
- Apache默认日志路径:
/var/log/或/var/log/apache2/
- Apache默认日志路径:
-
查看技巧:
ls -a # 显示所有文件(包括隐藏文件) ls -alt # 按时间顺序列出所有文件
二、日志分析技术
2.1 日志初步分析
-
日志量评估:
cat access.log.1 | wc -l # 统计日志条目数 -
日志格式解析:
典型Apache日志格式:访问者IP 时间 请求头 请求路径 URL http版本 状态码 长度 user-agent头
2.2 高效日志筛选
-
基础筛选:
cat -e access.log.1 | grep 1.php cat access.log.1 | grep -a 1.php -
字段提取:
awk '{print $1}' access.log.1 # 提取IP地址 -
IP分析:
awk '{print $1}' access.log.1 | sort | uniq -c # IP访问统计 awk '{print $1}' access.log.1 | grep -v 192.168.1.7 # 排除特定IP -
多条件筛选:
awk '{print $1 $4 $7}' access.log.1 | grep -i 192.168.1.5 | grep "/user"
三、时间特征分析
3.1 基于时间的文件查找
- 查找近期修改的PHP文件:
find /var/www/html/ -mtime 0 -name "*.php" # 24小时内修改的文件 find /var/www/html/ -mtime 0 -name "*.ph*" # 包含多种PHP扩展名
3.2 文件时间检查
-
查看文件时间信息:
stat filename # 查看文件详细时间信息 -
文件保护:
cp 1.php 1.php.bak # 备份文件 chattr -i 1.php.bak # 锁定备份文件
四、恶意文件检测
4.1 目录检查
- 可疑目录识别:
ls -alt # 按时间排序查看目录
4.2 工具查杀
- Webshell查杀:
./hm scan /var/www/html/ # 使用河马查杀 cat result.csv # 查看结果
4.3 定时任务检查
- 定时任务分析:
crontab -l # 查看定时任务 crontab -e # 检查隐藏任务
五、进程与文件分析
5.1 进程检查
- 可疑进程识别:
ps -aux | grep "\./" # 查找直接执行的程序
5.2 文件哈希分析
-
文件哈希计算:
sha256sum filename # 计算文件哈希值 -
在线分析平台:
- Virscan
- 微步在线云沙箱
-
文件信息检查:
Info filename # 查看文件信息
六、扩展检查项
6.1 其他检查点
- 二进制文件分析(ELF、.so、.out)
- RPM包投毒检查
- 内核检查
- 自启动项检查
七、应急响应注意事项
- 客户沟通:上传任何工具前必须获得客户许可
- 文件保护:检查文件时避免意外修改时间属性
- 全面检查:不要局限于单一检查点,需多维度验证
- 记录完整:保留所有检查过程和结果作为证据
八、总结
本指南涵盖了Linux应急响应的主要流程,从信息收集、日志分析到恶意文件检测和系统检查。实际应急响应中需要根据具体情况灵活运用这些技术,并注意保持操作的规范性和可追溯性。应急响应不仅是技术活,更需要严谨的态度和全面的视角。