5月中旬,WannaCry比特币勒索病毒
利用Windows安全漏洞,袭击全球。
我在《勒索病毒预防实战:有的PC打不上补丁咋办?》 中,
提到了如何预防以及数据备份的重要性。
然而有了备份就能万无一失吗?
为预防病毒而备份
却破坏了系统为哪般?
就在病毒发作的那几天,有一位网管朋友给我打电话讲了他的遭遇。
这位朋友单位有一台Windows服务器系统盘做的RAID1,上面的操作系统和应用没有备份,担心被病毒加密文件,于是用某大厂的系统备份/恢复软件进行了操作。具体来说是用光盘/U盘引导的方式,像Ghost那样将C盘中的数据先备份到后面的分区中(我理解事后还要拷出来),而在这个操作完成之后服务器操作系统起不来了…
图片截自虚拟机中的实验环境,用于辅助说明
事后朋友发现,原来他的服务器是用Windows系统做的软RAID1,BIOS里的RAID选项并没有打开(其实这也是一种软RAID,稍后再谈)。如上图所示,在Windows中对D分区的访问都是在镜像卷上操作,而在进入OS之前呢?像一些第三方引导盘有可能不会加载动态磁盘上的镜像卷,而直接对单盘进行了操作。经过数据恢复处理之后,朋友发现C盘的备份镜像只被写入了其中一块磁盘,软RAID破坏也就在所难免了。
再打个比方,如果Linux用户在物理磁盘sd*上创建了LVM Mirror,这时如果再对底层的sd*进行写操作也是同样的道理。
尽管有些操作系统支持不只一种带有容错功能的软RAID,但实际使用的人并不多,除了性能和故障之后的恢复难度之外,还有一个问题就是防呆。
所谓的“软”RAID
到底软在哪里?
不依赖操作系统的软RAID,如果扩大点范围来看也有好几种。
第一种是主板集成的RAID,无第三方控制芯片,依靠BIOS里加载的Firmware来配置。都是软RAID也有区别,比如Intel RST就是要在Windows驱动加载后才能进行Rebuild。
由于现在主板芯片组提供的SATA接口越来越多,第三方芯片生存空间不大。比较高级一些的是SAS控制器/HBA、入门级RAID卡提供的软RAID功能,比如基于LSI 2308、3008这些芯片或者Dell PERC H3xx这样的RAID卡。将它们称之为软RAID是因为不像传统SAS“硬”RAID卡(如使用LSI 2108、3108芯片或者Dell H7xx/8xx系列等)那样具备本地缓存和掉电保护设计。通常来说这类软RAID 5的性能不会好,但其保护机制基本在卡上实现,对各种操作系统不透明也就不会出现上面遇到的那种问题。
上面介绍了2类软RAID,早年还曾有更麻烦一些的。比如HighPoint有的ATA控制器在Linux中内嵌非RAID驱动,会把RAID直接认成单盘,这样加载驱动的难度就会加大。还有Adaptec在Ultra320 SCSI时代引入的HostRAID,也是能用非RAID SCSI驱动认成单盘。这些连防呆都不够好的软RAID,我遇到有些用户不愿接受。
Windows备份介质服务器
存在的潜在风险
以上讨论的主要是“隔离性”。RAID是一种物理保护,而作为数据保护的备份技术还要考虑逻辑上的隔离,一个基本原则就是恶意软件或者用户误删除等操作都不应影响到备份数据的完整性。然而并不是每一个备份部署中都做到了这点。
上图引用自《DellWorld15:图解NetVault Backup 11智能备份》一文,是以原Dell软件部门(Quest)的备份软件为例来介绍传统备份架构。这里面的基础知识我就不重复叙述了,主要说一下可能存在风险之处。
注:以下讨论并不针对具体哪家备份产品,我也不确定此次的病毒一定会破坏网络共享文件路径。但从“读取文件-加密后保存-再删除原文件”的机制来看,并不需要感染备份目标上的可执行文件并运行,此类程序就可造成破坏。
首先,物理磁带和VTL(虚拟磁带库)设备通常不在恶意软件攻击之列,因为它们不支持传统文件操作,需要用特定命令/备份软件来读写。
我还与做备份的朋友交流过,对于传统的LAN备份,Windows客户端通过网络将数据发送到备份服务器,这个过程一般是安全的。如果备份服务器也部署在Windows系统上,一旦磁盘备份介质以OS可识别的文件格式挂载上来,还是存在被恶意破坏的可能。以本次的勒索病毒为例,Windows备份介质服务器在有些情况下也要注意安全。
上图左上角部分描述的是备份NAS上的数据到磁带,目前也有一部分中小企业用户选择NAS设备做为备份目标。对于这种方式,无论CIFS文件共享直连Windows客户端还是备份服务器(其实都是介质服务器了),都有可能存在风险隐患。而如果采用DD Boost、OST、RDA这些带有源端去重的专用备份协议,或者将备份空间格式化为专用文件系统的会更安全一些。
比如我见过一种取巧的LAN-Free备份支持说法,将FC接口磁盘阵列挂给应用服务器的LUN格式化为文件系统,并做为备份目标。这样做虽然没有用磁带类设备,但数据流确实走光纤了。此时如果是Windows文件系统,备份数据显然也难逃恶意破坏的可能。
虽然从上面的例子中侧面反映出传统磁带备份的安全性,而我们也不能忽略磁带介质管理上的复杂度和高维护成本。LAN-Based磁盘备份的Client-Server架构看来也有安全性方面的可取之处,不过在云计算的时代一些厂商提倡无代理备份,甚至(站在自己角度上)说备份代理也可能成为被攻击的对象。在内网里相对还好,接入公网需要考虑的安全问题确实更多,当然这些讨论有点超出本次勒索病毒的范畴了。