云服务器中挖矿病毒的清除过程(三)

云服务器中挖矿病毒的清除过程(三),第1张

服务器CPU使用率50%,被两个进程占用,名称分别为
-mysql
zfsutils-md5sum

使用crontab -l查看定时任务,发现病毒文件-mysql

查看这个/var/log/目录,发现更多病毒文件,-mysql是个脚本,内容如下

查看/etc/crontabdaily目录,发现一个文件名为ntpdate

/bin/sysprg创建日期与ntupdate是同一天,文件大小与x86_64相同,无疑也是个病毒文件。

进入到/var/spool/cron目录查看文件权限,发现被加了保护,使用lsattr去除,再编辑删除内容即可

禁用crontab

服务器挖矿病毒的清除过程(一)
云服务器中挖矿病毒的清除过程(二)

问题定位及解决步骤:
1、free -m 查看内存使用状态 ,发现free基本没了。--> 怀疑是服务有内存泄漏,开始排查
2、使用top命令观察,开启的服务占用内存量并不大,且最终文档在一个值,且服务为java应用,内存并没达到父jvm设置上限。按top监控占用内存排序,加起来也不会超过物理内存总量。查看硬盘使用量,占用20%。基本排除虚拟内存占用过大的原因。--->排除服务内存泄漏因素,怀疑mysql和nginx,开始排查
3、因为top命令看 mysql占用内存也再可控范围,是否存在connection占用过多内存,发现并不会,设置最大连接数为1000,最多也不会超过几M。 nginx占用一直非常小。但每次最先被kill的基本都是nginx进程。所以排查,但发现无非就是openfiles数量啥的调整。发现也一切正常。且之前niginx可以正常使用的。
4、最为费解的就是 通过free -m 查看的时候 基本全是used,cache部分很少,free基本没有。但top上又找不到有哪些进程占用了内存。无解
5、注意到有两个进程虽占用内存不多,但基本耗光了100%的cpu。开始想着占cpu就占了,没占内存,现在是内存不不够导致进程被kill的,就没注意这点。
6、实在搞不定,重启服务器,重启了所有服务,服务暂时可用,回家。在路上的时候发现又崩了。忐忑的睡觉。
7、早上起来继续看,这次留意注意了下那两个占用高cpu的进程,kdevtmpfsi 和 networkservice。本着看看是啥进程的心态,百度了下。真相一目了然,两个挖矿病毒。
突然后知后觉的意识到错误原因:
1、cpu占用率高,正常服务使用cpu频率较高的服务最容易最内存超标。(因为在需要使用cpu时没cpu资源,内存大量占用,服务瞬间崩溃),然后看top发现刚刚已经占用内存的进程已经被kill了,所以没发现内存有高占用的情况。
2、后面的应用继续使用cpu时也会发生类似情况,倒是服务一个一个逐渐被kill。
问题点基本定位好了,解决问题就相对简单很多:
通过百度,google,常见的病毒清除步骤基本都能解决。这两个挖矿病毒很常见,大致记录下要点。可能所有病毒都会有这些基础 *** 作。
① 首先,查看当前系统中的定时任务:crontab -l
我服务器上有四个定时下载任务 通过wget 和 curl 下载病毒文件,把异常的删掉。要不然删了病毒文件还是会下载下来
crontab -r,全部删除命令(或根据需求删除定时任务)
② 查找病毒文件 可以全部模糊搜索 清除, 但病毒文件基本都用了chattr +i命令 使用chattr -i filename 后再使用rm -f filename 。可删除
③ kill 病毒进程,但注意kill了可能马上就重启了。因为有守护进程,需要把病毒进程的守护进程也kill掉
④ 检查是否root用户被攻击,可能系统配置信息被更改。
⑤ 最好能理解病毒脚本,通过看代码看它做了些什么。针对脚本取修复系统。

简单来说,挖矿就是利用芯片进行一个与随机数相关的计算,得出答案后以此换取一个虚拟币。虚拟币则可以通过某种途经换取各个国家的货币。运算能力越强的芯片就能越快找到这个随机答案,理论上单位时间内能产出越多的虚拟币。由于关系到随机数,只有恰巧找到答案才能获取奖励。有可能一块芯片下一秒就找到答案,也有可能十块芯片一个星期都没找到答案。越多芯片同时计算就越容易找到答案,内置多芯片的矿机就出现了。而多台矿机组成一个“矿场”同时挖矿更是提高效率。而矿池则是由多个“个体户”加入一个组织一起挖矿,无论谁找到答案挖出虚拟币,所有人同时按贡献的计算能力获得相应的报酬,这种方式能使“个体户”收入更稳定。

举一个通俗的例子:

我在一张纸上随便写一串数字,给出部分提示,谁猜对就给他奖金(挖矿)

聪明的人根据提示能作出更多猜测(计算能力)

有人出钱请许多人回来一起猜测(矿场)

有人召集大家一起猜测,无论谁猜到,按照每个人猜测次数比例分配奖金(矿池)

上面举的例子大家可以看到,越聪明的人能作出越多次猜测,猜到的机会就越大,相应地能获得越多的收益。

我们以比特币为例

比特币网络上进行着大量的交易

这些交易需要被记录到账本中才有效

每10分钟左右会生成一个账单

为了鼓励大家都来帮忙记账

现在规定第一个记下账的“会计”可以获得125个比特币的奖励

但是这个账本有一个很复杂的密码

只有第一个破解出密码的人才能记账获取奖励

但因为这个密码太过复杂且没有规律,只能靠猜

于是大家就拼命尝试密码

比特币挖矿就是依靠区块链技术获取比特币。区块链就相当于一个账本,每一个区块就是一页账单,将所有的区块连在一起就是区块链,任何的交易信息转账记录都被记录在区块链里面。比特币挖矿就类似一个寻宝游戏,每隔一段时间,比特币系统就在系统节点上生成一个随机代码,互联网中所有的计算机都可以寻找这个代码,谁只要一找到就会生成一个区块,随即得到一个比特币,这个产生比特币的过程就是“比特币挖矿”。

一般挖矿的种类分为两种,一种是普通挖矿,另一种是云挖矿。普通挖矿就是自己购买设备自行安放进行挖矿,但是这种挖矿牵扯到供电费、主板、显卡、配件、噪音、散热、占地等多方面,比较麻烦,因此不推荐。

和我们比较贴近,也比较适用于我们的就是“云挖矿”。云挖矿就是你在平台付款购买云算力然后坐享其成就可以了,其余的一切事宜皆由平台处理,简便安全。

我们经常看到有矿工为了挖矿,不断升级计算机配置,或者买多台计算机,其实质目的就是为了提高自己的算力。挖矿的过程是每一个矿工,在一个时间段里,和所有的矿工竞争计算那一份比特币,实质就是一个人的算力PK全球的算力,由此可见,挖矿没那么容易。

什么是算力?

在“挖矿”的过程中,我们需要找到其相应的解,而要找到其解,并没有固定算法,只能靠计算机随机的哈希碰撞。一台矿机每秒钟能做多少次哈希碰撞,就是其“算力”的代表,单位写成hash/s。

就是被获取了比特币。
挖矿是指利用电脑硬件计算出比特币的位置并获取比特币,这一过程被称之为挖矿。每隔一个时间点,比特币系统会在系统节点上生成一个随机代码,互联网中的所有计算机都可以去寻找此代码,谁找到此代码,就会产生一个区块,随即得到一个比特币,这个过程就是人们常说的挖矿。
计算这个随机代码需要大量的GPU运算,于是矿工们采购海量显卡用以更快速的获得比特币获利。比特币挖矿机,就是用于赚取比特币的电脑,这类电脑一般有专业的挖矿芯片,多采用烧显卡的方式工作,耗电量较大。用户用个人计算机下载软件然后运行特定算法,与远方服务器通讯后可得到相应比特币,是获取比特币的方式之一。

因为用别人的手机会更加安全一点,这样公安局或者安全局就不容易找到黑客的地址了。

“偷矿”是指未经你同意的情况下,黑客利用你的系统资源挖掘虚拟货币。这主要借助于网站的 JavaScript 代码,黑客在代码中注入“偷矿”程序,当你访问这些代码时,“偷矿”程序便会偷偷自动运行。

虽然黑客能够主动入侵网站来运行挖矿脚本,但需要注意的是,那些使用了类似 Coinhivecom 这种插件服务的网站无意中也会给黑客提供更多的可乘之机。

简而言之,你访问的网站都有可能利用你的设备来“偷矿”。

如果你发现自己的智能手机或者笔记本电脑突然发烫或者 CPU 使用率极高,但是你并未运行太多的应用程序,那么你的设备很可能被黑客“劫持”了,他们正在利用你的设备“偷矿”。

你可以使用设备访问检测网站(例如 Piratebay)来确认其安全性。

不管你的设备是否被黑客利用了,未雨绸缪总是没错的。以下建议可以助你防患于未然:

1 使用 Opera 浏览器

虽然 Chrome 是最常用的浏览器,但是 Opera 浏览器提供了一些 Chrome 没有的有趣功能。最新版本的 Opera 浏览器能够自动拦截广告,此外,它还内置了阻止挖矿的防护功能。这一功能可以阻止网站擅自运行非法挖矿的脚本,这与网页上的广告拦截技术并没有太大区别。

2使用清理程序

如果采用了上面的措施之后你仍然放心不下,那么可以在电脑和智能手机上安装 Malwarebytes 清理程序,它的电脑版是完全免费的,但是针对手机的高级版是收费的。随着现在越来越多的区块链项目开始采用手机挖矿,如果你不想让自己的手机有被当作肉鸡的风险,适当花点小钱也是值得的。

你仍然可以继续使用像卡巴斯基这样的防病毒软件来保护自己的智能手机。

三天以前看到壮乡金荣仔的文章,从中了解到可以利用阿里云服务器进行挖矿,收益可观,于是立即和作者进行了联系,咨询拜师的事情。

通过和孙师傅交流发现,因为写作让我们有了很多共同交流的基础,并且我居然已经关注了孙师傅有好几个月的时间了,这让我们很快建立了信任。

孙师傅在文章中提到正式收徒弟还要等一段时间,我觉得这段时间也不能浪费,还应该为将来拜师以后做一点准备工作。于是我立即开始对云服务挖矿这件事情进行了认真的思考并实践。

云服务挖矿的可行性,大概有这么几个方面。

一,云服务器挖矿的成本收益分析。

成本构成:挖矿的成本主要有三项,矿机的支出,电费,场地及相关管理费用;

收益构成:挖矿的收益主要来自两个方面,一是按照当前数字货币的法币价格可以不管成本而获得的收益,二是数字货币在未来增值获得的收益。

分析:云服务器的运算能力远远低于实体矿机,但是不用支付电费,这是最大的成本节省,另外,由于不需要场地,自己远程管理,场地和管理费用也趋近于零。

因此在算力有限的情况下,云服务器挖矿最大限度地消除了电费和场地的费用,这是这项技术的优势所在。而盈利的平衡点,将极大的取决于服务器费用的支出和当前币价的相对关系。

二,云服务器和挖矿币种的分析。

云服务器的种类有很多,主要分两种,CPU型和GPU型。

目前市场上的各种虚拟币算法也分两类,GPU友好型和CPU有好型。比特币以太坊,莱特币等绝大多数币种都属于GPU友好型,CPU友好型比较少,我了解到的只有大零币zec,小零币xzc,门罗币xmr。

所以这样一来,在服务器和币种的选择问题上,方向很清晰:CPU和GPU任何一个方向,选择算力性价比最高的云服务器和挖矿收益最高的币种。

三,实践。

李笑来的文章中提到过,任何挖矿的行为都不如直接到市场上去买来得容易。我也因此在之前的虚拟货币的学习中,很少关注挖矿的知识。同时对于服务器方面的知识也了解很少,所以一开始我只能用网络上能够搜索得到的办法进行实践, 以快速入门,开始积累。

网上能够直接搜索到的就是利用CPU服务器挖掘门罗币。文章链接如下。

于是我花了3915元购买了三个月的阿里云轻量型服务器,配置如下。阿里云目前在搞活动,首单可以打七折。

开始进行实践。

经过了两天的折腾,终于在运行服务器上挖矿成功,但是算力只有140h/s,在这个算力下,要亏本一半。

具体折腾的过程中,遇到坑无数,也麻烦了我搞计算机的朋友很多,这个过程留待下一篇再写吧。

四,关于风险的思考。

目前来看,用云服务器挖矿服务器的价格是预付的,并且是固定的,所以挖矿是否有收益,取决于目前的虚拟货币的价格。从孙师傅的截图来看,目前收益还是很可观的。

近期的风险来自于币价的下跌,远期的风险来看,就是阿里云服务器会禁止挖矿行为。阿里云对于挖矿的行为,在网上有过很多的声明。在搜索服务器挖矿相关知识的时候,也发现有国外的服务器禁止挖矿。

长期来看,如果目前云服务器挖矿不赔本那么未来大概率是会有很大的收益的。
就在写这一篇的过程中,孙师傅的收徒标也发出来了,很快就要收徒弟啦。我也正好把这一篇当做我第一这周的作业。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12775960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存