企业网络的安全设计是一项非常具有挑战性和艺术性的工作,它包括风险确定、模型设计、安全成本控制等等。本文将从几个关键点方面向读者介绍如何设计一个安全的企业网络。
确定可接受的风险
企业所有的信息系统都会导致企业风险,引入风险水平是否可以被接受最终是一个商业决策。风险的可接受水平取决于不同组织自身的风险承受能力。风险厌恶型的企业最终愿意接受较低的风险水平并在已有系统中需要更多的安全控制。管理层的风险承受能力是通过政策,程序,作业指导等方式传递给员工。一套完整的政策表达了管理层的风险偏好及其信息安全风险的容忍度,使员工在设计和保障新系统和网络时作出适当的决定。因此,基础设施的设计和配置成为那些政策文件得以执行的保障。
一些组织不愿意承担法律保护范围之内其他未知法律文书的更多风险。随着计算机信息和法律的迅速发展和变化,光美国的法律材料就有数百卷和数千个网页。这甚至没有考虑到跨国公司所面临的多个国家本土化操作问题。在政策的发展过程中政策将指导系统和网络的设计,管理应该花必要的时间和精力,以确定是否需要使用这些特殊的法律注意事项。
许多企业无意中违反某些法律,甚至还不知道(例如,存储信用卡号码不考虑支付卡行业的数据安全标准[PCI DSS],或存储病人数据未考虑健康保险流通与责任法案[HIPAA]的规定)修改实际控制应用后产生的剩余风险水平,因为,计划的控制措施可能无法解决在制定控制计划之前未明确的风险。
网络的安全性设计
安全性是网络设计中经常被忽视的一个部分,从头改造一个已有网络的安全设计代价可能很大并且难以实施。根据不同的信任程度和安全要求分隔资产应是任何新的项目在设计阶段的整体目标。将安全需求相似的资产整合在专门的区域,使得组织可以使用较少量的网络安全设备,如防火墙、***检测系统,保护和监控多个应用程序系统。
另外的网络设计影响因素包括预算,可用性的要求,网络的规模和范围,未来增长的预期,网络容量的要求,以及管理层的风险容忍度。例如,使用专用WAN链路进行远程办公比使用虚拟专用网络(×××)更可靠,但其成本更高,尤其是需要长距离覆盖。全冗余网络可以很容易地从故障中恢复,但硬件费用成倍增加,以及更多可用的路由路径,并难以保障网络流量的安全和隔离。
确定适当的安全设计策略时,一个重要但常常错过或不考虑的因素是确定如何使用网络以及期望它支持哪些业务。良好的设计有助于在网络建设完成后避免昂贵和困难的网络改造。以下是几个关键的网络设计策略。
网络设计模型
为了更清晰的描述整体设计好坏是如何影响系统安全的,我们以购物商场和机场设计为例。在一个购物商场里,为了使进出尽可能的方便,设计了很多入口和出口。然而大量的出入口使得对商场出入控制的成本提高且难度加大。在各出入口都需要有安检措施,识别和阻止不受欢迎的人。此外,安检并非唯一的安全措施,在各种措施部署完成后,每种措施必须保持正确配置和更新,以确保未经授权的人无法随意通过商场。
相比商场来说,一个机场的设计旨在让所有乘客通过少量且严格的检查站接受检查。购物中心的网络设计模型本质上比机场周围网络的设计模型难以设计。有大量互联的网络安全设计本质上难度更大,因为有大量访问控制机制(诸如防火墙)必须部署和维护。
机场的设计并不仅仅考虑在一个航站楼内对旅客的检查。总的来说,机场采用高度分区分域的设计,有人需要通过任意两个区域都需要进行安全检查。并非所有的检查都是显式的,一些监控手段是被动的,包括摄像头和机场便衣警员。在主要的航站楼和门区以及门区和飞机之间有显式的检查点,在机场内部同样有安检措施,机场员工进入内部区域需要有特定的钥匙,如行李间和停机坪等区域。
一般大城市机场都有多个航站楼分流旅客,这样减少了安全问题在单个航站楼的影响面。这些更小、有更高的安全性的航站楼可以有更严格的安全检查,并可以满足旅客不同级别的安全需求。允许乘客用不同的安全要求,如政治家和囚犯可被安全隔离,降低了某些人群对其他人可能造成的安全风险。所有这些因素可以转化为网络设计思想,如通过防火墙和认证系统控制网络数据传输,利用网络隔离不同的敏感级别的网络数据,以及通过监测系统来检测未经授权的活动。
设计一个合适的网络
人们对网络总会有众多的需求和期望,如满足甚至超越组织对可用性和性能的要求,提供一个有利于保护网络敏感资产的平台,并能与其他网络高效和安全的互联。最重要的是,网络总体设计必须提供可扩展能力,支持将来对网络需求。正如之前对机场和购物商场的类比,整体网络设计会影响组织提供与该网络存在风险相称的安全防护水平的能力。
为了设计和维护一个符合用户需求的网络,网络架构师和工程师必须充分理解用户需要什么。最好的办法是让那些构架师和工程师参与应用开发的过程。尽早参与开发周期的全过程,工程师可以提出更安全的设计和网络拓扑,并能保证项目团队对安全考虑和能力有一个清晰的认识。此外,他们可以确保新项目能够更好的兼容现有的企业基础设施。
获得这类信息的一般方法包括与项目干系人、应用程序和系统所有者、开发者、管理层和用户会面。对于新项目的性能、安全性、可用性、预算和总体重要性,理解他们的期望和需求是十分重要的。充分理解这些因素将确保项目目标符合需求,并在设计中考虑合适的网络性能优化和安全控制机制。在网络实施过程中的一个最普遍的问题是由于假设的不同导致未满足预期的目标。这就是为什么预期应该尽可能多的分解成相互看得见的(可测量)尽可能多的事实,所以安全设计师要保证任何功能建议都有清晰易懂并且被签署的显式协议。
控制安全的成本
实施安全控制机制是需要费用的,包括购买、部署和运维等,并且实现这些系统的冗余方式会显著增加成本。为一个系统或网络考虑适当的冗余和安全控制机制时,可创建一系列负面场景如发生安全漏洞或系统停运,这有助于确定组织在每次事件所花费的成本。这种风险模型方法能够帮助管理者确定各种安全控制机制对于公司的价值所在。
例如,修复一个安全漏洞或在非工作日处理系统中断事件产生了哪些费用?一定要包括直接损失,例如销售损失、生产率降低、更换费用等,同时也要考虑间接损失,例如组织声誉受损、品牌力下降、客户信心下降等。根据预期损失的估算值,公司可确定合适的支出水平。例如,花费20万美元升级交易系统实现99.999%的可用性,也许表面上看起来过于昂贵,但如果系统宕机可能造成公司每小时25万美元的损失,这笔费用就显得微不足道了。
务必强调网络可用性
网络可用性要求系统具备一定的弹性,并可及时为用户提供服务(也就是当用户需要时即可用)。与可用性相对的概念是拒绝服务,也就是当用户需要时无法及时访问到资源。拒绝服务可以是故意的(例如,恶意的个人行为)或是意外的(如硬件或软件发生故障)。不可用系统使企业失去收入,降低员工的工作效率,而且还会以无形的方式(如消费者失去信心和负面宣传)使得组织遭受损失。业务可用性需求使得一些组织建立备份数据中心,进行系统和数据的实时镜像,实现故障切换,降低自然灾害或恐怖袭击摧毁他们唯一数据中心的风险。
根据具体的业务和风险因素,冗余往往会增加成本和复杂性。确定合适的可用性和冗余级别是一个重要的设计元素,这是由业务需求和资源可用性之间的平衡点所决定的。
确保可用性的最佳做法是在整个架构中避免单点故障。这可能需要在硬件、网络和应用程序功能提供冗余和故障切换的能力。完全冗余方案的部署和维护是非常昂贵的,因为随着故障切换机制数量的增加,系统的复杂性增加,这样会提高支持成本和故障排除的复杂程度。
应用程序的可用性应经过评估,以确定系统不可用对财务及业务的影响。执行这项评估将有助于管理层针对某个特定网络或应用程序,在故障切换机制、成本和复杂性之间找到最佳的平衡点。众多的安全设备厂商有故障切换机制解决方案,当主防火墙发生故障时,备份防火墙会承担相关的处理责任。除了防火墙,路由器也可以被部署为高可用性配置。
要了解需要哪种冗余,就要尽量确定业务正常运行多长时间后,可能出现故障。防火墙或路由器的冗余解决方案只是实现一个完整的高可用性网络构架的其中一步。例如,两个防火墙被接入到同一台交换机的时候,高可用性防火墙解决方案就没有价值,因为该交换机存在单点故障,在其正常运行过程中的任何中断都将使得防火墙中断,无法体现防火墙故障切换机制的价值。该问题同样适用于路由器,如果连接防火墙和其余网络之间只有一台路由器,那么该路由器的故障也会导致整个网络中断。
一个真正的高可用性设计将在交换机、网络、防火墙和应用程序层面上都采用冗余的硬件组件。在消除故障点时,一定要考虑所有可能的组件。你可能希望通过备用电池提供可靠的电源,通常称为不间断电源(UPS),甚至是一台应急发电机以应对可能的长时间中断的风险。设计师应考虑提供多个互联网服务供应商的互联网连接服务,以防止某个供应商网络出现问题时影响到组织。
今天的高可用性的设计在现代数据中心、网络和计算架构中已经达到很高的水平,从设施本身到运行于最终用户的应用程序。负载平衡器在保障网络服务的可用性和性能方面也发挥了重要作用。今天的应用交付技术正在被用于保障安全性和可用性。在某些情况下,企业已经完全摒弃了Web端,而是直接在应用交付控制器(ADC)上操作,它能提供优化的应用和网络性能。
转载于:https://blog.51cto.com/minshao/1432875