数据存储产业服务平台

董唯元存储专栏 简述磁盘阵列中毒案与解决方法

    桌上电话疯响,午睡的雅兴全无。小胡拎起电话,没好气的“喂”了一声。
  
    “不好啦。我们的磁盘阵列染病毒啦!”电话那头的声音焦急万分。
  
    “您好,请您仔细描述一下好吗?是连接磁盘阵列的主机染病毒了吗?”听出对方是客户,小胡只好忍着心里的脏话,细声细气的询问。
  
    “不是,不是,就是你们去年卖给我们的那台磁盘阵列染病毒了!”
  
    小胡深吸口气,思量着怎么对付这个白痴。
  
    “如果是磁盘阵列中的数据染了病毒,您需要在主机上进行杀毒,跟杀内部磁盘上的病毒一样。”
  
    “不是,不是,不是,是磁盘阵列里面染病毒。磁盘阵列控制器的Firmware染病毒了!”
  
    小胡死命的憋着“神经病”三个字,勉强平静的问:“你是怎么确定磁盘阵列染毒的呢?”
  
    电话那头似乎也吸了口气,声音徐缓下来。“我是这个机房的网管,今天发现网络上有病毒传播,就断网逐个杀毒,却怎么也杀不干净。最后我们在交换机上截获数据包分析,发现毒源的IP地址居然是你们的磁盘阵列上的。”
  
    “啊!”所有准备羞辱对方无知的打算都瞬间蒸发掉了,只剩下结结实实的惊讶。
  
    做了这么久的技术支持工作,小胡还是第一次听说磁盘阵列控制器也能中毒。
  
    这是笔者日前碰到的一个真实场景。其实不只是小胡,估计很多资深的存储工程师碰到磁盘阵列染病毒的说法,反应都会跟小胡一样。传统上磁盘阵列在系统的位置仅仅是一个外部设备,很多用户甚至直接称呼其为“大硬盘”。这种设备自身虽然也有固件(Firmware)部分,但基本都是诸如VxWorks甚至更小的嵌入式系统,极少有病毒能够感染这种系统。自然也就没人见过磁盘阵列染病毒这种事情。
  
    但是,近年来随着磁盘阵列功能的丰富和处理要求的提高,越来越多的中高端磁盘阵列开始选用更大型的操作系统作为固件平台。



  • NetApp存储设备控制器中运行的是定制后的FreeBSD;

  • Engineo磁盘阵列(即IBM DS4000系列)控制器采用Intel Celeron芯片,运行的是Linux(DS4100和DS4300仍然沿袭Mylex技术,采用Xscale CPU及VxWorks系统);

  • EMC CLARiiON系列阵列控制器采用Intel Pentium芯片,曾经以Windows2000作为操作系,现在升级为WindowsXP;

  • Sun新推出的6920磁盘阵列中心处理单元(称为DSP)是一台Sparc服务器,运行标准的Solaris和Veritas Volume Manager;

  • IBM企业级产品DS8000阵列控制器是RS6000架构,运行AIX系统。

    传统服务器操作系统在磁盘阵列控制器中的盛行,自然为这些产品的功能和处理能力提供了强大动力支持,但是同时也为病毒传播和黑客攻击提供了机会。
  
    毋需讳言Windows、Linux、Solaris和AIX这些开放系统平台由于用户众多,自然成了病毒和黑客们的重点攻击对象。笔者的笔记本上安装了预警系统,可以报告一些嗅探器的扫描和非法请求。虽然这个预警系统不能监测到所有的攻击和扫描,但既便如此,每周累计上百条的事件已经足以说明Internet中的各类攻击和扫描其数量何等惊人。如果这些攻击中只有哪怕1‰的成功率,也将意味着系统平均每2~3个月就会被非法入侵一次。对绝大多数中高端系统而言,这样的安全性是完全无法忍受的。更何况,对没有任何保护的“裸系统”,攻击的成功率会比1‰高很多。笔者曾经尝试将仅安装有WindowsXP的笔记本电脑彻夜连接在Internet上,次日早上MSN的口令已经被更改,桌面设置也面目全非。
  
    针对Windows、Linux和开放Unix系统的病毒和攻击每天都在更新,而这些系统本身,也是依靠频繁的补丁和第三方安全软件来保护的。因此,对安装在阵列控制器中的系统而言,情况便很棘手。目前还没有第三方安全软件厂商为阵列控制器提供安全防护软件,用户只能像频繁的为主机打补丁一样,频繁的为阵列控制器升级固件。事实上,各磁盘阵列厂商也是这样提倡的,这些厂商一边向用户声称“升级为最新版本的固件才能保证系统最为可靠”,一边以平均每周一次的速度更新其固件版本。然而升级阵列固件对在线的磁盘阵列来说是非常危险的操作,频繁的升级固件无疑会严重影响数据安全。既便厂商可以保证100%安全的固件升级,大多数中高端系统也无法忍受如此频繁的当机窗口。每周停机1~2小时,每年就要50~100小时!这哪里还是厂商们所宣称的“四个九”、“五个九”的高可用?
  
    也许厂商们也意识到了这个尴尬,一些还算有责任感的厂商在新推出的产品中引入了一个特殊的功能—-在线升级固件。这下问题似乎解决了。笔者曾多次亲耳聆听过几家知名厂商的工程师们对此功能的溢美之辞,称其可以实现“不间断的系统维护”云云。事实果真如此吗?很遗憾,实际情况完全没有那么完美。翻开任何一款支持“在线固件升级”产品的用户手册,都会发现其操作规程中大同小异的赫然提示:“虽然本产品可以支持在线固件升级,但要求升级过程中停止任何外部I/O操作。”这是什么意思?磁盘阵列可以不停机,但是主机读写需要停止。这跟系统停机有什么区别?!所谓“不间断维护”,岂不成了文字游戏。
  
    退一万步说,既便用户完全按照厂商的要求,以最快的速度更新固件,磁盘阵列就安全了吗?把WindowsXP的补丁升级到最新版本,就可以免受病毒和黑客威胁了吗?一样的道理嘛。也许有人会怀疑,“并没有听说很多磁盘阵列染病毒和被攻击的事件啊。”其实道理也很简单。想想中高端磁盘阵列一般应用的环境,电信公司的中心机房哪个不是层层的软硬防火墙保护?银行的中心机房更甚,干脆就隔离了接驳Internet的物理连接。这些客观因素减少了磁盘阵列这种“脆弱系统”遭受侵扰的机会,但是这并不等于减少了磁盘阵列的“脆弱性”。
  
    需要注意的是,机房环境对磁盘阵列的保护是非常有限的。几乎所有中高端磁盘阵列都支持提供远程管理维护,而且厂商或集成商也乐于通过远程管理端口进行定期巡检。如果可能,厂商和集成商都会力劝用户为磁盘阵列提供一个公网地址,并将其置于可由外部访问的位置。也许集成商和用户大多没注意到,这种方便也使磁盘阵列的“脆弱性”暴露在危险的公网环境中。
  
    另外,一旦机房内部感染病毒或出现恶意用户,磁盘阵列由于毫无防范,基本是在劫难逃。前面故事中,小胡的客户遭遇的便是这种情况。磁盘阵列虽然易于感染,但一旦出现这种情况,查杀病毒和恶意代码的工作却很困难。由于封装机制特殊,一般通用安全软件是无法在阵列控制器上安装的。而且,此类系统对管理员帐户及其他方面的改动,也妨碍了安全软件以网络方式清理系统。简单一句话,磁盘阵列易感染病毒却不易清除。
  
    除磁盘阵列之外,其他的存储设备情况如何呢?我们知道,一些光纤交换设备和虚拟存储设备的核心操作系统也是以Linux为基础。但是总体而言,这些设备的安全机制要比磁盘阵列好很多。部分原因是因为大多数此类厂商,都或多或少的有传统以太网络技术基础,还有一部分原因是,这些系统与人们耳熟能详的RedHat、SuSe等Linux版本差异较大,对病毒和黑客而言“兼容性”比较差。


    NAS和iSCSI设备中通用操作系统更为流行,微软公司还为此类设备开发了Windows Storage Server作为专业系统,其病毒“兼容性”自然非常“好”。然而幸运的是,一般NAS和iSCSI设备上都会附加有网络安全方面保护。几乎每个NAS产品都会预安装或以选项方式提供防病毒软件,并有良好的认证保护机制。iSCSI设备中则干脆将CHAP保护机制作为其标准配置之一,避免了系统裸露于不安全的网络之中。


    由此可见,NAS和iSCSI设备在网络安全方面显然比传统FC磁盘阵列更具优势。因此,在性能和扩展性等要求都可以满足的前提下,选用NAS或iSCSI设备会使存储设备本身更安全。如果一定要选用FC磁盘阵列,则需要尽量避免通过控制器的网络接口进行管理,而尽量采用更为安全的带内(In-Band)管理模式。
  
    我们还是看看小胡是如何为用户解决问题吧。其中关键的步骤无外乎前面提到的几点:



  • 备份所有磁盘阵列中的数据和配置信息;

  • 刷新阵列控制器固件(相当于重新安装操作系统)为最新版本;

  • 手工恢复阵列配置信息;

  • 去除用于管理的以太网连接,改为带内管理;

  • 再次全网杀毒。

  • 搞定!

    用户满意了。小胡也上了一课,原来磁盘阵列也是可以染病毒的。


    本文版权归作者及DoSTOR所有,如需转载请联系:editor@dostor.com

未经允许不得转载:存储在线-存储专业媒体 » 董唯元存储专栏 简述磁盘阵列中毒案与解决方法