在边缘生活:确保网络边界安全

日期: 2008-09-10 作者:Michael Cobb翻译:张艳丽 来源:TechTarget中国 英文

Internet是一个无边界的网络环境。它没有中心管理控制,也没有统一的安全策略。尽管尽最大努力,再多的加固措施也不能保证一个连接到无边界网络的系统面对攻击能够无懈可击。Internet上的一个Web服务器是公开使用的,因此一个网络基础构件必须在保护网站和其他IT资产中起作用。

无懈可击的安全是不可能的,所以不要陷入试图达到这个目标的陷阱中。你必须致力于在成本效率、常识和适当安全之间建立一个平衡。安全就是确保系统尽管面对干扰,也能够传输基本服务并维持基本属性,比如:完整性,保密性和性能,换句话说,就是面对不利环境的可靠性。   为了能够传输基本服务,一个“可靠”系统必须满足四个重要属性: 1.&……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Internet是一个无边界的网络环境。它没有中心管理控制,也没有统一的安全策略。尽管尽最大努力,再多的加固措施也不能保证一个连接到无边界网络的系统面对攻击能够无懈可击。Internet上的一个Web服务器是公开使用的,因此一个网络基础构件必须在保护网站和其他IT资产中起作用。无懈可击的安全是不可能的,所以不要陷入试图达到这个目标的陷阱中。你必须致力于在成本效率、常识和适当安全之间建立一个平衡。安全就是确保系统尽管面对干扰,也能够传输基本服务并维持基本属性,比如:完整性,保密性和性能,换句话说,就是面对不利环境的可靠性。

  为了能够传输基本服务,一个“可靠”系统必须满足四个重要属性:

1. 抵抗攻击
2. 识别攻击和损害的程度
3. 在受到攻击后能够恢复全部和基本服务
4. 自动调节以减少未来攻击的效力

  在这里,我们一起来看看抵抗攻击的策略。

  关于Web安全结构的概述

  当计划一个基于Web的服务时,你必须完全理解什么需要被保护。因此,保证安全的过程应是一个有组织的,而不是一个纯粹的IT过程。一旦你的公司已经为每一个服务定义了它的可接受服务和安全的最低限度水平,计划Web安全体系结构的任务就能开始了。决不要使用一个完全“扁平”网络设计,这种网络中所有设备直接互相连接,因为你必须要避免黑客获得访问你的Web服务器的权利,并发现你的整个网络是大开着的。

  网络布局应该确保某一层次的保护失败不会导致一连串的威胁。实行深度防御,使用包括防火墙、具有数据包过滤功能的边界路由器和入侵检测系统(IDSes)的多重安全设备。用划分网络拓扑结构来进一步保护Web服务资源,可以减少威害的范围并节省反应时间。这是通过将系统划分为通过可信任边界界限的可信任区域,并把资源放在合适的区域来实现的。在你的网站防御中最外面的屏蔽是一个安全网络边界或者隔离区(DMZ)。

  隔离和控制—DMZs

  一个网络DMZ通过建立一个过滤子网,将可信任网络和不可信任网络分离并隔离出来。通过将系统划分为不同的子网,并在信任区域中间级建立DMZ,系统可以具备更强大的能力来抵抗连续威胁。这样,即使其他组件失败,也能保护重要资源。DMZ的工作原理是,除非网络流量被路由转发,否则两个子网之间无法进行直接传输。

  你的Web服务器、FTP服务器、邮件服务器和外部DNS服务器应该部署再DMZ,其他额外的网络防御系统,例如IDS,也应该放在其中。通过将这些公共服务器放在DMZ内,就是将它们放在了一个和你的内部网络不同的子网内。你的内部网络是你的后端系统比如数据库服务器应该放置的地方。虽然放在DMZ内的机器仍然存在风险,但是如果入侵者破坏DMZ,他不会自动获得内部网络的访问权。

  DMZ的每个接入访问点都会阻拦和过滤网络通信,仅允许通过某特定端口、来自或者发向某些特定网络地址的通信通过。应该极度小心以与DMZ之间的交互不要暴露内部网络。每一个子网之间的屏障是通过防火墙和路由器来进行控制和筛选的,通过访问控制列表、强壮的身份认证机和加密来加以保护。在DMZ的安全方面,最理想的方法是将每个服务放在它自己的DMZ,配置防火墙策略以满足每个服务器的需要。

  网络结构

  我们来看一下两种DMZ的网络结构。第一种是三宿主边界网络,适合于不连接到关键内部网络的低预算网站;第二种是背靠背边界网络,适用于电子商务和其他任务关键型的网站。

  三宿主边界网络(triple-homed perimeter network)

  这个拓扑结构只用一个防火墙来分隔Internet、边界网络和公司内部网络。它又被称为单屏蔽子网,因为DMZ仅由一个单独的有三个网卡的防火墙界定:一个网卡连接到Internet,一个连接到DMZ,一个连接到公司内部网络(如下图图1所示)。这个网络结构的不足之处是有存在单点失效问题。当端口通过由唯一防火墙防护的边界开放时,边界安全不可避免地减弱。一旦入侵者入侵了本拓扑结构中的防火墙,就能访问DMZ和公司内部网络的服务器。

三宿主边界网络

图1:三宿主边界网络

  注意这个拓扑结构特意标明了在Internet和DMZ之间使用了一个安全路由器。在这个路由器上的端口应该被锁定。为保证Web服务器正常运行,有的端口通常需要保持开放,典型的例子就是HTTP使用的80端口和HTTPS使用的443端口。

  背靠背边界网络

  如图2所示的背靠背边界网络拓扑结构被公认为是最安全的拓扑结构之一。DMZ使用两个防火墙,边界网络一边与Internet分离,另一边与内部网络分离。每个防火墙有两个网络适配器。外部防火墙的一个网络适配器连接到Internet,另一个连接到边界网络。内部防火墙的一个网络适配器连接到边界网络,另一个连接到内部网络(如下图图2所示)。这提供了加层保护。如果从Internet攻击边界网络,入侵者不能自动获得内部网络资源的访问权限,因为在入侵者和其他网络之间还有另一层屏蔽。

背靠背边界网络

图2:使用两个防火墙的双屏蔽子网或背靠背边界网络

  注意,在该结构中,增加了另一个安全路由器,用于将组成边界网络的网络部分分开。虽然锁定这个路由器没有锁定连接到Internet上的路由器那么重要,但是确保非必须端口关闭将增强安全性。

  外部防火墙负责抵御外部攻击,并管理所有从Internet访问DMZ的权限。内部防火墙负责管理所有从DMZ访问内部网络的权限。该防火墙应该有不同于面向Internet防火墙的规则设置,只能允许来自外部的、特定的应用服务请求可以进入特定的系统,并且阻止通过80端口从外部进入、未经许可的Web流量访问内部网络。换句话说,只有来自DMZ服务器、必须与内部系统进行交流的流量,才可以获得防火墙的许可通行。例如,如果一个Web服务器要通过SQL访问数据库,可以开放防火墙内的TCP端口来传递SQL请求和应答,其他的都予以屏蔽。在DMZ的两侧都设置防火墙,进一步增强了系统的安全性。黑客很少能够利用同一个漏洞攻入两个系统。

  当出于安全目的划分一个网络时,总是选择物理划分。虚拟局域网(VLAN)是一种用交换机逻辑定义和控制的网络划分。这个交换机能将它的端口分配给两个或者更多个VLAN部分使用,而不是让它的所有端口都属于同一个物理部分。虽然这减少了购买多个交换机的花费,但这样划分的网段是虚拟的,可以被删除,而且交换机提供的安全机制很容易被规避。

  抵抗失败

  为了提供连续保护,安全必须在体系结构、协议和应用层被理解和实现。只有理解所有这些因素才你才能够构建和维持一个具有抵御攻击能力的系统。牢记当设计你的网络体系结构时它的安全性是同时基于协议和拓扑结构的。对于任一个穿过一个可信任边界的通信必须给给予特别关注。

  一旦你建立了一个网络边界,你必须测试以证明路由、数据包过滤、日志和警示功能都如期望的一样运行。你可以参考CERT.org网站上的“CERT安全提高模块”部分提供的一篇有关防火墙测试的优秀文档  (http://www.cert.org/security-improvement/practices/p060.html.)。

  使用加密技术

  你的网站和浏览器之间未加密的连接基本上是公开的。这不是一个问题——如果你的站点上没有什么是机密的。但是如果你希望提供专有信息或者接受在线订单,那么当在服务器和浏览器之间传输数据时,你必须保护数据。加密技术能够对数据等提供额外的防御层,并且在可信任边界传输时提供保护。加密技术能够用来支持用户身份认证、文件数据存储和在网络上的通信。例如,Windows NTFS文件加密能够用来增加服务器对高机密文件的访问控制权。不过,当文件加密运用于网站时,通常是出于某一特定应用目的,对数据的特定部分进行加密,例如在一个客户数据库中保护信用卡卡号。加密技术在网站中最普通和实际的应用就是当通过网络发送一些敏感信息到浏览器时,采用SSL/TLS对其加密。SSL和TLS协议提供非常复杂的加密技术。

  SSL,数字证书和公共密钥基础设施

  SSL加密技术是在一次性session密码经过公共密钥加密安全交换之后,通过一个对称密码实现的。公共密钥加密技术是RSA,默认的对称密码是RC-4。另外,所有通过加密连接传送的数据通过一个机械装置保护,这个装置通过检测在传输过程中是否有数据被改变来侦探干扰。SSL能和数字证书联合起来认证一个网站。一个数字证书是一个数字文件,它保证一个个体或计算机系统的身份。为了安全发行,维持和管理数字证书所需要的一系列产品和过程叫做公共密钥基础设施(PKI)。PKI其中一个组件是证书认证机构(CA),它是运作证书服务器和发行证书的。CA负责在发行证书之前核实个体或者公司的身份和密码。

  如果你运行电子商务网站或者允许用户通过网站访问机密信息,你必须用数字证书和SSL/TLS协议来加密通信信息。浏览器通过将证书的签名和安装在浏览器上的CA根证书的公共密钥进行比较,来认证安装在网站上的数字证书。这样,浏览器就验证了该站点属于它所声称代表的公司。你能从一个商业CA购买证书,例如Verisign,或者你可以选择利用类似微软证书服务器(Microsoft Certificate Server)之类的产品来充任你自己的证书认证机构。

  你服务器的数字证书允许用户认证你的服务器,但是如果你需要认证访问你的站点的服务器,该怎么办呢?Internet信息服务器(IIS)让你选择怎样处理访问者提供的证书。你能用客户端证书来认证和阻止那些没有合法证书的用户访问你站点的安全内容。你也能将客户端证书映射到你的Web服务器上的Windows用户帐户。如果你能使用这个映射,那么每次一个用户用客户端证书登录时,你的Web服务器自动的将这个用户和合适的Windows用户帐户联系起来。利用这个特点,你能自动地认证那些用客户端证书登录的用户,而不必使用基本的,消息消化或者综合Windows认证。

  使用IIS安全通信

  为了配置IIS来处理加密session,你需要:

? 当你申请一张证书时在IIS内创建一个公共密钥并提交给CA
? 向CA申请一张服务器证书
? 安装证书
? 配置你想使其安全的目录和页面

  通过商业CA的网站申请证书。一旦安装好证书装,就需要完成剩下的SSL/TLS配置。为了正确地进行配置,你需要字写考虑你站点的架构。大多数网站,即使使用加密技术,还是会有一个没有加密的部分,因为加密每一个Web页面花费特别大。大多数公司将市场产品、联系信息和其它想易于公众访问到的信息,单独放在没有加密的目录。为机密访问的内容创建一个单独的目录,或者为非常敏感的交易创建一个不同的站点,并只对这些信息进行加密。

  IIS目录加密技术的工作方式和Windows 2000/2003目录加密技术是不同的。在Windows中,信息被加密在磁盘上。但是这用在高容量网站上并不实际,因为加密所有站点的数据会使即使是最强大的服务器也崩溃。相较而言,SSL/TLS则是当信息通过网络传送到浏览器客户端时加密信息的。为了确保你的站点安全,你不能用少于128位的密码。

  当出错时怎样保护你自己

  安全不仅依赖于它的计算机安全专家的专业知识,也同样依赖于一个公司的风险管理技巧。任何危害基于Web服务安全的行为,都对公司的生存能力有严重的影响,其后果比原因更重要。即使系统受到高度保护,你也必须制订合适的应急措施和风险缓解策略,在公司受攻击后,能够保护公司的安全。应急计划需要行政主管根据相关部门对公司遭受攻击的假设分析,来进行风险管理决定并权衡经济损失。同时,参考具有可比性的项目和目前的最优方案,完成对潜在威胁和可能的对策措施的复核。当工作中遇到挑战时,这将有助于每个人对安全作出正确的决定。通过记录这些工作,你就可以创建一份实现商业、法律和实用功能的文档——预期防护标准(Standard of Due Care)。

  预期防护标准

  预期防护标准(SDC)为信息安全决策提供了一致统一的基础。该文档应该将可生存性和抗故障能力纳入你的系统设计中,因为这决定了安全方法中的许多变量,反映了商业的类型、威胁的等级,公司的风险承受力等等。为系统制定了预期防护标准的公司能更好地论证安全决策后的逻辑,在面对指责或面临起诉时具有充分的理由证明其合理性。公司将具备坚实的防御来反击任何有关公司不具备保护系统以及处理数据能力的声称。

  IIS SSL部署准备列表

?       为数字证书选定信任策略和身份认证方式。
?       选择一个商业CA,或配置自我管理证书服务器。
?       建立证书签发请求(CSR),在你需要证书时发送CSR到 CA中心,然后在“IIS Internet服务管理器”中创建公共密钥。
?       访问证书请求的URL,填写证书请求申请书,从而从 CA中心获取服务器证书。
?       按照CA中心回应书中的说明设置Web服务器证书。
?       按以下步骤,设置需要保护的目录和页面:

设置你的网站属性,使用端口443(或者你自己选择的其他端口)用于SSL/TL
从“目录安全”标签页,进入“安全通信”窗口,设置属性,获取128位的SSL。
明确是否希望通过数字证书要求客户端进行身份认证,在“安全通信”窗口选择合适选项。

相关推荐