糟糕!我的服务器CPU被黑客挖矿了

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 糟糕!我的服务器CPU被黑客挖矿了

距离上次服务器被黑也有一年多了,想不到今天服务器再一次被攻破!

上次是因为MySQL数据库的密码太简单,数据库端口为默认的3306,后来我采取了一系列的补救措施,才恢复了数据,详见我之前写的这篇文章——《删库跑路 + 比特币勒索?我的MySQL被黑客攻破了》


最近,我发现外网进系统比较卡,各类https请求的响应时间也比以往的长,于是我登入服务器检查了情况,才发现服务器又被黑了!

这次服务器被黑,跟之前不一样,数据并没有被销毁,而是在我服务器上植入了一个进程——csvchost.exe

svchost.exe是微软Windows操作系统中的系统文件,微软官方对它的解释是:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。许多服务通过注入到该程序中启动,所以会有多个该文件的进程。

来源 百度百科

没错,这是一个正常的系统文件,为什么会如此占用CPU呢?

其实很容易就可以猜到,这就是伪装的病毒文件

但我想知道这是什么,于是我右键,打开文件所在目录。

这是在公用用户目录下的一个可执行文件,被NSSM封装为一个服务执行。

NSSM是一款可将Nodejs项目注册为Windows系统服务的工具。当你的Node.js项目需要部署在Windows Server上时,NSSM是一个不错的选择。

那么黑客的目的是什么呢?我打开了本目录下的配置文件。

配置文件中有一大串文本,其中有一段配置引起了我的注意:

1. "pools": [
2. {
3. "algo": null,
4. "coin": null,
5. "url": "mine.xxxxx.com:13333",
6. "user": "43aZZQ2huB3V4Fj5SV1q1cT5JL1Dii7HXQwZc6hiiaUz2kLixv1g2ELDNRuXFGvqZjf2dKmxoJVYQDFKKwk3bKmDKjmRtbu",
7. "pass": "windows_php_2021_08_09_02_45_42",
8. "rig-id": null,
9. "nicehash": false,
10. "keepalive": true,
11. "enabled": true,
12. "tls": false,
13. "tls-fingerprint": null,
14. "daemon": false,
15. "socks5": null,
16. "self-select": null,
17. "submit-to-origin": false
18. }
19. ],

其中有一个url配置(具体网站被我替代掉了),我打开了这个网站的根域名,发现了“矿工”、“CPU挖矿”等等词汇。

简单来说,就是你的服务器被别人拿去当奴隶了!

别人用你的服务器资源,跑他的程序,帮他赚钱!

服务器被挖矿有很多的弊端,最直接的就是服务器资源被非法程序占领,正常程序获取不到应得的资源,容易造成服务器崩溃


至于这个病毒是怎么进来的呢?云服务器上貌似有很多人都遭遇过这个问题,这个问题是由于Redis漏洞造成的。

大致思路是先通过Redis的6379默认端口,将身份认证文件放在ssh下,然后就可以登入服务器放文件了

单单把这些文件删除了可能治标不治本,黑客直接登入 history 一查,就知道了做了啥修复手段。

那么我们如何防范呢?

1.Redis服务器不要开放6379默认端口,设置Redis密码,防止身份认证文件写入。

2.安装杀毒软件,及时修复安全漏洞

3.打开ssh下的authorized_keys, 删除没用到的密钥组


原文CSDN链接:https://zwz99.blog.csdn.net/article/details/119672623


另外看了看他们的文档,发现我4核16G的服务器,只是他们的一般级CPU,心里有点小小的失落,现在的服务器都这么强了吗?

最后,也不知道挖矿病毒清理干净了没有,先观察一段时间吧......


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
13 1
|
29天前
|
缓存 监控 负载均衡
提高服务器CPU使用率
提高服务器CPU使用率
77 7
|
29天前
|
存储 缓存 监控
如何提高服务器CPU性能?
如何提高服务器CPU性能?
86 3
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
106 5
|
3月前
|
缓存 Linux 调度
Linux服务器如何查看CPU占用率、内存占用、带宽占用
Linux服务器如何查看CPU占用率、内存占用、带宽占用
804 0
|
23天前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
35 0
|
2月前
|
Prometheus Kubernetes 监控
使用kubectl快速查看各个节点的CPU和内存占用量
在Kubernetes集群中,安装metrics-server,并使用kubectl快速查看集群中各个节点的资源使用情况。
78 0
|
3月前
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储
|
3月前
|
缓存 Kubernetes 数据中心
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
|
3月前
|
KVM 虚拟化
[kvm]cpu内存硬盘配置
[kvm]cpu内存硬盘配置