一、业务连续性规划(Business continuity planning)
业务连续性规划(Business continuity planing或BCP)是网络安全行业的核心职责之一。业务连续性工作是一系列活动的集合,目的在使企业在面对困境时保持运转。而这种困境可能是小规模的事件,如单一的系统故障或灾难性的事件,如地震或龙卷风。业务连续性的重点是保持业务运行。正因为如此,业务连续性规划有时被称为Continuity of operations planning或COOP。
业务连续性是一个核心安全概念,因为它是支持可用性这一安全目标的主要控制手段。这是信息安全的三大目标之一,即保密性、完整性和可用性。
当一个组织开始业务连续性工作时,很容易被项目必须考虑的许多可能的情景和控制措施所淹没。出于这个原因,制定业务连续性计划的团队应该在前期花时间仔细界定他们的范围。他们应该回答这样的问题:该计划将涵盖哪些业务活动?该计划将涵盖什么类型的系统?它将考虑哪些类型的控制?这些问题的答案将有助于在接下来的工作中做出关键的优先次序决定。
连续性规划者使用一种被称为业务影响评估(Business Impact Assessment或BIA)的工具来帮助做出这些决定。BIA是一种使用定量或定性(quantitative or qualitative) 过程的风险评估。它首先确定组织的任务、基本功能,然后向后追踪,以确定支持这些流程的关键IT系统。一旦规划者确定了受影响的IT系统,他们就会确定这些系统的潜在风险并进行风险评估。BIA的结果是一个可能破坏组织业务的风险的优先列表,如下图所示:
规划者可以使用这些信息来帮助选择控制措施,在可接受的费用范围内减轻组织面临的风险。例如,注意这个方案中的风险是按照预期损失的降序排列的。将最高优先级放在解决列表中最重要的风险上是有道理的,即飓风对数据中心的破坏,但组织必须对控制的实施做出决定,并考虑成本因素。例如,如果一个5万美元的防洪系统可以将数据中心遭受飓风破坏的风险降低50%,那么购买该系统可能是一个好的决定,因为它的预期投资回报期不到一年。在以云为中心的环境中,业务连续性规划成为云服务提供商和客户之间的合作。例如,飓风破坏数据中心的风险可以通过服务提供商建立防洪系统来缓解,但也可以通过客户选择跨数据中心、可用区和地理区域复制服务来缓解。
二、业务连续性控制(Business continuity control)
业务连续性专业人员拥有各种工具,可以帮助补救潜在的可用性问题。IT专业人员保护系统可用性的关键方法之一是确保它们是冗余(Redundancy) 的。这简单地意味着,它们的设计方式是一个单一组件的故障不会导致整个系统的瘫痪。面对一个可预测的故障,业务可以继续。
单点故障分析过程(The single point of failure analysis process) 为安全专业人员提供了一种机制,以识别和消除他们系统中的单点故障。让我们看一个例子,我们有一个简单的基于网络的应用程序,一个由防火墙保护并连接到互联网的网络服务器。
当我们进行单点故障分析时,我们可能首先注意到,网络服务器本身就是一个单点故障。如果该服务器出现任何问题,网络服务将停止运作。我们可以用一个由服务器组成的集群来取代单一的网络服务器,这些服务器都被设计成提供相同的网络服务,从而纠正这种情况。集群的设计是这样的:如果一台服务器发生故障,其他服务器将继续提供服务而不会中断。一旦我们实现了集群,我们就消除了服务器这个单点故障。
接下来,我们可以把注意力转向防火墙,这是另一个单点故障。如果防火墙发生故障,互联网用户将无法到达网络服务器,导致网络服务不可用。因此,防火墙也是一个单点故障。我们可以通过用一对高可用性防火墙取代防火墙来纠正这种情况,其中一个防火墙作为备份设备,在主防火墙发生故障时立即介入,随时待命。通过用一对高可用性防火墙取代单一防火墙,就消除了防火墙这个单点故障。
但我们还有另一个单点故障,即内部和外部网络连接。与网络服务器和防火墙一样,我们可以通过引入冗余和为每个链接提供两个单独的网络连接来解决这个单点故障。如果一个出现故障,服务可以继续通过另一个运行。
这种单点故障分析可能会继续下去,识别和补救问题,直到团队不再发现新的问题,或者处理问题的成本超过了潜在的利益。这种单点故障分析是一个组织的运营连续性规划工作的重要组成部分。组织还应该考虑其IT运营所面临的其他风险。在进行IT应急计划时,他们不仅应该考虑单点故障,还应该考虑可能危及业务连续性的所有其他情况。例如,这些情况可能包括关键供应商的突然破产、无法提供业务所需的计算或存储容量、公用业务服务故障,以及IT管理层认为可能破坏业务的任何其他风险。
业务连续性计划的最后一个组成部分常常被忽视,那就是人员继任计划(business continuity planning)。IT部门依赖于开发、配置和维护系统和流程的高技能团队成员。IT领导层应与我们的人力资源部门合作,确定对持续运营至关重要的团队成员,并确定这些职位的潜在继任者。这样,当有人离开组织时,管理层已经考虑到了潜在的替代者,并希望为这些继任者提供他们所需的专业发展机会,以取代即将离开的员工的位置。
三、高可用性和容错性(High availability and fault tolerance)
有两个关键的技术概念可以提高系统的可用性:
1.高可用性(High Availability)
高可用性(High Availability)又称HA,使用多个系统来防止故障的发生。高可用性技术就像上面讨论的一样,有一个网络服务器集群,即使一个服务器发生故障也能继续运行,这是一个例子,另一个例子是使用一对防火墙,其中一个被指定为备份。高可用性的核心概念是拥有操作上的冗余系统,有时在不同的地点。将系统放置在不同的地点,这种地理上的分散可以保护你免受设施的损害。
2.故障容错(Fault Tolerance)
故障容错(Fault Tolerance)或FT,有助于保护一个单一的系统,使其在面对技术故障时有弹性,从而避免首先发生故障。但有一点要注意,负载分担(Load Balancing)是一个相关的,但不同的概念。负载分担使用多个系统,试图将提供服务的负担分散到这些系统中,提供一个可扩展的计算环境。虽然它们使用类似的技术,但负载分担和高可用性是不同的目标。大多数集群和类似技术的实现都是为了实现高可用性和负载分担,但也有可能二者缺一不可。
计算机系统中最常见的三个故障点是设备电源、存储介质和网络。容错控制可以防止系统失效,即使这些组件中的一个完全失效。
-
电源包含移动部件,因此是常见的故障点。如果电源发生故障,其结果可能是灾难性的。出于这个原因,服务器制造商通常在他们的服务器中建立双电源。当客户安装服务器时,他们将两个电源都连接到一个电源上。这样,如果一个电源出现故障,另一个电源可以继续为服务器供电而不中断运行。为了增加冗余,拥有两个独立电源的数据中心可以将每个电源连接到不同的电源上,他们可以使用不间断电源(Uninterruptible power sipplies)或UPS,在短暂中断的情况下为系统提供电池电源。这些电源也可以由发电机提供长期备用电源。管理型配电装置(Managed power distribution units)或PDU,致力于管理服务器机架内的电源,确保提供给设备的电源是清洁和正常运行的。
-
许多容错工作的第二个重点是防止单一存储设备的故障。他们通过使用一种被称为RAID的技术来实现这一目标,RAID是指廉价磁盘冗余阵列(Redundant Arrays of Inexpensive Disks)。RAID有许多不同的形式,但每一种形式都是通过拥有超过业务需求的磁盘来提供冗余。让我们来看看两种RAID技术,Mirroring和Stripping。被称为RAID1的最基本的RAID形式是Mirroring镜像。在这种方法中,服务器包含两个磁盘,每个磁盘都有相同的内容,当系统向一个磁盘写入任何数据时,它会自动向另一个磁盘做出同样的改变,将其作为主磁盘的同步拷贝或镜像。如果主磁盘发生故障,系统可以自动切换到备份磁盘并继续运行。
第二种主要的RAID技术是带有奇偶校验的磁盘条Stripping,也被称为RAID5:
在这种方法中,系统包含三个或更多的磁盘,并在所有这些磁盘上写入数据,但它也包括额外的数据元素,即分布在各磁盘上的奇偶校验块。如果其中一个磁盘发生故障,系统可以使用奇偶校验信息重新生成该磁盘的内容。但有一件重要的事情要记住,RAID是一种容错策略,目的是防止单一磁盘故障。它不是一种备份策略,我们仍然应该定期进行数据备份,以便在发生灾难性故障时保护自己的组织的信息,例如整个服务器的物理破坏。 -
网络也可能是一个单点故障。出于这个原因,组织应该考虑在网络的不同点实施冗余。这包括让多个互联网服务提供商进入一个设施,以及在关键服务器中使用双网络接口卡,类似于我们使用多个电源的方式。使用两个或更多的网络接口卡被称为网卡组。在一个网络内,也要为关键的网络路径增加冗余。例如,服务器和其存储之间的连接对数据中心的运作至关重要。在一个网络中,也要为关键的网络路径增加冗余。例如,服务器和其存储之间的连接对数据中心的运作至关重要。多路径方法在这些网络连接中创建了冗余,并在短时间内持续访问存储。最后,在更高的层面上,考虑尽可能为我们的环境增加多样性,以避免冗余元素,或在同一时刻成为同一缺陷的受害者。使用来自不同供应商的不同技术,以避免一种技术或供应商的出现故障对我们的环境造成严重影响。我们也应该考虑使密码学和其他安全控制多样化。