Linux入侵应急响应与排查
字数 973 2025-08-12 11:34:09

Linux入侵应急响应与排查指南

一、账号安全检查

1. 检查特权用户

特权用户指UID为0的用户,可能存在非法添加的超级用户:

awk -F: '$3==0{print $1}' /etc/passwd

2. 检查远程可登录账户

查找使用MD5、SHA-256或SHA-512加密的账户(可能为弱密码):

awk '/\$1|\$5|\$6/{print $1}' /etc/shadow

3. 检查sudo权限

查看具有ALL权限的用户:

cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

4. 账号处理措施

  • 锁定可疑账号:
usermod -L username
  • 删除可疑账号:
userdel username          # 仅删除用户
userdel -r username       # 删除用户及主目录

二、系统状态检查

1. 当前登录信息

who       # 查看当前登录用户(tty本地/pts远程)
w         # 查看系统信息和用户行为
uptime    # 查看系统负载和运行时间

2. 网络连接检查

netstat -tunlp | less    # 查看所有监听端口和连接
tcpdump -c 10 -q         # 抓取10个精简网络包

三、进程检查

1. 进程检查命令

ps -ef                   # 查看所有进程
top                      # 查看资源占用情况

2. 深入分析可疑进程

ps eho command -p $PID               # 查看进程完整命令行
readlink /proc/$PID/cwd              # 查看进程工作目录
ls -l /proc/$PID/exe                 # 查看进程文件路径
strings -f /proc/$PID/environ | cut -f2 -d ''  # 查看进程环境变量
lsof -p $PID                         # 查看进程打开的文件

四、服务检查

1. 运行中服务检查

service --status-all | grep running  # CentOS6及之前
systemctl list-units --type=service --state=running  # CentOS7+

2. 开机自启服务检查

# CentOS7+
systemctl list-unit-files --type=service | grep "enabled"

# CentOS6及之前
chkconfig --list | grep "3:on\|5:on"

五、启动项与计划任务检查

1. 启动项检查

cat /etc/rc.local

2. 计划任务检查

检查以下目录中的异常任务:

/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*

六、文件系统检查

1. 敏感目录检查

ls -al /tmp          # 检查/tmp目录
ls -al /            # 检查根目录隐藏文件

2. 查找近期访问文件

find /opt -iname "*" -atime 1 -type f

七、历史命令检查

cat ~/.bash_history     # 查看当前用户历史命令
cat /home/*/.bash_history  # 查看所有用户历史命令

八、日志分析

1. 重要日志文件

  • /var/log/btmp:错误登录记录(使用lastb查看)
  • /var/log/lastlog:用户最后登录时间(使用lastlog查看)
  • /var/log/wtmp:用户登录/注销记录(使用last查看)
  • /var/log/utmp:当前登录用户(使用w, who, users查看)
  • /var/log/secure:认证相关日志

2. 登录失败分析

# 查看登录失败最多的20个账号
lastb | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20

# 查看爆破来源IP
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

3. 成功登录分析

# 查看成功登录的IP及次数
grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

# 查看成功登录的详细信息
grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

九、数据库日志检查

1. MySQL日志检查

-- 查看常规日志设置
SHOW VARIABLES LIKE '%general%';

-- 查看慢查询日志设置
SHOW VARIABLES LIKE 'slow_query%';

2. MySQL日志分析工具

使用mysqldumpslow分析慢查询日志:

mysqldumpslow [OPTS...] [LOGS...]

十、WebShell排查工具

1. D盾查杀

  • 特点:Windows平台专用,强大的代码分析引擎
  • 下载:http://www.d99net.net

2. 河马查杀

  • 特点:跨平台支持,传统特征+云端大数据双引擎
  • 支持:Windows/Linux,支持在线查杀

应急响应流程总结

  1. 账号检查:特权用户、远程可登录用户、sudo权限
  2. 系统状态:当前登录用户、网络连接、进程
  3. 服务检查:运行中服务、自启动服务
  4. 持久化检查:启动项、计划任务
  5. 文件系统:敏感目录、近期修改文件
  6. 历史命令:用户执行过的命令
  7. 日志分析:安全日志、登录日志、数据库日志
  8. WebShell检查:使用专业工具扫描

通过以上步骤的系统检查,可以全面排查Linux系统可能存在的入侵痕迹和后门程序,为系统恢复提供依据。

Linux入侵应急响应与排查指南 一、账号安全检查 1. 检查特权用户 特权用户指UID为0的用户,可能存在非法添加的超级用户: 2. 检查远程可登录账户 查找使用MD5、SHA-256或SHA-512加密的账户(可能为弱密码): 3. 检查sudo权限 查看具有ALL权限的用户: 4. 账号处理措施 锁定可疑账号: 删除可疑账号: 二、系统状态检查 1. 当前登录信息 2. 网络连接检查 三、进程检查 1. 进程检查命令 2. 深入分析可疑进程 四、服务检查 1. 运行中服务检查 2. 开机自启服务检查 五、启动项与计划任务检查 1. 启动项检查 2. 计划任务检查 检查以下目录中的异常任务: 六、文件系统检查 1. 敏感目录检查 2. 查找近期访问文件 七、历史命令检查 八、日志分析 1. 重要日志文件 /var/log/btmp :错误登录记录(使用 lastb 查看) /var/log/lastlog :用户最后登录时间(使用 lastlog 查看) /var/log/wtmp :用户登录/注销记录(使用 last 查看) /var/log/utmp :当前登录用户(使用 w , who , users 查看) /var/log/secure :认证相关日志 2. 登录失败分析 3. 成功登录分析 九、数据库日志检查 1. MySQL日志检查 2. MySQL日志分析工具 使用 mysqldumpslow 分析慢查询日志: 十、WebShell排查工具 1. D盾查杀 特点:Windows平台专用,强大的代码分析引擎 下载:http://www.d99net.net 2. 河马查杀 特点:跨平台支持,传统特征+云端大数据双引擎 支持:Windows/Linux,支持在线查杀 应急响应流程总结 账号检查 :特权用户、远程可登录用户、sudo权限 系统状态 :当前登录用户、网络连接、进程 服务检查 :运行中服务、自启动服务 持久化检查 :启动项、计划任务 文件系统 :敏感目录、近期修改文件 历史命令 :用户执行过的命令 日志分析 :安全日志、登录日志、数据库日志 WebShell检查 :使用专业工具扫描 通过以上步骤的系统检查,可以全面排查Linux系统可能存在的入侵痕迹和后门程序,为系统恢复提供依据。