DMZ来源于“Demilitarized Zone(非军事区)”一词。在计算机安全中,DMZ或非军事区域(有时称为外围网络)是一个物理或逻辑子网络,它包含并将组织面向外部的服务暴露给不可信网络,通常是一个更大的网络,如Internet。 DMZ的目的是为组织的局域网(LAN)添加一个额外的安全层。 外部网络节点只能访问DMZ中暴露的内容,而组织的其余部分则被防火墙限制。 DMZ是位于互联网和专用网络之间的小型隔离网络。
从军事意义上讲,非军事区并不属于与之相邻的任何一方。这个概念适用于隐喻的计算使用,因为例如作为公共因特网的门户的DMZ既不像内部网络那样安全,也不像Internet那样不安全。
在这种情况下,最容易受到攻击的主机是为局域网以外的用户提供服务的主机,如电子邮件、Web和DNS服务器等。由于这些主机受到攻击的威胁越来越大,它们被放置在这个特定的子网络中,以便保护网络的其它部分。
由于DMZ并不像内部网络那样安全,因此DMZ中的主机只能与内部网络中的特定主机建立有限的连接。DMZ中的主机与外部网络之间的通信也会受到限制,使得DMZ比互联网更安全,并且适合于容纳这些特殊用途的服务。这允许DMZ中的主机与内部和外部网络通信,而中间防火墙控制DMZ服务器和内部网络客户端之间的通信,而另一个防火墙将执行一定级别的控制以保护DMZ免受外部网络攻击。
DMZ配置可以减少外部网络攻击威胁,但可能会受到内部攻击的影响,如通过数据包分析器嗅探通信或欺骗(如电子邮件欺骗)。
任何向外部网络上的用户提供的服务都可以放在DMZ中。这些最常见服务中包括:
- Web服务
- 邮件服务
- FTP服务
- VoIP服务
与内部数据库通信的Web服务器需要访问数据库服务器,该数据库服务器可能无法公开访问,并可能包含敏感信息。出于安全原因,Web服务器可以直接或通过应用程序防火墙与数据库服务器进行通信。
电子邮件,特别是用户数据库是保密的,所以它们通常存储在无法从互联网访问的服务器上(至少不是以不安全的方式),但是可以从暴露于互联网的电子邮件服务器访问。
DMZ内部的邮件服务器将收到的邮件传递给内部邮件服务器,同时它也可以处理发出的邮件。
在商业环境中,一些企业在DMZ内部安装代理服务器。这会有以下好处:
- 引导内部用户(通常是员工)使用代理服务器访问Internet。
- 由于某些网页内容可能被代理服务器缓存,可以减少对互联网访问带宽的要求。
- 简化用户活动的记录和监控。
- 可以对部分网页内容进行过滤。
反向代理服务器,就像代理服务器一样,是一个中介,但它是反过来的。它不提供服务给想要访问外部网络的内部用户,而是为外部网络(通常是因特网)提供对内部资源的间接访问。例如,可以向外部用户提供诸如电子邮件系统的后台应用程序访问(在公司外部网络查看电子邮件),但远程用户不能直接访问他们的电子邮件服务器。只有反向代理服务器才能物理访问内部邮件服务器。这是一个额外的安全层,当需要从外部访问内部资源时,可以这样进行操作。通常,这样的反向代理机制是通过使用应用层防火墙来提供的,因为它们专注于流量的特定形状,而不是像包过滤防火墙那样控制对特定TCP和UDP端口的访问。
用DMZ设计网络的方法有很多种。最基本的方法分两种,一种是使用一个单一的防火墙,也被称为三足式模式,另外一种为双重防火墙。 这些体系结构可以根据网络需求进行扩展。
单一防火墙
使用单一防火墙的DMZ的典型网络模型图。
使用单一防火墙创建包含DMZ的网络体系必须具有3个以上的网络接口。 外部网络ISP连接到防火墙第一网络接口,内部网络接防火墙的第二网络接口,DMZ则连接防火墙的第三网络接口。 防火墙作为网络的单点故障,必须能够处理通往DMZ以及内部网络的所有通信。 不同区域使用不同的颜色进行标记,例如LAN用紫色,DMZ用绿色,Internet用红色(无线区域使用另一种颜色)。
双重防火墙
使用双重防火墙的DMZ的典型网络模型图。
最安全的方法是使用两个防火墙来创建一个DMZ。第一个防火墙(也称为“前端”或“外围”防火墙)配置为仅允许通往DMZ的通信。第二个防火墙(也称为“后端”或“内部”防火墙)配置为只允许从DMZ到内部网络的通信。
这个设置在安全性上更高,因为攻击内部网络需要突破两个防火墙。如果这两个防火墙是由两个不同的供应商提供的话,则会提供更多的保护,因为这样两个设备就不太可能遇到同样的安全漏洞。这种配置的缺点是购买和管理成本更高。使用不同供应商的不同防火墙的做法被认为是“纵深防御”安全策略的一个组成部分。
在pfSense中配置DMZ,与一般LAN接口的设置一样,但必须做好与LAN内网的隔离,通过在交换机上划分不同的VLAN来进行隔离是最好的办法。同时要严格设置防火墙规则,把允许的通信减少到最低,以保证内部网络安全。
下面在pfSense2.42-p1上进行DMZ配置示例。
一、DMZ接口配置
使用本地IP地址打开Web GUI界面。导航到网络接口>接口分配标签,然后在可用网络端口一栏,单击右侧的添加,增加一个用于DMZ的可用接口,并点击保存设置。
在本例中,保存后显示为OPT4接口。
导航到网络接口>OPT4,启用接口并填写其他信息。
- 描述:DMZ
- IPv4配置类型:静态IPv4
- IPv4地址:输入192.168.114.1,子网掩码:24
- 网关:None
- 阻止专用网络和未知网络不选。
单击保存,单击应用更改。
至此,DMZ接口的配置完成。
二、DMZ防火墙设置
为了保证安全应用,还需要对防火墙进行相关设置,防火墙的设置原则如下:
- 内网可以访问外网。内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。
- 内网可以访问DMZ。此策略是为了方便内网用户使用和管理DMZ中的服务器。建议只对有限的主机进行开放。
- 外网不能访问内网。很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。
- 外网可以访问DMZ。DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
- DMZ访问内网有限制。很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。
- DMZ不能访问外网。此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。可以根据需要进行设置。
例如,要允许LAN子网对DMZ子网的访问,请按以下方法进行操作。
导航到防火墙>规则策略,LAN1选项卡,添加如下防火墙规则:
- 动作:通过
- 接口:LAN(本例为LAN1)
- 协议:any
- 源地址:LAN net (本例中为LAN1 net)
- 目的地址:DMZ net
- 输入一个描述说明
- 保存设置并应用更改。
完成后,在规则策略列表显示如下:
三、DMZ网络服务发布
DMZ网络内部服务的发布,可以采用端口转发或1:1NAT,不在赘述。