3.1. 安全设计

目标:尽可能地防范来自外部的攻击。

假设:我们的网络节点只有一个对Internet的连接,有若干内部用户,还要提供一些对外的服务(DNS、WWW、MAIL、FTP、NEWS)。当然,如果想增加复杂性,我们还可以将网络规划成许多更小的网络来消除瓶颈现象,也可以增加更多的对外连接。

作为防火墙的边界主机的三个网络接口设置如下:

接口A连接防火墙至外网(Internet)。接口地址由ISP分配(以x.x.x.x表示)。

接口B连接防火墙至内网(192.168.1网段)。接口地址为192.168.1.1。

接口C 连接防火墙至DMZ区(192.168.2网段)。接口地址为192.168.2.1。

网络拓朴如下图:

安全的最后一道闸门

我们制订的安全策略如下:

  1. 所有由内网至合法地址的数据包都可以无限制地通过防火墙。

  2. 过滤所有由外到内的数据包,只对由内网发送的请求包的有效回应包放行。

  3. 过滤所有由外网到DMZ的数据包,只对请求目前开放服务的数据包放行。此外,允许由DMZ 发送的请求包的有效回应包进入DMZ。 (如有必要,这个规则可以做更大的限制 )

  4. 允许由内网到DMZ的请求包的有效回应包进入内网。

  5. 所有由DMZ至外网(不包括发送到DMZ上的)的数据包,可以无限制地通过防火墙。

  6. 丢弃所有其它的数据包。

按照上面的网络拓朴设计,我们的对外服务都运行在DMZ主机上。当然,这些服务也可以运行在边界主机上。只不过这会弱化我们的防火墙。最好的做法是运用ipfilter的NAT模块重定向网络连接到DMZ区,这样就可以把潜在的攻击目标从防火墙转移到DMZ区的服务器上。而攻击者要想对内网发起攻击,则还需侵入防火墙和剩下的网络,这样就增加了入侵的难度,延缓了侵入的速度,从而增加了整个网络的安全性。

我们的设计考虑了出口地址由ISP分配的情况。防火墙后面的内网与DMZ主机的IP地址不会显示给外网。这也是目前普遍采用的一种重要安全手段。