Linux应急响应笔记

高分请教下,Linux应急响应笔记
最新回答
人不喂鸡天猪地灭

2026-05-12 20:29:00

Linux应急响应笔记

一、应急响应标准流程

应急响应标准流程遵循Security+框架,分为六个阶段:

  • Preparation(准备阶段)

    提前准备应急工具包(如静态编译的busybox)

    建立应急响应沟通机制

    制定应急响应预案

    案例对应:一线人员提供服务器接入渠道

  • Identification(识别阶段)

    确认异常现象(网络流量/端口/资源占用异常)

    定位恶意进程和文件

    确定攻击类型和影响范围

    案例对应:发现xmp和[atd]进程,确认挖矿病毒

  • Containment(遏制阶段)

    隔离受影响系统(网络隔离/服务下线)

    阻止攻击扩散

    保留证据样本

    案例对应:隔离600多台known_hosts记录主机

  • Eradication(根除阶段)

    清除恶意文件和启动项

    修复系统漏洞

    验证清除效果

    案例对应:删除/etc/rc.sysinit启动项和恶意文件

  • Recovery(恢复阶段)

    系统恢复服务

    监控系统运行状态

    验证业务正常

    案例对应:解除隔离恢复业务系统

  • Lessons learned(总结阶段)

    编写事件报告

    改进安全策略

    更新应急预案

    案例对应:总结SSH爆破教训,加强密码策略

二、入侵现场调查方法

1. 系统状态检查
  • 命令执行安全:

    # 使用静态编译工具避免命令替换wget
    https://busybox.net/downloads/binaries/1.36.0-x86_64-linux-musl/busyboxchmod
    +x busybox./busybox netstat -tulnp
  • 关键目录检查:

    # 检查可写执行目录ls -alt /tmp/ /var/tmp/ /dev/shm/# 检查PATH环境变量目录ls -alt /bin /sbin /usr/bin /usr/sbin
2. 进程分析技术
  • 进程树分析:

    pstree -p | grep -i "异常关键词"# 对比proc和ps的进程IDps -ef | awk '{print $2}' | sort > ps.pls /proc | sort > proc.pdiff ps.p proc.p
  • 内存取证:

    # 导出进程内存gdb --pid [PID]dump memory /tmp/malware.dump 0x起始地址 0x结束地址# 从内存恢复被删除文件cp /proc/[PID]/exe /tmp/malware.bin
3. 文件分析方法
  • 时间属性分析:

    stat /path/to/file | grep -E "Modify|Change|Access"find / -ctime -2 -type f # 查找72小时内新增文件
  • 文件内容分析:

    strings /tmp/malware.bin | grep -i "pool.supportxmr"file /tmp/malware.bin # 判断文件类型

三、攻击维持机制排查

1. 启动项检查
  • 系统服务检查:

    # 传统SysV服务chkconfig --list | grep -i "异常服务"# systemd服务systemctl list-unit-files --type=service | grep enabled
  • 定时任务检查:

    # 系统级定时任务cat /etc/crontabls -la /etc/cron.d/ /etc/cron.daily/# 用户级定时任务crontab -lls -la /var/spool/cron/
2. 持久化机制
  • 动态库劫持:

    echo $LD_PRELOAD # 检查环境变量cat /etc/ld.so.preload # 检查配置文件
  • SSH后门检查:

    # 检查异常公钥ls -la /root/.ssh/authorized_keys# 检查连接记录last | grep -i "异常IP"

四、入侵原因分析

1. 弱密码审计
  • 服务密码检查:# 检查常见服务配置grep -r "password" /etc/mysql/ /etc/redis/ /etc/tomcat/# 检查SSH空密码awk -F: '($2==""){print $1}' /etc/shadow
2. 日志分析技术
  • 系统日志分析:

    # SSH暴力破解检测grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr# 登录成功记录grep "Accepted password" /var/log/secure | grep -v "pam_unix"
  • 应用日志分析:

    # Tomcat访问日志grep -i "select.*from" /var/log/tomcat/catalina.out# MySQL慢查询grep -i "SELECT" /var/log/mysql/mysql-slow.log

五、系统加固方案

1. 访问控制加固
  • 防火墙规则:

    # 仅允许必要端口iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -P INPUT DROP
  • 密码策略强化:

    # 修改密码复杂度要求sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defssed -i 's/^PASS_MIN_LEN.*/PASS_MIN_LEN 12/' /etc/login.defs
2. 服务安全配置
  • SSH加固:

    # 禁用root登录sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config# 启用失败锁定sed -i 's/^#MaxAuthTries.*/MaxAuthTries 3/' /etc/ssh/sshd_config
  • 服务最小化:

    # 卸载未使用服务systemctl disable postfix.serviceyum remove postfix -y

六、应急工具推荐

  1. Rootkit检测:

    chkrootkit:基础检测工具

    rkhunter:更全面的检测

    unhide:进程隐藏检测

  2. 内存分析:

    LiME:Linux内存取证工具

    Volatility:高级内存分析框架

  3. 自动化扫描:

    Lynis:系统安全审计工具

    OpenSCAP:合规性检查工具

七、典型案例总结

  1. 挖矿病毒案例:

    特征:高CPU占用、异常UDP连接

    清除:删除启动项+恶意文件+加固SSH

  2. Webshell案例:

    特征:异常PHP文件、Web日志异常访问

    清除:删除Webshell+修改管理密码+更新CMS

  3. 勒索软件案例:

    特征:文件加密、勒索信息

    恢复:隔离网络+数据备份恢复+报警处理

关键建议:

  1. 建立定期安全审计制度
  2. 重要系统实施异地备份
  3. 定期进行应急演练
  4. 保持系统组件最新版本
  5. 实施最小权限原则