DMZ的构建与原理
一 什么是DMZ
DMZ(Demilitarized Zone)即俗称的非军事区,与军事区和信任区相对应,作用是把WEB,E-mail等允许外部访问的服务器单独接在该区端口,使整个需要保护的内部网络接在信任区端口后,不允许任何访问,实现内外网分离,达到用户需求。DMZ可以理解为一个不同于外网或内网的特殊网络区域,DMZ内通常放置一些不含机密信息的公用服务器,比如Web、Mail、FTP等。这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等,即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。
二 为什么需要DMZ
在实际的运用中,某些主机需要对外提供服务,为了更好地提供服务,同时又要有效地保护内部网络的安全,将这些需要对外开放的主机与内部的众多网络设备分隔开来,根据不同的需要,有针对性地采取相应的隔离措施,这样便能在对外提供友好的服务的同时最大限度地保护了内部网络。针对不同资源提供不同安全级别的保护,可以构建一个DMZ区域,DMZ可以为主机环境提供网络级的保护,能减少为不信任客户提供服务而引发的危险,是放置公共信息的最佳位置。在一个非DMZ系统中,内部网络和主机的安全通常并不如人们想象的那样坚固,提供给Internet的服务产生了许多漏洞,使其他主机极易受到攻击。但是,通过配置DMZ,我们可以将需要保护的Web应用程序服务器和数据库系统放在内网中,把没有包含敏感数据、担当代理数据访问职责的主机放置于DMZ中,这样就为应用系统安全提供了保障。DMZ使包含重要数据的内部系统免于直接暴露给外部网络而受到攻击,攻击者即使初步入侵成功,还要面临DMZ设置的新的障碍。
三 DMZ网络访问控制策略
当规划一个拥有DMZ的网络时候,我们可以明确各个网络之间的访问关系,可以确定以下六条访问控制策略。
1.内网可以访问外网
内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。
2.内网可以访问DMZ
此策略是为了方便内网用户使用和管理DMZ中的服务器。
3.外网不能访问内网
很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。
4.外网可以访问DMZ
DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
5.DMZ不能访问内网
很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。
6.DMZ不能访问外网
此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。在网络中,非军事区(DMZ)是指为不信任系统提供服务的孤立网段,其目的是把敏感的内部网络和其他提供访问服务的网络分开,阻止内网和外网直接通信,以保证内网安全。
四 DMZ服务配置
DMZ提供的服务是经过了地址转换(NAT)和受安全规则限制的,以达到隐蔽真实地址、控制访问的功能。首先要根据将要提供的服务和安全策略建立一个清晰的网络拓扑,确定DMZ区应用服务器的IP和端口号以及数据流向。通常网络通信流向为禁止外网区与内网区直接通信,DMZ区既可与外网区进行通信,也可以与内网区进行通信,受安全规则限制。
1 地址转换
DMZ区服务器与内网区、外网区的通信是经过网络地址转换(NAT)实现的。网络地址转换用于将一个地址域(如专用Intranet)映射到另一个地址域(如Internet),以达到隐藏专用网络的目的。DMZ区服务器对内服务时映射成内网地址,对外服务时映射成外网地址。采用静态映射配置网络地址转换时,服务用IP和真实IP要一一映射,源地址转换和目的地址转换都必须要有。
2 DMZ安全规则制定
安全规则集是安全策略的技术实现,一个可靠、高效的安全规则集是实现一个成功、安全的防火墙的非常关键的一步。如果防火墙规则集配置错误,再好的防火墙也只是摆设。在建立规则集时必须注意规则次序,因为防火墙大多以顺序方式检查信息包,同样的规则,以不同的次序放置,可能会完全改变防火墙的运转情况。如果信息包经过每一条规则而没有发现匹配,这个信息包便会被拒绝。一般来说,通常的顺序是,较特殊的规则在前,较普通的规则在后,防止在找到一个特殊规则之前一个普通规则便被匹配,避免防火墙被配置错误。
DMZ安全规则指定了非军事区内的某一主机(IP地址)对应的安全策略。由于DMZ区内放置的服务器主机将提供公共服务,其地址是公开的,可以被外部网的用户访问,所以正确设置DMZ区安全规则对保证网络安全是十分重要的。
防火墙(FireWall)可以根据数据包的地址、协议和端口进行访问控制。它将每个连接作为一个数据流,通过规则表与连接表共同配合,对网络连接和会话的当前状态进行分析和监控。其用于过滤和监控的IP包信息主要有:源IP地址、目的IP地址、协议类型(IP、ICMP、TCP、UDP)、源TCP/UDP端口、目的TCP/UDP端口、ICMP报文类型域和代码域、碎片包和其他标志位(如SYN、ACK位)等。
为了让DMZ区的应用服务器能与内网中DB服务器(服务端口4004、使用TCP协议)通信,需增加DMZ区安全规则, 这样一个基于DMZ的安全应用服务便配置好了。其他的应用服务可根据安全策略逐个配置。
DMZ无疑是网络安全防御体系中重要组成部分,再加上入侵检测和基于主机的其他安全措施,将极大地提高公共服务及整个系统的安全性。