企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

如何排查服务器被黑客入侵的迹象(如何判断服务器被入侵)

wudianyun 2025-06-15 19:49:03 精选文章 3 ℃

---

排查服务器是否被黑客入侵需要系统性地检查多个关键点,以下是一份详细的排查指南,包含具体命令、工具和应对策略:

---

### **一、快速初步检查**

#### 1. **检查异常登录记录**

```bash

# 查看最近成功登录记录(重点关注root和可疑用户)

last -ai | grep -v "0.0.0.0" # 排除本地登录

grep "Accepted password" /var/log/auth.log # Debian/Ubuntu

grep "Accepted" /var/log/secure # CentOS/RHEL

# 检查失败登录尝试(爆破迹象)

grep "Failed password" /var/log/auth.log

```

#### 2. **检查可疑进程与网络连接**

```bash

# 查看占用资源异常的进程

top -c -o %CPU # 按CPU排序

top -c -o %MEM # 按内存排序

# 检查未知网络连接

ss -antp | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c

lsof -i -P -n # 查看所有网络连接及对应进程

```

#### 3. **排查隐藏进程与Rootkit**

```bash

# 对比ps与/proc目录中的进程ID

ps -ef | awk '{print $2}' | sort > /tmp/ps_pids.txt

ls /proc | grep -E '^[0-9]+#39; | sort > /tmp/proc_pids.txt

diff /tmp/ps_pids.txt /tmp/proc_pids.txt # 显示隐藏进程

# 使用Rootkit检测工具

rkhunter --check --sk

chkrootkit

```

---

### **二、深入排查项**

#### 1. **文件系统异常**

```bash

# 查找近期被修改的系统文件(24小时内)

find /etc /bin /sbin /usr/bin /usr/sbin -mtime 0 -type f -ls

# 检查SUID/SGID可疑文件

find / -perm -4000 -o -perm -2000 -type f -exec ls -l {} \; 2>/dev/null

# 扫描Web目录中的后门文件

find /var/www/ -name "*.php" -exec grep -l "eval(base64_decode" {} \;

```

#### 2. **计划任务与启动项**

```bash

# 检查cron任务

ls -la /etc/cron*/* /var/spool/cron/*

# 查看系统启动项

systemctl list-unit-files --state=enabled

ls -l /etc/init.d/ /etc/rc.local

```

#### 3. **用户与权限审计**

```bash

# 检查新增用户和sudo权限

awk -F: '$3 >= 1000 {print $1}' /etc/passwd # 非系统用户

grep -v -E '^#|^#39; /etc/sudoers | grep ALL # 拥有sudo权限的用户

# 检查SSH授权密钥

cat ~/.ssh/authorized_keys # 所有用户的目录都要检查

```

---

### **三、网络流量分析**

#### 1. **监控异常出站连接**

```bash

# 实时抓取对外请求(持续观察)

tcpdump -n -i eth0 'dst port not (22 or 80 or 443)'

# 检查DNS查询历史(若有日志)

cat /var/log/syslog | grep -i "query"

```

#### 2. **比对已知恶意IP库**

```bash

# 使用IP信誉数据库快速筛查

curl -s
https://checkip.abuse.ch/api/v1/check/<IP地址> | jq

```

#### 3. **防火墙规则审查**

```bash

# 检查iptables/nftables规则是否被篡改

iptables -L -n -v # 查看当前规则

diff /etc/iptables/rules.v4 /backup/iptables.backup # 对比备份

```

---

### **四、入侵确认后应急响应**

1. **隔离服务器**

- 物理断网或通过防火墙阻断入站/出站流量:

```bash

iptables -P INPUT DROP

iptables -P OUTPUT DROP

```

2. **取证与备份**

- 创建磁盘快照(AWS/Aliyun控制台操作)

- 备份关键日志:

```bash

tar czvf /tmp/forensics.tar.gz /var/log /etc/passwd /etc/shadow ~/.bash_history

```

3. **后门清除与系统恢复**

- 重置所有用户密码及SSH密钥

- 使用干净备份重建系统(避免残留后门)

- 更新所有软件并修补漏洞:

```bash

apt update && apt full-upgrade -y # Debian/Ubuntu

yum update -y # CentOS/RHEL

```

---

### **五、防御加固建议**

1. **基础安全配置**

- 禁用密码登录,强制SSH密钥认证:

```bash

sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

systemctl restart sshd

```

- 启用防火墙并限制端口:

```bash

ufw allow 22/tcp # 仅开放SSH

ufw enable

```

2. **入侵检测系统(IDS)部署**

- 安装OSSEC实时监控文件变化:

```bash

wget -q -O - https://updates.atomicorp.com/installers/atomic | sudo bash

sudo apt install ossec-hids-agent

```

3. **定期审计**

- 使用Lynis进行安全扫描:

```bash

lynis audit system

```

- 配置日志集中管理(ELK/Splunk)

---

### **六、典型入侵案例特征**

- **案例1:Web Shell后门**

特征:`/tmp/.httpd`目录中存在`.php`文件,包含`system($_GET['cmd'])`代码。

应对:删除恶意文件,修补Web应用漏洞(如未更新的WordPress插件)。

- **案例2:挖矿木马**

特征:`kworkerds`进程占用100% CPU,连接至`
xmr-eu1.nanopool.org:14444`。

应对:终止进程,清理`/etc/cron.d/0systemd`中的恶意任务,更新内核。

---

通过以上步骤,可系统性地排查入侵痕迹并采取应对措施。**关键点**:快速响应、完整取证、彻底清理、加固防御。

最近发表
标签列表