大家好 我是周杰伦

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

虽说这Redis常被用来当做缓存,数据只存在于内存中,却也能通过SAVE命令将内存中的数据保留到磁盘文件中以便长久化存储。

只见Redis刚关上文件,筹备写入,不知何处忽然冲出几个大汉将其擒住。

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

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

挖矿病毒

一个月前,从天而降的警报声突破了Linux帝国夜晚的平静,CPU占用率忽然飙升,却不知何人所为。在unhide的帮忙下,总算揪出了暗藏的过程。本认为危机曾经解除,岂料···

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

“部长,rm那小子是混充的,明天他骗了咱们,挖矿病毒基本没删掉,又卷土重来了!”

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

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

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

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

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

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

“它们是怎么混进来的,也要考察分明!”,netstat说到。

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

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

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

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

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

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

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

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

一听这话,sshd心跳的更放慢了。

助理关上了大门,安全部长轻声说到:“据刚刚失去的音讯,有人非法近程登录了进来,这挖矿病毒极有可能就是被人近程上传了进来”

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

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

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

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

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

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

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

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

“这倒是没注意”

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

“好的”,sshd随后来到,发现自己曾经吓出了一身冷汗。

凶手浮现

工夫一晃,一个月就过来了。

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

这天早晨夜已深,sshd打起了瞌睡。

忽然,“咣当”一声,sshd醒了过去,睁眼一看,竟发现有程序闯入了/root/.ssh目录!

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

sshd不觉缓和了起来,到底会是谁呢?

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


果然,一个身影走了过去,径直走向这个文件,随后关上了它!

sshd不敢犹豫,连忙给安全部长助理发去了音讯。

那背影转过身来,这一下sshd看清了他的模样,居然是Redis!

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

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

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

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

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

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

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

CONFIG SET dir /root/.sshCONFIG SET dbfilename authorized_keysSAVE

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

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

“这可有点多,你等一下”,说罢,Redis拿出了所有的键值数据,散落一地。

众人在一大片数据中看花了眼。

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

顺着他手指的方向,一个醒目的公钥呈现在了大家背后。

ssh-rsa AAAAB3NzaC1yc2EAA···

“果然是你!”

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

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

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

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

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

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

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

彩蛋

“部长,不好了”

“什么事,慌慌张张的”

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