1.2 边界安全模型的演进
本书提到的传统安全架构通常是指“边界安全模型”。该模型的基本思想与物理世界中通过修建城墙来保护城堡一样,是通过构建层层防线来保护网络中的敏感资源。入侵者必须穿透这些防线,才能够访问敏感资源。遗憾的是,这种做法在计算机网络场景下存在根本性的缺陷,实质上无法保证敏感资源的安全性。为了充分理解这种缺陷,有必要回顾一下边界安全模型出现的原因及其发展历程。
1.2.1 管理全球IP地址空间
导致边界安全模型出现的原因要从互联网的IP地址分配开始说起。在互联网发展的早期,越来越多的网络连接在一起。在那个年代,互联网还没有大规模普及,一个网络可能是连接到互联网,也可能是与其他业务部门、公司或是某个研究机构的网络相连。当然,在任何IP网络中,IP地址都必须是唯一的。如果不同网络的运营者使用了重叠的IP地址空间,那么他们必须花费很大的力气进行修改。如果正在连接的网络恰好是互联网,那么IP地址必须是全球唯一的。很显然,网络的IP地址分配必须通过统一的协调。
互联网号码分配机构(Internet Assigned Numbers Authority, IANA)于1998年正式成立,直到今天IANA仍然是IP地址分配的协调机构。在IANA成立之前, IP地址分配和协调的职责是由Jon Postel来承担的,他绘制了如图1-3所示的互联网地图。Jon是IP地址所有权记录的权威来源,如果你想确保自己的IP地址是全球唯一的,那么就需要到他这里注册。在那个时代,即使网络暂时不需要连接到互联网,也鼓励人们为其注册IP地址,因为说不定哪天这个网络就会连接到另一个网络。
图1-3 Jon Postel于1982年2月绘制的互联网早期地图
1.2.2 私有IP地址空间的诞生
20世纪80年代末和20世纪90年代初,随着IP网络技术的应用范围越来越广,随意使用IP地址空间成为一个严重的问题。许多网络虽然事实上与互联网隔离,但是却有很大的IP地址空间需求,连接ATM的网络、连接大型机场航班信息显示屏的网络等,都是典型的例子。出于各种原因,这些网络的确需要与互联网隔离,有的设备因为需要满足安全或隐私的要求而与互联网隔离(如ATM);有的设备功能非常有限,通过网络大规模地连接起来意义不大(如机场的航班信息显示屏)。于是,私有互联网地址分配标准——RFC 1597诞生了,其目的是解决大量公共IP地址空间的浪费问题。
1994年3月,RFC 1597宣布IANA为私有网络保留3个IP地址范围:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16。这样可以确保大型私有网络的地址空间不会超出分配的范围,从而减缓公共IP地址空间的消耗,也使得网络运营者能够在适当的时候使用非全球唯一的IP地址。此外,私有IP地址空间的使用还产生了另外一个效果,而且直到今天仍然在发挥作用——使用私有地址空间的网络更加安全,因为这些网络无法连接到其他网络,特别是连接到互联网。
在那个年代,连接到互联网的组织相对来说比较少,因此,内部网络经常使用保留的私有网络地址空间。另外,网络的安全防护措施也非常弱,甚至完全没有,因为这些网络在物理上通常位于一个组织的内部,攻击者很难接触到。
1.2.3 私有网络连接到公共网络
互联网应用的发展非常迅速,很快大多数组织都希望以某种方式出现在互联网上。电子邮件就是较早的互联网应用之一。人们希望能够发送和接收电子邮件,这就意味着他们需要一个可公开访问的邮件服务器,也意味着他们需要以某种方式连接到互联网。
私有网络中的邮件服务器一般情况下是唯一连接到互联网的服务器,它通常有两个网络接口,一个连接互联网,一个连接内部网络。通过连接到互联网的邮件服务器,私有网络内部的系统和人员就能够发送和接收互联网电子邮件。
人们很快意识到,这些服务器实际上开辟了一条物理通道,把互联网和安全的私有网络连接了起来。如果攻击者攻陷其中一台服务器,那么他就能够进入私有网络,因为私有网络中的主机与连接互联网的服务器之间是连通的。因此,出于安全的考虑,需要严格检查这些服务器及其网络连接。于是,网络运营者在这些服务器的两侧部署了防火墙,用于控制网络通信,阻止潜在的攻击者从互联网访问内部网络的主机,如图1-4所示。发展到这一步,边界安全模型就诞生了。内部网络变成了“安全”的网络,受到严格控制的服务器所部署的位置成为DMZ,即隔离区。
图1-4 互联网和私有资源都可以访问隔离区中的主机,但是私有资源的网络访问不能超出隔离区,因此不能直接访问互联网
1.2.4 NAT的诞生
由于需要从内部网络访问的互联网资源数量快速增长,因此,给内部网络资源赋予访问互联网的权限,要比为每个应用维护代理主机更加容易。NAT(网络地址转换)能够很好地解决这个问题。
RFC 1631为网络设备定义了一个标准,使其能够在组织的网络边界执行IP地址转换。通过维护一张公共IP/端口与私有IP/端口的映射关系表,NAT设备能够使私有网络中的设备访问任意的互联网资源。这种轻量级的映射关系与应用程序无关,也就是说,网络运营者不再为每个应用程序单独配置互联网连接,而只需要支持私有网络的通用互联网连接即可。
NAT设备有一个很有趣的特性:因为IP地址映射关系是多对一的,所以源自互联网的连接无法访问内部的私有IP地址,除非事先在NAT设备上进行专门的配置来处理这种特殊情况。因此,NAT设备具有与状态检测防火墙相似的特性。事实上,防火墙设备也很快开始集成NAT功能,这两个功能合二为一,基本上无法区分。这类设备既能支持网络的连通功能,又能支持严格的安全控制,因此很快得到广泛应用,几乎每个组织的网络边界上都部署了防火墙设备,如图1-5所示。
图1-5 简化后的典型的边界防火墙架构设计
1.2.5 现代边界安全模型
通过在内部网络和互联网之间部署防火墙/ NAT设备,能够清晰地划分安全区域,包括组织内部的“安全”区、隔离区和不可信区域(互联网)。如果一个组织的网络需要与另一个组织的网络互连,则只需要在两个组织网络的边界处部署防火墙/NAT设备,这样另一个组织的网络就成为一个新的安全区域。然后,就像隔离区或安全区一样,可以在边界防火墙设备上配置特定的规则,规定不同区域之间允许或禁止哪种类型的网络流量通过。
回顾过去,可以看到很明显的进步。我们从离线/私有网络中只有个别主机能够连接互联网,发展到通过在网络边界部署安全设备来建立高度互联的网络。这种进步并不难理解,网络运营者出于各种商业目的,必须让内部网络中的服务器对互联网敞开大门,但是他们又不想失去私有网络的安全性,而防火墙/NAT设备能够在网络边界进行严密的安全控制,极大地降低了安全风险。