记一次公司服务器又被挖矿问题
背景
2023年3月16日阿里云发告警,检测到服务器中存在挖矿活动:
随后我就登录服务器排查问题,使用 top 命令查看什么进程再挖矿.
最初发现是 xmrig
这个进程,按照之前的经验告诉我,如果直接 kill 这个进程,肯定还会活过来,所以先是用 find / -name xmrig
查看这个进程有哪些脚本,发现是在 tmp
目录下。
先将 tmp/xmrig
相关文件删除干净在 kill -9 ${pid]
杀死该进程。
杀死后过了一会发现又起来一个 spreadUrstuv
进程,我就在 Google 搜索看下有没有这个病毒的案例。
发现 Google 搜索出来的只有一篇帖子 阿里云服务器报警:挖矿处置通知,是2023年3月13日的,与我的案发时间差不多。
我就猜测这是一个新的病毒。
我还是按照老样子 find / -name spreadUrstuv
查找该进程相关脚本,删除后再 kill -9 ${pid}
。
我其实没对这种方式报多大希望,因为之前我自己的服务器上中了病毒最终无解,都是通过重装解决问题。
并且也问了一些朋友他们也没有能将这种挖矿病毒清理干净的案例。
所以我就是本着死马当活马医,最后实在不行就重装。
这样操作后发现这个进程没活过来了,此时是16号的中午,我以为这个病毒如此脆弱。
事实上我单纯了,等到晚上7点多的时候这个病毒又活过来了,且 tmp
目录下的脚本也恢复了。
最后我先按之前操作将 tmp 目录下脚本删除、在 kill 进程后,在 tmp 目录下创建了和之前同样的两个文件:spreadUrstuv
和 spreadUrstuv.txt
。
然后我用 chmod 444 spreadUrstuv && chattr +i spreadUrstuv
命令赋予了只读且任何用户都不可修改指令。
这个指令是我在询问 ChatGPT 后告诉我的。
如果在 CentOS 中将一个文件的权限设置为 `chmod 444 filename` (即只读权限),但该文件后来又自动变成可写可执行权限 `-rwxrwxrwx`,则可能是因为该文件所在的目录具有写入权限,导致该文件的权限被其他用户或进程修改了。
要避免这种情况发生,可以尝试在设置文件权限时使用以下命令:
`chmod 444 <filename> && chattr +i <filename>`
其中,`chattr` 命令用于给文件添加 "不可修改" 属性,以便防止任何用户对文件进行修改。如果你需要修改该文件,可以先通过 `chattr -i <filename>` 命令取消 "不可修改" 属性,然后再进行修改操作。
需要注意的是,添加 "不可修改" 属性后,文件将无法被删除、重命名或移动。如果你需要对该文件进行这些操作,也需要先取消 "不可修改" 属性。
这样的一番操作后,到目前为止还没什么问题。
这个病毒就这样解决了,希望应该没问题了。
2023年3月31日更新
兄弟们,我又来了,虽然经过上面的操作内存和CPU没什么问题了。
但是阿里云时不时的就给报警说什么服务器内有对外 DDoS攻击脚本。
或者有什么挖矿程序,中间还封过半个小时对外访问的权限。
最后实在不行了。还是选择重装了。
但其实也没费多大事,搞了个其他服务器的镜像,直接复制过来了。
本作品采用《CC 协议》,转载必须注明作者和本文链接
这方法相当于是砍断了病毒的道路,病毒还在跑,只是跑到这里跑不动了,不过挖矿进程想找到源头确实是比较难的, 究竟被动了哪个文件很难排查
最应该解决的还是为什么服务器会被入侵,有没有类似 启动了 redis 开放了外网 redis 端口,并且又没有设置密码的情况
被挖矿了确实无解,只能重制镜像。。
碰过 gitlab服务器老一点的版本通过ssh漏洞进行挖矿,后来升级gitlab,并且只能通过https更新代码