11 个步骤完美排查服务器是否已经被入侵

大哥们在线教下,11 个步骤完美排查服务器是否已经被入侵
最新回答
弃殇

2026-03-15 03:06:32

以下是11个步骤完美排查服务器是否已经被入侵的详细指南,结合日志分析、文件校验、进程监控及数据恢复方法,适用于Linux系统(如CentOS):

1. 检查日志文件是否被删除或篡改

入侵者常通过删除日志掩盖痕迹,需验证关键日志是否存在或被清空:

  • 命令示例:ls -lh /var/log/messages /var/log/secure # 检查日志文件大小及修改时间
  • 异常表现:日志文件大小为0或修改时间异常(如近期被修改)。

2. 检查新增的用户名及密码文件

入侵者可能创建隐藏用户或修改系统用户文件:

  • 关键文件:/etc/passwd(用户信息)、/etc/shadow(密码哈希)。
  • 命令示例:cat /etc/passwd | grep -E '/bin/bash|/sbin/nologin' # 检查异常用户
  • 异常表现:存在未知用户或UID为0的非root用户。

3. 校验用户文件内容是否被修改

对比当前文件与备份或默认配置:

  • 命令示例:diff /etc/passwd /etc/passwd.bak # 若有备份文件
  • 无备份时:检查文件末尾是否有新增行(如test:x:0:0::/:/bin/bash)。

4. 查看最近登录事件

通过lastlog命令检查异常登录:

  • 命令示例:lastlog -u all # 显示所有用户最近登录时间
  • 异常表现:未知IP或非常规时间登录。
5. 检查当前登录用户

通过w或who命令实时监控活跃会话:

  • 命令示例:w # 显示当前登录用户及操作
  • 异常表现:存在未知用户或非交互式会话(如crond进程异常)。
6. 查看历史登录记录

通过last命令分析长期登录行为:

  • 命令示例:last | grep -E "reboot|shutdown" # 检查重启记录last -n 100 # 查看最近100条登录记录
  • 异常表现:频繁短时间登录或来自高风险IP。
7. 分析用户连接时长

通过ac命令统计用户总连接时间:

  • 命令示例:ac -p # 显示每个用户的连接总时长(小时)
  • 异常表现:非特权用户连接时间异常高。

8. 检测异常网络流量

使用tcpdump或iftop抓包分析:

  • 命令示例:tcpdump -i eth0 port not 22 -w capture.pcap # 抓取非SSH流量iftop -i eth0 # 实时监控带宽占用
  • 异常表现:大量外连至未知IP或端口(如6667、4444等常见后门端口)。
9. 审查安全日志

通过/var/log/secure(CentOS)或/var/log/auth.log(Ubuntu)追踪入侵行为:

  • 命令示例:grep -i "failed password" /var/log/secure # 检查暴力破解记录grep -i "accepted password" /var/log/secure | tail -n 20 # 最近成功登录
  • 异常表现:短时间内大量失败登录或未知用户成功登录。

10. 定位异常进程及脚本

通过top和lsof追踪恶意进程:

  • 步骤:

    使用top找到异常进程的PID:

    top -c # 显示进程及命令行

    通过lsof查找进程打开的文件:

    lsof -p <PID> # 显示进程打开的文件
  • 异常表现:进程路径包含临时目录(如/tmp/)或可疑文件名(如kworkerds)。
11. 恢复被删除的文件

若关键文件被删除但进程仍占用,可通过/proc目录恢复:

  • 步骤:

    使用lsof查找打开文件的进程:

    lsof | grep deleted /var/log/secure

    从/proc/<PID>/fd/恢复文件:

    cp /proc/<PID>/fd/<FD_NUM> /var/log/secure.recovered
  • 示例:恢复/var/log/secure:cp /proc/1264/fd/4 /var/log/secure # 假设PID为1264,FD为4

总结
  • 核心工具:lastlog、w、last、tcpdump、lsof、ac。
  • 关键文件:/etc/passwd、/etc/shadow、/var/log/secure、/var/log/wtmp。
  • 恢复前提:文件被删除后进程仍运行,且未重启系统。

通过以上步骤,可系统化排查服务器入侵痕迹,并尽可能恢复受损数据。建议定期备份关键文件并审计日志,以降低风险。