上周 Spiceworks 上有一个帖子 讨论了一位“叛逃”的系统管理员,他后来又回到这家公司,继续作祟。我浏览了不同的帖子,其中有一条尤其让我印象深刻:“你们的语气听起来像一群警察。你们难道不信任任何人吗?要想信任别人,你自己也必须值得信任。”
我差点就回帖说,我真希望自己能那么天真。我希望自己能生活在那个世界里——并不是说我就是个悲观主义者。我是一个有经验的乐观主义者。而我的经验告诉我,对此唯一可能的回答是:“我信任所有人……但只到某个程度。”
那么我们来谈谈,在 IT 安全这场“游戏”里信任为何是个大问题。首先,我们经常听到:某家公司被黑客入侵了,信用卡号码之类的信息被窃取了。说实话,这确实很严重,也会让人害怕。恐惧能卖报纸!但我们听不到的是:那些成千上万的小型“黑客”行为——因为他们并没有入侵任何网站。他们根本不需要入侵。他们早就已经在里面了。
从前,我在一家公司工作过。他们做软件,而且做得非常好。我被请来,主要是为了把他们的 VMware environment 搭起来并运行起来。他们会把自己的产品拿来,针对各种不同的电力公用事业公司进行调整。过去他们的做法是:当一名开发人员需要去那家公用事业公司,协助调整软件之类的工作时,他们会带着一台笔记本;在某些情况下,还会带上多达十几块、甚至是一打左右的不同硬盘。这些硬盘里包含该环境所需的操作系统、所有工具,以及相应的软件。等到了那家公用事业公司,他们就把笔记本里的硬盘拿出来,换上贴有该公司标签的那一块,然后就继续工作。理论上是个好主意,执行起来却是个糟糕主意。硬盘会丢、会坏,有时甚至会被偷走。的确,当我把所有硬盘都收回来的时候,有些根本与软件无关,反而全是音乐、电影之类的东西。
于是就引入 VMware 了。思路是:我们搭建他们的开发环境,把他们派到公用事业公司那里,然后他们只需要通过 VPN 访问自己的工作环境,就能进行调整和测试。这个主意也不错,不过偶尔我们还是得不情愿地随身带一块硬盘过去。至于这一次,我们只是把 VMplayer 直接装到他们的笔记本上,我则用 VM Convertor 把虚拟机复制过去。这样他们就可以完成工作,也不用担心 VPN 连接。硬盘由我来控制,它们变成了“需签收”的物品;开发人员离开时,我会连同他们需要的那台 VM 一并把硬盘交给他们。等他们回来时,我就在那儿等着他们。
登场的是 Donnie(这当然不是他的真名)!他是一位出色的开发者,极具个人魅力,属于那种如果要说“应该贴警告标签出生”的人。可他最大的本事就是能装得很好相处,而且魅力能开到最大档。他能把最荒唐、最离谱的想法,说得像是合情合理。
他看到是我在交付并管理这些 VM,于是就带着一个想法来找我。“嘿,Rich。我知道你是个非常非常忙的人。”他说着,夸了我差不多五分钟之后继续道:“那你为什么不把权限给我,让我来发放硬盘、克隆 VM 之类的……?”
我有没有顺便提到:在他还穿着尿布、我还在政界担任要职的时候,我已经是一名警察了,而且我还开发出了一个非常精确的“胡说计”!指针都顶到底了,而有个小声音在提醒我,别信他——别信到我能把他扔出去的那点距离以外。
“谢谢,但不行。”我说。
“但是……”
“NO(不行)里的哪一部分你没听懂?”我问。
他气鼓鼓地走开了。
他没有回来,我以为他已经明白了关键所在。
如果你运行的是虚拟化环境,你要做的一件事就是像老鹰一样盯着它。你需要知道它的表现如何,而且你始终需要知道在其中会发生什么、表现得怎么样。所以,我总会在环境里“走一圈”,虚拟地四处查看、检查情况。有一天,我在巡查时发现几台机器上有快照。你说这不是什么大不了的事?嗯,快照确实有点容易成为隐患,随便放着不管可能会出问题;但在某些情况下,它们又是被允许甚至是预期会存在的。
具体是这样运作的。在 VMware 的世界里,给 VM 所谓的“硬盘”,本质上不过就是一个叫作 VMDK 文件的文件(而且是的,你可能会有一大堆 VMDK 文件)。很多备份软件的工作方式都是通过创建快照来实现。这个过程会把 VMDK 置于我们所说的“quiescence(静默/安定状态)”状态。也就是说,系统会变得安静,任何在此期间发生的变更(例如上传文件)都不会反映到 VMDK 文件上。等备份结束后,软件会把快照合并回 VMDK 文件中,此时快照就不再存在。
但我却看到了一份不该存在的快照。
好吧,我想。可能性有几种。第一,备份软件出错了,没有在结束后把该清理的东西清理干净。顺便说一句,如果你的备份软件出现一些随机的故障,你可能需要确认它是否确实把快照合并回去了。第二种可能是:我曾经创建过一个快照,但把这事完全忘了。我不记得自己做过快照,但我已经超过 50 岁了……ほら、頭が先に行くんですよ…… . . .
还有第三种可能,但我一直把密码之类的管得很严。就图个乐子,我去查看了快照的日志,找到是在哪儿创建的,然后想:嗯,也许我真的干了什么蠢事。
于是我把那个快照清理掉,然后继续。
一周后又出现了另一个快照,我简直要气炸了!我继续往下查,这次我意识到发生了一件意想不到的事。我去找了我的老板,问他是不是做了一个快照。当然不是。你把 root 密码给出去了?当然没有。
于是我把密码改了,接下来该怎么做也盘算起来。很明显是有黑客了。某种方式下,密码已经被泄露了——所以这次我给 root 账号创建了一个新的密码,并把它设置得又长又复杂到离谱。但我也知道,凭我做警察多年的经验,窃贼喜欢回头再来,去敲打那些过去曾经“开过门、带出战利品”的门。
我还需要追踪到底是谁在做这些事。所以我下载并搭建了我自己的 SNORT 设备。对于那些从来没有玩过 SNORT 的你们来说,我可以告诉你:这是市面上最优秀的入侵检测系统之一。它是免费的这一点,更是让它出色到不行。
现在,我盯着看,等着。顺便说一句,其实我可以做几件事来彻底把它锁死,但我想抓到那家伙。我有点起疑,心里想的是:密码很可能是用老一套的方式被泄露了。有人把它交给了黑客。如果我的猜测没错,他们还会再来一次。
一周后,我拿到了不是一份,而是两份快照。然后我开始“狩猎”。Snort吐出了当时的连接信息,我把成功的尝试和失败的尝试都追踪到了同一个IP地址。根据这些信息,我查出了是哪台工作站租用了这个IP,然后去拜访了那位操作员。你猜怎么着——是我的哥们儿 Donnie。
“好吧,”我说着,重新切回我那套老警察的状态。“Donnie,你为什么要做你现在做的这些事?”
我把证据给他看,他就开始说话了。“我想做我之前跟你说的那样,让你少点压力……”
“当然,你是做了。正因为如此,所以我还在发放硬盘驱动器,而你却不在。”我已经远程检查过他的机器,问道:“VM在哪?”
“在一块外接硬盘里,”他过了一会儿回答道。“在家里。”
“为什么在家里?”我问。
“我把它们放到一台服务器上了,”他说。“而且我还让朋友们拿去玩!”
我感觉脸上的血色瞬间褪去。软件、数据——全都是专有的东西。可现在它们居然上网了!“给我看看!”
他打开 Firefox,输入了一个地址。接下来我看到的,是一页网页:页面上显示着带有 vSphere 客户端的 XP Box,以及列出的一台台机器。更糟的是,他根本没有费心把它好好锁起来,任何人——所有人——都能访问。
我点了点头。最可怕的噩梦正在我眼前和耳边一步步展开。“你是怎么拿到这些虚拟机(VM)的?”我问道。
他一时显得有些不自在,随后解释道:“我通过 vSphere 客户端登录,然后做了一个快照。之后我就可以把 VMX 和 VMDK 文件直接复制到我的外接硬盘上。我把它们带回家,在 VMPlayer 里打开了!”
“所以我们才要进行这次谈话,因为你忘了把后续收拾干净。”是时候问那个我早就知道答案的问题了。“密码从哪儿来的?”我问。“我让他们别告诉你,因为你说不。”他四下看了看,叹了口气。“我告诉他们我想做什么,他们觉得有道理,就把它给了我。”
“‘他们’是谁?”
“公司董事长和你的老板!”
到这时候,我已经拍了拍自己的脑袋,摇了摇头,怒气冲冲地吼道:“跟我来!”
我们走进总裁办公室,把我发现的情况告诉他,并说明他的专有软件如今已经被放到了互联网上,任何人——全世界任何人——都可以去偷。
后来我把整个故事都弄清楚了。他耍了一套花招,做出那种“哎呀、すごい、これって理にかなってるよね?”的表演,而他们就这么信了。“我们信任了他,”公司总裁懊恼地说道。
不用说,他也没能在那儿待太久。警察跟着我们一起,我们拿到了他的网页服务器和外置硬盘。至于他最终没有坐牢,只能说明这起安全事件对很多人来说会太难堪。
之后事情就安静下来了一点。至于 Donnie,我没有看到任何证据表明他现在还在 IT 领域。就我所知,他可能在某个地方卖二手车,过着“从此幸福快乐”的生活。
分享到
了解更多
关于作者
Richard Muniz
自由职业 IT 顾问
Richard 是一名自由职业 IT 顾问、博主,并在 Saisoft 担任教师,在那里他教授 VMware Administration、Citrix XenApp、面向 IT 的灾难规划与恢复,以及 Comptia Server+。