这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
有时候服务器突然变卡、流量飙升、资源爆满的情况,排查下来发现是被上传了所谓的“一键消耗脚本”。这种脚本一般会全速跑 CPU、读写磁盘、跑带宽,轻则让网站打不开,重则导致被封机。
这里分享一些我自己用来排查这类脚本的方法,适合有基础的站长朋友操作。
一、看一下资源情况
先执行: 或者: - htop # 更直观(需要先安装:yum install -y htop)
复制代码看有没有不认识的进程把 CPU、内存吃光。如果某个 bash/python/php 占用超高,就值得注意了。
二、查查定时任务有没有异常 - crontab -l
- cat /etc/crontab
- ls /etc/cron.*/*
复制代码有些脚本会写入定时任务每分钟自动运行一遍,像 `bash -c`, `curl`, `wget`, `python` 的定时脚本需要特别注意。
三、排查最近创建或改动的脚本 - find / -type f -mtime -1 2>/dev/null | grep -E '\.sh|\.py|\.php|\.pl|\.bin'
复制代码重点看看 `/tmp`、`/var/tmp`、`/dev/shm` 这些目录,黑脚本最爱藏在这里。 配合 `stat 文件名` 看修改时间也很有用。
四、看有没有异常的网络连接 或者: - netstat -anp | grep ESTABLISHED
复制代码如果发现某个进程和国外某个 IP 建立了大量连接,而且不认识这个程序,基本上就是异常了。
想更直观看带宽使用情况可以用:
五、查查开机自启动有没有异常服务 - systemctl list-units --type=service
复制代码陌生的服务名,特别是 `python.service`、`test.service` 这类简陋名字的要注意。 还可以看看 `.bashrc`、`.bash_profile` 这类文件有没有被注入奇怪的启动命令。
六、快速扫一遍临时目录是否藏着脚本 - grep -rE "wget|curl|base64|eval|chmod|python|perl" /tmp /var/tmp /dev/shm 2>/dev/null
复制代码常见一键脚本都会藏在这些地方,而且内容会包含 base64 解码、下载远程文件等行为。
小建议: 不需要 curl/wget 的机器,可以直接限制权限: - chmod -x /usr/bin/wget
- chmod -x /usr/bin/curl
复制代码配合 fail2ban 封爆破 IP 设置好宝塔安全防护,定期清理临时目录 如果情况严重,建议重装系统+换密码+重建站点
总结: 这种“一键消耗脚本”不一定是大黑客写的,更多是扫脚本后上传的小脚本。服务器一旦中招很容易导致流量暴涨、资源耗尽,建议大家平时注意排查。如果你也遇到类似问题,有更好的方法,欢迎一起交流!有需要的我也可以放一份自动检测脚本上来。
|