存储与安全融合之道,数据通路上的宙斯盾

    随着数据的重要性日益深入人心,数据的安全也越来越受到重视。数据的安全是多层次的,比如制度安全、技术安全、运算安全、存储安全、传输安全、产品和服务安全等,所以说安全不是简单的加密、解密,公钥、私钥,而是一个广义的概念。也就是说,如何保证数据能能够平平安安的传递和保存。本文将从数据在存储通路上的流动路径为出发点,讲述广义的数据安全。


    网络环境下,数据的行踪


    当今社会网络技术风靡全球,“ 地球村”的概念早已不再是新词汇。在网络环境下,数据是如何传输,它是如何流动,源头和目的地又是怎样,图-1展示了其基本架构。



图-1 数据的整个流动通路


    通常,当个人电脑或工作站连接到网络,并发送请求到相关服务器主机,其数据就会在Internet的高速公路上传输,也就是在各种路由器、交换机之间不断传递,最终到达服务器主机。上世纪90年代开始兴起的网络热潮,带动了前端市场的发展;从而像Cisco、Juniper、华为等国际数据通信厂商的因时而出、迅猛发展,并广为人知。


    而隐藏在服务器后端操作,如何将数据放入到存储介质的过程,却因为其技术门槛以及宣传力度等原因,都秘密地躲在了大众的眼球之后。本世纪初以来, 随着各种应用对存储的巨大需求,存储开始指数级别增长,像EMC、HDS、NetApp、Veritas等存储大厂应运而出,笑傲IT江湖。


    为了更加清晰地划分出数据行踪,可以将服务器主机作为分界线,与因特网连接部分可以称作“数据流动前端”,而与后面存储网络连接部分可以称作“数据流后端”。对于数据流动前端来说,其安全性问题,就是大家所熟知的网络安全,本文不以它作为论述的重点,而是集中在数据流动后端的分析上。


    然而数据流动后端,并非简单地直接从服务器主机到达存储介质,就像网络TCP/IP分层协议那样,它也要通过不同的处理层、模块、传输设备等,而整个传输过程中所流经的每一层,都可能存在潜在的安全问题,这就是在存储通路上的传输安全问题。


    数据在服务器(HOST)内流动


    数据流后端的流动,最初就是在服务器内部移动。当前,大部分服务器上的操作系统主流就是Unix、Linux、Windows,但是不管具体采用那种OS,其数据的流向都可以抽象为图-2所示。



图-2 数据在服务器中的通路


    所有网络上发送过来的数据请求通过NIC以及TCP/IP协议被发送到对应的应用上去,此时数据就正式进入了服务器上;然后数据自应用层开始,一直被传递到操作系统内核。然而,由于现在各种应用发展日新月异,随着它们的膨胀其安全漏洞也随之上升,比如针对一些邮件服务器、数据库服务的病毒和攻击;对于应用程序的攻击,在PC平台上就更为显著了,比如QQ、MSN、WORD等应用的病毒,以及目前的各种流氓软件都是大家深恶而痛绝之地。


    通过了应用程序之后,其下层就是文件系统了。通常,到了这里存储也就是开始神神秘秘了,因为OS都把存储的细节封装的很好,对于外界来说只需要找好文件进行读写就可以了,非常地透明。但是,这里却存在安全问题,常被提起的文件系统崩溃、误删除文件之类就出现在这个地方。因此,才出现了日志文件系统,以及基于文件系统的CDP技术。


    走过文件系统,数据会被传递到卷管理层,卷和通常在Windows平台上看到的分区类似,只不过卷可能是有几个分区构成;卷基本上都是建立在由下层驱动软件汇报的raw设备上面,有些数据库也可以不通过文件系统和卷直接建立在这样的raw设备上。但是单一分区构成的卷,不能提供冗余功能,一旦破坏,那么在此卷上的数据都被损坏,因此卷级的数据安全性也非常重要。从而有VxVM (Veritas Volume Manager)、LVM (Logical Volume Management)、EVMS (Enterprise Volume Management System)、MD (Linux下的software RAID)以及Windows上的动态卷技术,同时还有基于卷的快照技术(snapshot),它们都在卷级提供了数据安全能力。


    走过这些,数据最后就要到达硬件设备HBA了,通过HBA就可以访问DAS以及SAN网络中的存储设备了。尽管很多HBA内建了Firmware,甚至里面就运行专门的操作系统,但是要让HBA在OS里面运行起来,一定要加载对应的驱动程序,它们是不可分割的。而这个HBA将会提供服务器访问存储网络的路径,而这个路径如果是独木桥,那么就会成为数据安全的一个潜在隐患。因此设计了多路径技术(Multipath),它专门解决因为单点故障造成的数据安全问题。


    从整个服务器内的数据流向可以看出,数据在存储路径上流动中的每一个模块都可能出现安全问题,因此在每个模块都需要实施对应的方案来解决数据安全问题。


    数据在NAS系统中前行


    当服务器在文件系统层向NAS服务器发送文件处理请求,如图-3中那样,那么数据就会流向NAS中去。数据在NAS里面如何流动对于大部分人来说,都是一个谜。其实,从某种意义上来讲,可以把NAS看着一个服务器,只不过这个服务器主要提供存储服务,并提供文件访问接口给外界,从而真正的外部服务器主机就通过NFS或者CIFS来访问。



图-3 数据在NAS中流动通路


    同样,NAS也有操作系统,比如一些定制的UNIX系统或者裁减的Linux系统,甚至采用Windows操作系统;只不过,这些操作系统都针对NAS应用做了相关的改动,将一些不需要的功能去掉,同时增强在存储和网络方面的功能。因此,和服务器内数据流动类似,也要经过文件系统、卷管理,以及HBA和其驱动。但是,在高端为了提高可靠性,在每个模块都加入了相关的功能,来避免出现单点故障,同时由于是针对存储的应用,所以管理的磁盘比较多,通常采用了RAID技术来提高数据存储的安全性。


    在采用一些比较常用的操作系统做NAS时,要注意这些OS的漏洞,否则就会出现NAS机器中病毒的事情。


    数据在ARRAY(SAN环境)中的秘密


    当服务器向SAN存储网络中的阵列发送Block请求时,数据就会通过存储网络导向器(Director)或者交换机(Switch)传递,并最终到达存储阵列(Array)。



图-4 数据在Array中流动通路


    比起NAS,SAN环境中的阵列多应用在高端,所以更显其高贵血统。从而,对于普通用户来说,神秘的面纱更是像千层饼一样,剥了一层又一层。其实,和NAS类似,阵列一样也是专门为存储设计的服务系统,它们之间最大的差别就是,阵列提供给外面的是基于控制器的Block请求,而NAS则是基于文件系统的请求。


    因此,阵列的操作系统会更加集中在I/O处理性能、Cache的管理、以及对于下层卷和LUN的管理;在阵列里面,由于其数据通路主要集中在块级模块的设计中,为了提高该通路上的安全性,所以在块流经的路径上,都增加了冗余路径,比如双控制器、带电池支持的Cache、阵列内建的基于卷上快照功能、以及磁盘的RAID功能。


    数据的安全和存储必将融合


    目前,从国内市场的情况来看,存储领域安全产品的应用状况并不理想,归纳起来,影响因素主要有如下几个方面:


    a) 用户需求并不十分迫切。在用户的存储环境中,把存储网络看作是第二网,并且默认它是安全的,与用户最关心的可靠性、可用性、高性能等方面比较起来,安全性需求则显得微不足道。
    b) 某些安全功能的实现会造成系统性能的下降。为存储的数据增加安全性是件好事,但是,加密会影响备份客户端的性能,专家分析幅度通常在30%~50%之间。在没有加密的任务之前,影响用户备份速度的事情就已经够多的了,因此用户根本不希望在提升安全性的同时影响到关键的应用性能。此外,一旦对数据进行加密,便无法进行压缩,这样用户等于把磁带的平均容量减去了一半。
    c) 成本是不可忽略的。即使部署某些安全功能对系统性能不会产生影响,成本也是不得不考虑的因素。举个例子来说,在用户构建一套SAN网络设备时,如果在安全方面配备齐全,那么用户需要额外支付的费用基本上与构建同样一套网络的费用相当。
    d) 部署某些安全功能可能需要中断应用。如今用户能够承担的停机时间越来越少,不会因为部署某些安全功能特意中断在线应用。


    尽管如此,从最近的存储行业的并购潮流,如Symantec并购Veritas,EMC收购RSA,以及NetApp收购Decru,甚至连介质厂商希捷都加入了DriveTrust技术来增强数据安全性,可见越来越多的存储厂商都在将安全技术结合到存储产品之中。


    随着数据的重要性越来越受到大家的重视,而数据丢失或者被窃取将会带来不可估量的损失,甚至已经通过立法来加强电子数据的安全性。其中,数据在流动的安全漏洞和可靠性也越来越突出,数据在传输安全和存储安全已经得到广泛地共识。可以相信,在数据流动的漫漫长路中,存储和安全必然结合,这是数据的最终归宿。


    本文节选自《信息存储》杂志2006年度特刊,点击此处浏览全部文章。
    想要免费申请订阅《信息存储》杂志,请点击此处。