在背靠背ISA防火墙中配置远程VPN访问

译自 Thomas W Shinder MD,"Configuring Remote Access VPN Servers in a Back to Back ISA Firewall Configuration"


在背靠背的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相比了。


在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防火墙,执行以下步骤来建立访问规则:


  1. 打开ISA Server管理控制台,展开服务器名,点击防火墙策略,然后在右边的任务面板,点击建立新的访问规则链接;

  2. 在欢迎使用新建访问规则向导页,输入访问规则的名字,在此我们命名为All Open from Back-end
    Firewall
    ,点击下一步;
  3. 在规则动作页,选择允许,然后点击下一步;
  4. 在协议页,选择所有协议,点击下一步;

  5. 在访问规则源页,点击添加按钮;
  6. 在添加网络实体对话框,点击新建,然后点击计算机;
  7. 在新建计算机规则元素对话框,为计算机对象输入一个名字,在此我们命名为 Back End ISA Firewall。在计算机IP地址文本框,输入后端ISA防火墙的外部接口的IP地址。在此我们输入10.0.1.2,点击确定;


 




  1. 在添加网络实体对话框,点开计算机目录,然后双击Back End ISA Firewall 项,点击关闭;


 




  1. 在访问规则源页上点击下一步;
  2. 在访问规则目的页,点击添加;
  3. 在添加网络实体页,点击网络目录,然后双击外部项,点击关闭;
  4. 在访问规则目的页,点击下一步;
  5. 在用户集页接受默认的所有用户,点击下一步;
  6. 在正在完成新建访问规则向导页点击完成;
  7. 点击应用以保存修改和更新防火墙策略;
  8. 在应用新的配置对话框点击确定;


 

注意,这条规则只允许背端ISA防火墙的外部接口发起的通往外部网络的所有通信,并没有允许DMZ网段的其他主机访问Internet。

安装和配置背端ISA防火墙



背端ISA防火墙是VPN连接的终点,外部的VPN客户通过前端ISA防火墙来连接到背端的ISA防火墙/VPN服务器。背端防火墙的一个接口连接到DMZ网段,然后另外一个接口连接到内部网络。背端防火墙是内部域的成员,这样可以允许背端防火墙使用内部域的用户数据库来验证VPN用户。

我们需要建立允许VPN客户访问Internet和内部网络的访问规则。不像ISA 2000防火墙只有Web代理客户和防火墙客户才能通过连接到的ISA防火墙来访问Internet,ISA Server 2004防火墙允许SNAT客户通过连接到的ISA防火墙来访问Internet。



我们同样建立允许内部网络中的DNS服务器解析Internet主机名字的访问规则。在此,我们已经配置好了内部的DNS服务器,并通过递归来解析Internet上的主机名字。

在此,我们已经在背端ISA防火墙上配置好了IP地址和安装好了ISA防火墙软件,执行以下步骤来建立访问规则:


  1. 打开ISA Server管理控制台,展开服务器名,点击防火墙策略,然后在右边的任务面板,点击建立新的访问规则链接;

  2. 在欢迎使用新建访问规则向导页,输入访问规则的名字,在此我们命名为All Open to Internet and Internal - VPN Clients,点击下一步;
  3. 在规则动作页,选择允许,然后点击下一步;
  4. 在协议页,选择所有协议,点击下一步;
  5. 在访问规则源页,点击添加按钮;
  6. 在添加网络实体对话框,点击网络,然后点击VPN Clients项,点击关闭;在访问规则源页点击下一步;
  7. 在访问规则目的页,点击添加;
  8. 在添加网络实体页,点击网络目录,然后双击外部和内部项,点击关闭;在访问规则目的页,点击下一步;





  1. 在用户集页接受默认的所有用户,点击下一步;
  2. 在正在完成新建访问规则向导页点击完成;
  3. 点击应用以保存修改和更新防火墙策略;
  4. 在应用新的配置对话框点击确定;


现在我们建立一个允许内部的DNS服务器连接外部DNS服务器的访问规则,我们使用另外一种方法来建立:


  1. 右击刚才建立好的 All Open to Internal and Internet -VPN Clients 规则,然后点击复制;
  2. 再次右击,然后点击粘贴;
  3. 双击 All Open to Internal and Internet ?VPN Clients (1) 规则,打开它的属性对话框;
  4. 在常规标签,修改名字为Outbound DNS for DNS Server ,然后点击应用;
  5. 在协议标签,选择所选的协议,然后点击添加;

  6. 在添加协议对话框,点击通用协议,然后双击DNS,点击关闭;

  7. 点击应用;





  1. 点击从标签,点击 VPN Clients 项,然后点击移去,再点击添加;
  2. 在添加网络实体对话框,点击新建,然后点击计算机;
  3. 在新建计算机规则元素对话框,名字命名为DNS Server,在计算机IP地址中输入DNS服务器的IP,在此例中是10.0.0.2,点击确定;
  4. 在添加网络实体对话框,点击计算机目录,然后双击DNS Server项,点击关闭;





  1. 点击应用;
  2. 点击到标签,点击内部,然后点击移去;
  3. 点击应用,然后点击OK。
  4. 点击应用保存修改和更新防火墙策略;
  5. 在应用新的配置对话框中点击确定;


 

配置背端ISA防火墙作为PPTP和L2TP/IPSec VPN服务器



现在我们需要配置背端ISA防火墙的VPN服务器组件。我们在内部网络中安装了一个DHCP服务器,所以我们将在VPN服务器中使用DHCP来为DHCP客户分配IP地址。

记住VPN客户不能直接连接到DHCP服务器,如果你想分配DHCP选项,你必须在ISA防火墙上配置DHCP中继代理。

执行以下步骤来启用和配置背端防火墙的VPN服务器组件:


  1. 在ISA Server控制台,展开服务器名,点击虚拟专用网;在任务面板,点击任务标签下的配置VPN客户访问;
  2. 在VPN客户属性对话框,勾选允许VPN客户访问;
  3. 在协议标签,勾选允许PPTP和允许L2TP/IPSec;
  4. 点击应用,然后点击确定;
  5. 点击任务面板中的选择身份认证方式链接;
  6. 在VPN属性对话框,点击身份认证标签,勾选为L2TP连接允许自定义的IPSec策略预定义密钥,然后在下面输入预定义的密钥,在此我们使用123。





  1. 点击应用,然后点击确定;
  2. 点击应用保存修改和更新防火墙策略;
  3. 在应用新的配置对话框中点击确定;
  4. 重启ISA Server计算机;


重启后,背端ISA防火墙/VPN服务器将接受PPTP和L2TP/IPSec连接;

 
在前端ISA防火墙上发布背端ISA防火墙/VPN服务器



我们需要三条服务器发布规则来发布位于背端ISA防火墙/VPN服务器上的VPN服务器,它们是:


  • IPSec NAT-T服务器发布规则;
  • IKE 服务器发布规则;
  • PPTP服务器发布规则;


我们使用IPSec NAT-T服务器发布规则来提供发布L2TP/IPSec。L2TP/IPSec需要你发布IKE协议,PPTP发布规则为进入的PPTP连接调用PPTP过滤器。

在前端防火墙上执行以下步骤建立PPTP服务器发布规则:


  1. 打开ISA Server控制台,展开服务器名,点击防火墙策略,然后在任务面板,点击任务标签,点击建立新的服务器发布规则;

  2. 在欢迎使用新建服务器发布规则页,命名为PPTP Server,然后点击下一步;
  3. 在服务器选择页,输入背端ISA防火墙的外部接口的IP地址,在此是10.0.1.2,点击下一步;
  4. 在协议选择页,选择 PPTP Server ,然后点击下一步;
  5. 在IP地址页,勾选外部,点击下一步;
  6. 在完成新建服务器发布规则页,点击完成;


执行以下步骤建立IPSec NAT-T服务器发布规则:


  1. 打开ISA Server控制台,展开服务器名,点击防火墙策略,然后在任务面板,点击任务标签,点击建立新的服务器发布规则;
  2. 在欢迎使用新建服务器发布规则页,命名为NAT-T Server ,然后点击下一步;
  3. 在服务器选择页,输入背端ISA防火墙的外部接口的IP地址,在此是10.0.1.2,点击下一步;
  4. 在协议选择页,选择 IPSec NAT-T Server ,然后点击下一步;
  5. 在IP地址页,勾选外部,点击下一步;
  6. 在完成新建服务器发布规则页,点击完成;


执行以下步骤建立IKE服务器发布规则:


  1. 打开ISA Server控制台,展开服务器名,点击防火墙策略,然后在任务面板,点击任务标签,点击建立新的服务器发布规则;
  2. 在欢迎使用新建服务器发布规则页,命名为IKE Server,然后点击下一步;
  3. 在服务器选择页,输入背端ISA防火墙的外部接口的IP地址,在此是10.0.1.2,点击下一步;
  4. 在协议选择页,选择 IKE Server ,然后点击下一步;





  1. 在IP地址页,勾选外部,点击下一步;
  2. 在完成新建服务器发布规则页,点击完成;


建立好的防火墙策略如下图所示:





 

建立远程访问连接



Windows的VPN客户默认使用PPTP进行连接。PPTP使用128位加密,还是很安全,如果你使用复杂的密码,那么PPTP已经完全满足你的需求了。

如果你想使用支持NAT-T的L2TP/IPSec,你首先得从下载和安装IPSec NAT-T VPN客户端。你可以从


http://support.microsoft.com/default.aspx?scid=kb;en-us;818043
获得更多的信息。

你需要配置L2TP/IPSec VPN NAT-T VPN客户端端使用在背端ISA防火墙上同样的预定义密钥。建立VPN连接,然后右击它,选择属性,在安全标签,点击IPSec设置按钮;



在IPSec设置对话框中输入预定义的密钥;



现在你可以建立连接,默认是PPTP连接,如下图所示:



断开它,然后右击这个VPN连接,打开它的属性对话框,点击网络标签,选择L2TP IPSec VPN,然后点击确定,重新建立VPN连接。此时,你可以从下图看到,已经是L2TP连接了。



如果你在背端ISA防火墙的日志里面监视,你可以看见VPN连接正在建立,你可以看到IKE(目的端口500)和NAT-T(目的端口4500)的会话:



从VPN客户上访问一个外部的Web站点,你可以从日志监视里面看到用户从VPN客户网络连接到外部网络。




 


 

 

相关信息



The Cable Guy on NAT-T



http://www.microsoft.com/technet/community/columns/cableguy/cg0802.mspx


Virtual Private Networks for Windows Server 2003



http://www.microsoft.com/windowsserver2003/technologies/networking/vpn/default.mspx


Publishing a VPN Server using ISA Server 2004


http://www.microsoft.com/technet/prodtechnol/isa/2004/plan/publishingVPNservers.mspx


,

分享到