阿里云服务器中木马别慌,这套排查与加固流程请收好

网络安全告警示意图

收到云厂商的安全告警是发现中木马的第一信号

最近看到有博主吐槽自己的阿里云服务器莫名其妙中了木马,不仅系统变卡,还收到了云厂商的告警短信。说实话,这种情况在 VPS 圈子虽然常见,但对于新手来说简直就是“灭顶之灾”。别慌,不管是挖矿程序还是勒索病毒,只要我们应对得当,不仅能解决问题,还能借此机会给服务器做一次全面的安全体检。

今天我就把自己整理的一套从“急救”到“根治”的排查流程分享出来,希望能帮到正在焦头烂额的你。

云服务器安全组设置

立即在安全组中封堵端口是止损的第一步

第一步:先止损,切断外部连接

当你发现中毒苗头(比如 CPU 飙升、带宽跑满、收到异常登录提醒)时,第一反应绝对不是去查杀病毒,而是先切断连接

  • 进安全组,封堵端口:这时候你要假设攻击者还在你的服务器里。立刻登录阿里云控制台,找到安全组设置。除了 SSH(22端口)和 Web 服务(80/443)等必要端口,先把其他对外端口全部禁用。如果不确定哪些端口是必须的,建议先关闭所有入方向规则,只保留你的本地 IP 进行 SSH 登录(防止黑客把你踢出去)。
  • 备份数据:如果服务器上还有重要数据,在确保不执行可疑文件的前提下,尽快把数据库和配置文件打包备份出来。注意:千万不要打包系统二进制文件(如 /bin, /usr/bin 等),以防把病毒也一起备份了。

第二步:揪出“罪魁祸首”的三种姿势

搞定了止损,接下来就是排查真凶。咱们不用那些昂贵的杀毒软件,Linux 自带的命令行工具其实才是最强的。

1. 看 CPU 和进程异常

这是最快的方法。直接敲 top 命令,按 P 键按 CPU 排序。如果你看到一个名字听起来很陌生(比如 xmrig, kdevtmpfsi, 或者一串随机字符),且 CPU 占用率 100%,那八成就是它。

  • 记下这个进程的 PID(进程号)。
  • 使用 ls -l /proc/[PID]/exe 查看该进程对应的可执行文件路径。
  • 注意:有的病毒会把自己伪装成系统进程,这时候要结合 ps -ef --forest 看看它的父进程是谁,如果父进程是 Systemd 但路径不对劲,就有猫腻了。

2. 查看网络连接

很多后门程序会通过建立反向连接来接收黑客指令。用以下命令查看有哪些奇怪的外部连接:

netstat -antlp | grep ESTABLISHED

或者使用 ss 命令(更现代,更快):

ss -antlp | grep ESTABLISHED

重点关注连接到境外 IP 或者非标准端口(如 6666, 1337 等)的进程。结合 PID 找到对应文件,一抓一个准。

3. 检查定时任务和启动项

这是很多老铁容易忽略的地方。单纯的 kill 掉进程是没用的,因为黑客留下的计划任务(Cron)会把它再次拉起来。

  • 检查系统级和用户级的 Crontab:
    crontab -l
    cat /etc/crontab
    ls /etc/cron.*
    
  • 检查系统服务:查看 /etc/systemd/system/ 下有没有多出奇怪的 .service 文件。
  • 检查 ~/.ssh/authorized_keys:看看有没有没见过的 SSH 公钥,这可能是黑客留的“后门钥匙”,直接删除不认识的密钥。

第三步:彻底清除与重置密钥

找到了病毒文件和启动脚本,接下来就是清理战场。

  • 干掉进程:使用 kill -9 [PID] 结束进程。
  • 删除文件rm -f [病毒文件路径]。为了保险起见,建议用 chattr +i 把一些关键目录锁定(如 /etc/cron.d),防止再次被写入。
  • 重置密码必须修改所有用户(尤其是 root)的密码。最好还能修改默认的 SSH 端口(22 改成高位端口),能防住 99% 的暴力扫描。
  • 删库重置:如果你的环境比较乱,或者怀疑二进制文件(如 ps, ls, netstat)已经被替换(Rootkit 级别的感染),强烈建议直接重装系统。重装是最彻底的杀毒方式,没有之一。如果是轻量应用服务器,使用快照回滚到中毒前也是个选择(前提是你确定快照是干净的)。

第四步:安全加固,防止悲剧重演

清除了病毒只是治标,加固才是治本。以下是几个必须做的操作:

  1. 更改 SSH 登录方式:禁止 root 用户直接通过密码登录,只允许密钥登录。修改 /etc/ssh/sshd_config,设置 PermitRootLogin noPasswordAuthentication no
  2. 安装防火墙:如果懒得搞复杂的安全组规则,服务器内部可以用 ufwfirewalld 开启防火墙,只放行必要的端口。
  3. 关闭未使用的服务:很多中毒是因为装了 Docker 或者 Redis 等服务却开着弱口令或暴露在公网。及时更新软件版本,修补已知漏洞(如 Log4j 漏洞、ThinkPHP 漏洞等)。
  4. 利用云厂商的安骑士/态势感知:阿里云自带的云盾虽然有广告,但其漏洞检测和基线检查功能还是挺好用的。开启“一键修复”,能帮你自动补齐很多低级错误。

写在最后

服务器中毒虽然恶心,但也是一次学习 Linux 运维和安全知识的好机会。很多时候,中毒不是因为黑客技术多高超,而是因为我们留下了缝隙:弱密码、未授权的 Redis 端口、过期的 CMS 插件……

希望这篇教程能帮你渡过难关。如果在这个过程中遇到了特别棘手的变种或无法删除的文件,记得不要死磕,数据无价,备份重装可能是最高效的选择。祝大家的服务器都能稳如泰山!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭