在背靠背的ISA防火墙环境中,前端ISA防火墙直接连接到Internet,根据你网络的情况(使用私有IP或者具有公共IP地址),你可以在前端ISA防火墙后的DMZ和Internet网络间使用NAT或者路由关系。
如果你在DMZ网段使用公共IP地址和路由关系,你可以在前端ISA防火墙后发布PPTP、L2TP/IPSec和IPSec隧道模式的VPN;如果你使用NAT关系,那么你可以发布PPTP或者L2TP/IPSec模式的VPN服务器。因为NAT会中断IPSec,所以除非你的VPN服务器支持NAT-T(IETF定义的NAT-T,Windows
Server 2003的VPN服务器就支持NAT-T),那么你不能在具有NAT网络关系的前端ISA防火墙后发布IPSec隧道模式的VPN服务器。
NAT-T(NAT穿越)允许IPSec加密VPN隧道来在NAT设备间穿行。IPSec头通过TCP或者UDP封装,指定目的端口。安装在Windows Server 2003之上的ISA防火墙提供的VPN服务使用IETF NAT-T指定的UDP 4500端口作为目的端口。
Windows Server 2003/ISA防火墙VPN服务器收到发往UDP 4500端口的数据包,移去UDP头,将数据发送给IPSec加密通信,然后通过IPSec解密数据,转发到对应的目的主机。这就是Windows
NAT-T VPN客户连接到Windows Server 2003/ISA防火墙VPN服务器时所采用的方式。
其他VPN服务提供商可能会使用其他的端口来封装NAT数据包,如CISCO使用UDP 10000端口。CISCO同样也提供了使用TCP来封装的选项,尽管这样可能会和IETF不兼容,以及让NAT-T不稳定。不管IPSec头是如何实现封装,它能够通过NAT设备。
新的ISA Server 2004防火墙对于ISA Server 2000的一个主要的新改进是它可以发布PPTP VPN服务器。在PPTP不能提供和IPSec加密VPN连接同样的安全级别时,在使用长密码的时候,PPTP连接还是比较安全的。许多公司使用PPTP VPN连接,然后采用复杂的密码,这时,安全性已经可以和IPSec VPN相比了。
注意:
我知道IPSec的安全优点,它同样需要计算机和用户的双重身份验证。但是,PPTP适合于大部分商业使用,只有极少的非常保密的商业通信需要L2TP/IPSec加密。注意使用预定义密钥的IPSec隧道模式不如PPTP安全,因为针对使用预定义密钥的IPSec的攻击有几种方法。如果你正在采用预定义密钥的IPSec隧道,那么建议你采用L2TP/IPSec和使用证书来加密通信。尽管如此,在这篇文章中,为了方便演示,我将为L2TP/IPSec VPN连接使用预定义密钥。
在ISA Server 2000中,PPTP过滤器只能过滤出站的VPN连接,在ISA Server 2004防火墙中,PPTP过滤器可以支持出站和入站的VPN连接。
发布一个PPTP VPN服务器只需要你使用PPT服务器协议定义建立一个服务器发布规则。发布一个L2TP/IPSec VPN服务器需要你发布IKE(UDP 500)、L2TP(UDP 1701)和NAT-T(UDP 4500)。如果你使用NAT-T,那么你不需要发布L2TP协议,因为L2TP头是通过NAT-T的UDP头来封装。
发布一个位于前端ISA防火墙后的ISA防火墙/VPN服务器,你需要执行以下步骤:
安装和配置前端ISA防火墙;
安装和配置背端ISA防火墙;
配置背端ISA防火墙作为PPTP和L2TP/IPSec VPN服务器;
在前端ISA防火墙上发布背端的ISA防火墙/VPN服务器;
建立远程连接;
安装和配置前端ISA防火墙
前端防火墙的一个接口连接到公共网络,一个接口连接到位于前端防火墙和背端防火墙间的DMZ网段。前端防火墙不是内部域的成员,因此在此例中需要。
在此例中,前端防火墙的外部接口IP地址为 192.168.1.71,内部接口IP地址是10.0.1.1。前端防火墙的外部接口配置了一个默认网关,这样允许它访问Internet。我们建立了一个访问规则允许背端ISA防火墙的外部接口(在此例中是10.0.1.2)完全访问Internet。另外,访问规则还允许内部网络的DNS服务器解析Internet的DNS名字。
我们已经在前端ISA防火墙上配置好了IP和安装好了ISA防火墙,执行以下步骤来建立访问规则:
打开ISA Server管理控制台,展开服务器名,点击防火墙策略,然后在右边的任务面板,点击建立新的访问规则链接;
在欢迎使用新建访问规则向导页,输入访问规则的名字,在此我们命名为All Open from Back-end
Firewall,点击下一步;
在规则动作页,选择允许,然后点击下一步;
在协议页,选择所有协议,点击下一步;
在访问规则源页,点击添加按钮;
在添加网络实体对话框,点击新建,然后点击计算机;
在新建计算机规则元素对话框,为计算机对象输入一个名字,在此我们命名为 Back End ISA Firewall。在计算机IP地址文本框,输入后端ISA防火墙的外部接口的IP地址。在此我们输入10.0.1.2,点击确定;
在添加网络实体对话框,点开计算机目录,然后双击Back End ISA Firewall 项,点击关闭;
在访问规则源页上点击下一步;
在访问规则目的页,点击添加;
在添加网络实体页,点击网络目录,然后双击外部项,点击关闭;
在访问规则目的页,点击下一步;
在用户集页接受默认的所有用户,点击下一步;
在正在完成新建访问规则向导页点击完成;
点击应用以保存修改和更新防火墙策略;
在应用新的配置对话框点击确定;
注意,这条规则只允许背端ISA防火墙的外部接口发起的通往外部网络的所有通信,并没有允许DMZ网段的其他主机访问Internet。
背端ISA防火墙是VPN连接的终点,外部的VPN客户通过前端ISA防火墙来连接到背端的ISA防火墙/VPN服务器。背端防火墙的一个接口连接到DMZ网段,然后另外一个接口连接到内部网络。背端防火墙是内部域的成员,这样可以允许背端防火墙使用内部域的用户数据库来验证VPN用户。
我们需要建立允许VPN客户访问Internet和内部网络的访问规则。不像ISA 2000防火墙只有Web代理客户和防火墙客户才能通过连接到的ISA防火墙来访问Internet,ISA Server 2004防火墙允许SNAT客户通过连接到的ISA防火墙来访问Internet。
注意:
ISA防火墙允许你对VPN客户执行非常细微的访问控制。只是在这个演示中,我们建立了非常宽松的访问策略,在你的商用环境中,请你根据你的情况加以限制。
我们同样建立允许内部网络中的DNS服务器解析Internet主机名字的访问规则。在此,我们已经配置好了内部的DNS服务器,并通过递归来解析Internet上的主机名字。
在此,我们已经在背端ISA防火墙上配置好了IP地址和安装好了ISA防火墙软件,执行以下步骤来建立访问规则:
打开ISA Server管理控制台,展开服务器名,点击防火墙策略,然后在右边的任务面板,点击建立新的访问规则链接;
在欢迎使用新建访问规则向导页,输入访问规则的名字,在此我们命名为All Open to Internet and Internal - VPN Clients,点击下一步;
在规则动作页,选择允许,然后点击下一步;
在协议页,选择所有协议,点击下一步;
在访问规则源页,点击添加按钮;
在添加网络实体对话框,点击网络,然后点击VPN Clients项,点击关闭;在访问规则源页点击下一步;
在访问规则目的页,点击添加;
在添加网络实体页,点击网络目录,然后双击外部和内部项,点击关闭;在访问规则目的页,点击下一步;
在用户集页接受默认的所有用户,点击下一步;
在正在完成新建访问规则向导页点击完成;
点击应用以保存修改和更新防火墙策略;
在应用新的配置对话框点击确定;
现在我们建立一个允许内部的DNS服务器连接外部DNS服务器的访问规则,我们使用另外一种方法来建立:
右击刚才建立好的 All Open to Internal and Internet -VPN Clients 规则,然后点击复制;
再次右击,然后点击粘贴;
双击 All Open to Internal and Internet ?VPN Clients (1) 规则,打开它的属性对话框;
在常规标签,修改名字为Outbound DNS for DNS Server ,然后点击应用;
在协议标签,选择所选的协议,然后点击添加;
在添加协议对话框,点击通用协议,然后双击DNS,点击关闭;
点击应用;
点击从标签,点击 VPN Clients 项,然后点击移去,再点击添加;
在添加网络实体对话框,点击新建,然后点击计算机;
在新建计算机规则元素对话框,名字命名为DNS Server,在计算机IP地址中输入DNS服务器的IP,在此例中是10.0.0.2,点击确定;
在添加网络实体对话框,点击计算机目录,然后双击DNS Server项,点击关闭;
点击应用;
点击到标签,点击内部,然后点击移去;
点击应用,然后点击OK。
点击应用保存修改和更新防火墙策略;
在应用新的配置对话框中点击确定;
现在我们