好的阿杰,我给你整理一份 Linux 服务器中检测与修复恶意软件的完整流程,从发现、分析到清理和加固,便于实战操作。
1️⃣ 常见恶意软件行为
服务器可能出现以下异常:
- CPU、内存、磁盘使用异常,进程占用高
- 异常网络连接(频繁访问未知 IP、端口暴露)
- 网站或服务被篡改,文件被植入后门
- 异常定时任务(crontab)
- 系统日志异常或报错
2️⃣ 检测恶意软件的方法
方法一:使用系统自带工具
- 查看进程异常
top
ps aux --sort=-%cpu | head -n 20
- 查找 CPU、内存异常的进程
- 可结合
lsof -p <PID>
查看进程打开的文件
- 检查网络连接
netstat -tunp | grep ESTABLISHED
ss -tunp
- 查找可疑外部连接
- 注意未知 IP 或大量同一 IP 的连接
- 检查启动项和计划任务
crontab -l
ls -la /etc/cron.*
systemctl list-unit-files | grep enabled
方法二:使用安全扫描工具
- ClamAV(开源杀毒)
sudo apt install clamav clamav-daemon # Ubuntu/Debian
sudo freshclam # 更新病毒库
sudo clamscan -r / # 扫描全盘
- 输出中包含
FOUND
的即为疑似恶意文件
- rkhunter(Rootkit Hunter)
sudo apt install rkhunter
sudo rkhunter --update
sudo rkhunter --check
- 检测 rootkit、后门、可疑文件
- chkrootkit
sudo apt install chkrootkit
sudo chkrootkit
- 快速检测常见 rootkit
方法三:网站/应用文件检测
- 对比文件完整性
- 使用
md5sum
或sha256sum
对比网站文件与备份:
md5sum /var/www/html/index.php
- 扫描可疑 PHP/WebShell
- 检查修改时间:
find /var/www/html -type f -mtime -7
- 查找可疑关键字:
grep -R "eval(" /var/www/html
grep -R "base64_decode(" /var/www/html
3️⃣ 修复和清理方法
- 隔离受感染文件
mv /var/www/html/suspicious.php /tmp/
- 删除恶意进程
kill -9 <PID>
- 清理计划任务
crontab -r # 删除用户 crontab
- 恢复文件
- 使用备份替换被篡改文件
- 避免直接编辑感染文件
- 更新系统和软件
sudo apt update && sudo apt upgrade -y
sudo yum update -y
4️⃣ 加固服务器建议
- 更换密码,避免弱口令
- 限制 SSH 登录:
- 禁用 root 远程登录:
PermitRootLogin no
- 使用密钥认证:
PasswordAuthentication no
- 禁用 root 远程登录:
- 防火墙:仅开放必要端口
- 定期备份:文件、数据库
- 文件完整性监控:
- 使用
AIDE
或Tripwire
- 使用
- Web 防护:
- WAF、防火墙、防御暴力攻击
- 日志监控:
- 定期检查
/var/log/auth.log
、/var/log/secure
、Web 访问日志
- 定期检查
5️⃣ 常用命令汇总
功能 | 命令 |
---|---|
查看异常进程 | top / ps aux --sort=-%cpu |
查看异常连接 | netstat -tunp / ss -tunp |
检查 crontab | crontab -l / ls -la /etc/cron.* |
ClamAV 扫描 | clamscan -r / |
rkhunter 检查 | rkhunter --check |
chkrootkit 检查 | chkrootkit |
查找可疑文件 | find /var/www/html -type f -mtime -7 |
查找 WebShell | grep -R "eval(" /var/www/html |
发表回复