CPU被挖矿,Redis竟是内鬼!

李志宽 等级 102 0 0
标签: redissshd

大家好 我是周杰伦

却说这一日,Redis正如往常一般工作,不久便收到了一条SAVE命令。

虽说这Redis常被用来当做缓存,数据只存在于内存中,却也能通过SAVE命令将内存中的数据保存到磁盘文件中以便持久化存储。 CPU被挖矿,Redis竟是内鬼! 只见Redis刚打开文件,准备写入,不知何处突然冲出几个大汉将其擒住。

到底是怎么回事?Redis一脸懵。

这事还得要从一个月之前说起。

挖矿病毒

一个月前,突如其来的警报声打破了Linux帝国夜晚的宁静,CPU占用率突然飙升,却不知何人所为。在unhide的帮助下,总算揪出了隐藏的进程。本以为危机已经解除,岂料···

夜已深了,安全警报突然再一次响了起来。

“部长,rm那小子是假冒的,今天他骗了我们,挖矿病毒根本没删掉,又卷土重来了!”

安全部长望向远处的天空,CPU工厂门口的风扇又开始疯狂地转了起来···

无奈之下,部长只好再次召集大家。

unhide再一次拿出看家本领,把潜藏的几个进程给捉了出来。kill老哥拿着他们的pid,手起刀落,动作干脆利落。

这一次,没等找到真正的rm,部长亲自动手,清理了这几个程序文件。

“部长,总这么下去不是个办法,删了又来,得想个长久之计啊!”,一旁的top说到。

“一定要把背后的真凶给揪出来!”,ps说到。

“它们是怎么混进来的,也要调查清楚!”,netstat说到。

“对,对,就是”,众人皆附和。

部长起身说道,“大家说得没错,在诸位到来之前,我已经安排助理去核查了,相信很快会有线索。”

此时,防火墙上前说道:“为了防止走漏消息,建议先停掉所有的网络连接”

“也罢,这三更半夜的,对业务影响也不大,停了吧!”,安全部长说到。

不多时,助理行色匆匆地赶了回来,在部长耳边窃窃私语一番,听得安全部长瞬时脸色大变。

“sshd留一下,其他人可以先撤了”,部长说到。

大伙先后散去,只留下sshd,心里不觉忐忑了起来。

“等一下,kill也留一下”,部长补充道。

一听这话,sshd心跳的更加快了。 CPU被挖矿,Redis竟是内鬼! 助理关上了大门,安全部长轻声说到:“据刚刚得到的消息,有人非法远程登录了进来,这挖矿病毒极有可能就是被人远程上传了进来”

sshd一听这话大惊失色,慌忙问道:“难道登录密码泄露了?”

“应该不是,是使用的公私钥免密登录”,一旁的助理回答到。

“你看,在/root/.ssh/authorized_keys文件中,我们发现了一个新的登录公钥,这在之前是没有的”,随后,助理输出了这文件的内容:

[root@xuanyuan ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA······

“绝不是我干的”,sshd急忙撇清。

“远程登录,这不是你负责的业务吗?”,助理问到。

“确实是我负责,但我也只是按程序办事,他能用公私钥登录的前提是得先把公钥写入进来啊,所以到底是谁写进来的,这才是关键!”,sshd说到。

“说的没错,别紧张,想想看,有没有看到过谁动过这个文件?”,部长拍了下sshd的肩膀说到。

“这倒是没留意”

部长紧锁眉头,来回走了几步,说道:“那好,这公钥我们先清理了。回去以后盯紧这个文件,有人来访问立刻报给我”

“好的”,sshd随后离开,发现自己已经吓出了一身冷汗。

凶手浮现

时间一晃,一个月就过去了。

自从把authorized_keys文件中的公钥清理后,Linux帝国总算是太平了一阵子,挖矿病毒入侵事件也渐渐被人淡忘。

这天晚上夜已深,sshd打起了瞌睡。 CPU被挖矿,Redis竟是内鬼! 突然,“咣当”一声,sshd醒了过来,睁眼一看,竟发现有程序闯入了/root/.ssh目录!

这一下sshd睡意全无,等了一个多月,难道这家伙要现身了?

sshd不觉紧张了起来,到底会是谁呢?

此刻,sshd紧紧盯着authorized_keys文件,眼睛都不敢眨一下,生怕错过些什么。

CPU被挖矿,Redis竟是内鬼! 果然,一个身影走了过来,径直走向这个文件,随后打开了它!

sshd不敢犹豫,赶紧给安全部长助理发去了消息。

那背影转过身来,这一下sshd看清了他的容貌,竟然是Redis!

收到消息的部长带人火速赶了过来,不等Redis写入数据,就上前按住了他。

“好家伙,没想到内鬼居然是你!”,sshd得意的说到。

Redis看着众人,一脸委屈,“你们这是干什么?我也没做什么坏事啊”

“人赃并获,你还抵赖?说吧,你为什么要来写authorized_keys文件?”

“那是因为我要来执行数据持久化存储,把内存中的数据写到文件中保存”,Redis答道。

“你持久化存储,为什么会写到authorized_keys文件里面来?”,sshd继续质问。

“刚刚收到几条命令,设置了持久化存储的文件名就是这个,不信你看”,说罢,Redis拿出了刚刚收到的几条命令:

CONFIG SET dir /root/.ssh
CONFIG SET dbfilename authorized_keys
SAVE

“第一条指定保存路径,第二条指定保存的文件名,第三条就是保存数据到文件了”,Redis继续解释到。

安全部长仔细看着几条命令,说道:“把你要写入的数据给我看看”

“这可有点多,你等一下”,说罢,Redis拿出了所有的键值数据,散落一地。 CPU被挖矿,Redis竟是内鬼! 众人在一大片数据中看花了眼。

“部长快看!”,sshd突然大叫。

顺着他手指的方向,一个醒目的公钥出现在了大家面前。

ssh-rsa AAAAB3NzaC1yc2EAA···

“果然是你!”

Redis还是一脸懵,还不知发生了什么。

“你这家伙,被人当枪使了!你写的这个文件可不是普通文件,你这要是写进去了,别人就能远程登录进来了,之前的挖矿病毒就是这么进来的!”,sshd说到。

一听这话,Redis吓得赶紧掐断了网络连接。

“给你下命令的究竟是谁,又是怎么连接上你的?”,部长问到。

Redis不好意思的低下了头,只说道:“不瞒您说,我这默认就没有密码,谁都可以连进来”

安全部长听得眼睛都瞪圆了,愤而离去。

只听得一声大叫,kill老哥又一次手起刀落。

彩蛋

“部长,不好了”

“什么事,慌慌张张的”

“我的数据全都被加密了!”,MySQL气喘吁吁的说到···

CPU被挖矿,Redis竟是内鬼!

收藏
评论区

相关推荐

为什么单线程的Redis能支持高并发?
一、Redis为什么是单线程注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽,既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。关于redis的性能,官方网站也有,普通笔记本轻松处理每秒几十万
凉凉!面试阿里我被Redis技术专题给搞的昏倒在地~
凉凉!面试阿里我被Redis技术专题给弄死了📚我本以为我可以像是别的博主一样去阿里面试随随便便,因为Redis,我直接被阿里大佬淦翻在地上好了不装了 没过没关系 我总结了一些这些最难的知识点!!!!然后自己总结归类再去百度查询了一些 最终得出这份Redis技术专题 题目开淦 Redis集群的主从复制模型是怎样的?为了是在部分节点失败或者大部分节点无法通信的情
PHP面试题2019年阿里巴巴面试题及答案解析
**一、单选题(共27题,每题5分)** **1.Memcache与Redis的比较错误的是?** A、Memcache过期后,不删除缓存,会导致下次取数据数据的问题,Redis有专门线程,清除缓存数据; B、Memcache和redis都是只支持单线程;CPU利用方面Memcache和redis部分伯仲 C、Memcache只支持key value
PHP7安装redis扩展
1、查看自己PHP的版本 echo phpinfo() 查看自己的版本:VC是14,系统是64位的,所以一定要选对版本,因为这个版本我折腾了好久。2、根据自己的PHP版本、编译器的版本以及cpu我的是php是7.0 、VC14、X64。附上我的下载链接redis、igbinary的链接:Redis:http://windows.php.n
Redis 单线程如何处理那么多的并发客户端连接?
为什么Redis是单线程的 ------------- 1.官方答案 因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。 IO多路复用技术 -------- redis 采用网络IO多路复用技术来保证在多连接的
Redis 子进程开销监控和优化方式
Redis子进程负责AOF或者RDB文件的重写,它的运行过程主要涉及CPU、内存、硬盘三部分的消耗 01  CPU CPU开销分析。 子进程负责把进程内的数据分批写入文件,这个过程 属于CPU密集操作,通常子进程对单核CPU利用率接近90% CPU消耗优化。Redis是CPU密集型服务,不要做绑定单核CPU操作。由于子进程非常消耗
Redis——持久化数据
Redis被称为是内存数据库,那是因为它会将其所有数据存储在内存里,因此Redis具有强劲的速度性能,但是,也正因为数据存储在内存中,当Redis重启后,所有存储在内存的数据就会丢失。为了使得数据持久化,Redis提供了两种方式:**RDB方式**和**AOF方式**。 一、RDB方式 RDB方式的持久化是通过快照(snapshotting)完成的,
Redis主从模式的常用类型
本文介绍Redis主从模式的常用类型。 Redis的可靠性主要有主从模式和集群模式。对于主从模式而言,Redis有以下方案: * Sentinel方案; * Keepalived方案。 Sentinel方案 ---------- 作为Redis主推的官方方案,主要的实现原理是通过引入哨兵sentinel节点,来投标决定master节点故障后,
Redis之集群环境部署
在进行redis集群部署之前,兄弟们最好先在自己的虚拟机上安装好单机版的redis,安装方法很简单,兄弟们可自行用度娘度一下,这里就不再赘述了,本人也是上班时间抽空偷偷写的该博文,也得处处小心被捉了! 好了,闲话少说,进入正题哈! 第一步 搭建ruby环境 ============         先来说说redis用啥来做集群,我们知道hadoop可
Redis内存淘汰机制
摘要 == Redis是一款优秀的、开源的内存数据库,我在阅读Redis源码实现的过程中,时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等)。今天我们暂时放下对Redis不同数据结构的探讨,来一起看看Redis提供的另一种机制——内存淘汰机制。
Redis常见的应用场景解析
原文: [Redis常见的应用场景解析](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.cnblogs.com%2Fjoylee%2Fp%2Fredisscene.html) > Redis是一个key-value存储系统,现在在各种系统中的使用越来越多,大部分情况下是因为其高性
Redis的TPS太低的优化方法
Redis的TPS太低的优化方法 问题检查 ---- 1. 内存检查,看看是否存在内存不足使用SWAP的情况 2. 单核CPU和整体CPU的使用情况检查,看看CPU负荷是否高居不下 3. 检查磁盘IO和网络IO的情况 4. 检查网络延迟是否正常,网络一定要好 5. 用redis的 `info commandstats` 命令查看命令执行分布和事
Redis编译安装
准备工作 ----     ①下载redis源码包     ②linux操作系统Centos5.5     ③Redis版本redis-2.6.9 编译安装 -------     **①解压后进入到目录中,直接编译即可,无需configure.**     操作系统cpu系列是哪个系列     uname -m     通
Redis高级命令操作大全
**redis安装和使用** -------------- ### redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf redis-stable.tar.gz cd redis-stable.tar.gz make make inst
CPU被挖矿,Redis竟是内鬼!
大家好 我是周杰伦却说这一日,Redis正如往常一般工作,不久便收到了一条SAVE命令。虽说这Redis常被用来当做缓存,数据只存在于内存中,却也能通过SAVE命令将内存中的数据保存到磁盘文件中以便持久化存储。只见Redis刚打开文件,准备写入,不知何处突然冲出几个大汉将其擒住。到底是怎么回事?Redis一脸懵。这事还得要从一个月之前说起。 挖矿病毒 一个月