ISA防火墙缺少SIP支持 这是一个大问题,而且也是一个为什么一个组织不把ISA防火墙放置在他们的防火墙结构中的一个主要原因。我最近遇到一个大公司想使用ISA防火墙,以利用ISA防火墙强大的访问控制和报告/日志功能,但是因为他们需要SIP VoIP展示,而ISA防火墙缺乏SIP应用层网关,最后这个计划不得不放弃。
改变现有网络结构的管理成本 许多组织防火墙管理员人手不足,超负荷工作。如果再放置ISA防火墙在现有的网络结构中,就算管理成本小,但是也会造成防火墙管理员也可能没有足够的时间去做。
受到硬件防火墙销售商的欺骗 许多防火墙和网络管理员受到硬件防火墙销售商的影响,认为硬件防火墙比软件防火墙要好很多,事实上不是这样的。ISA防火墙要比许多硬件防火墙都要好,关于这个论点,可以看我的另外一篇文章:ISA Firewall Fairy Tales - What Hardware Firewall Vendors Don't Want You to Know ,URL为 http://isaserver.org/articles/2004tales.html
因此,许多时候ISA防火墙只能作为Web代理服务器。ISA Server 2000有个安装选项,可以让你把它安装为“Cache Mode”。这种只缓存的ISA Server 2000防火墙只有一个网卡,用于前向和反向缓存。前向缓存特性允许ISA Server成为内部客户的代理,反向缓存特性允许ISA Server成为一个反向的Web代理,以发布内部的服务器。
ISA Server 2004防火墙没有“只缓存”的安装选项。但是,你可以很轻松的把ISA Server 2004防火墙安装在一台只有一个网卡的计算机上,然后配置ISA Server 2004防火墙作为Web代理服务器。ISA防火墙安装程序会识别这台计算机只有一个网卡,然后自动渲肐SA防火墙只成为Web代理服务器。
Web代理模式的ISA防火墙是只有一个网卡的计算机,提供前向和反向的缓存,为内部和外部的主机提供代理。你可以使用这个配置来发布OWA、OMA和基于HTTP的RPC站点。事实上,你可以发布任何类型的Web站点。使用ISA防火墙来作Web代理,主要是可以利用它的强大的应用层过滤中的HTTP安全过滤器。
为了演示如何在已经拥有第三方防火墙的情况下、配置ISA防火墙作为Web代理模式,我们建立了以下的网络,然后基于下图进行配置:
从图中,我们可以看出网络之间通信的路径:
- 外部客户发送 http://owa.msfirewall.org/exchange/ 的访问请求;
- 三周界的包过滤防火墙配置为转发进入的TCP 80/443端口的连接到位于DMZ网段的
单网卡ISA防火墙上;
- 单网卡ISA防火墙配置了一个Web发布规则,将转发 http://owa.msfirewall.org/exchange/ 的请求转发到内部网络的OWA服务器。
三周界的包过滤防火墙已经为DMZ和内部网段之间的连接进行了配置,所以单网卡的ISA防火墙转发请求到三周界的包过滤防火墙的DMZ接口。单网卡的ISA防火墙在hosts文件中配置了一项,将www.msfirewall.org映射到包过滤防火墙的DMZ网络接口的IP上。
- 三周界的包过滤防火墙配置为转发DMZ网络接口上的TCP 80/443端口的连接请求到内部的OWA服务器上;
- 内部OWA服务器将通过包过滤防火墙对单网卡ISA防火墙的请求进行回应;
- 单网卡ISA防火墙收到OWA服务器的回应后,因为它配置了默认网关为三周界的包过滤防火墙的DMZ接口的IP,
单网卡的ISA防火墙将会转发回应到三周界的包过滤防火墙的DMZ接口(备注:这只是三周界的包过滤防火墙没有替换进入请求
数据包的的源IP的情况,单网卡的ISA防火墙通过自己的默认网关将回应数据包直接发送给外部的客户;如果三周界的包过滤防火墙替换了进入请求的源IP,那么
单网卡ISA防火墙只会把回应返回给三周界的包过滤防火墙)。
- 三周界的包过滤防火墙转发回应给初始化连接的外部客户。
这个简单的示例网络配置的IP信息如图所示,我们将使用三周界的ISA防火墙来模拟非ISA的简单包过滤防火墙,就像硬件防火墙一样。为了尽量的模拟硬件防火墙,我们将在三周界的ISA防火墙上为HTTP连接建立从外部到DMZ和从DMZ到内部的服务器发布策略。
另外,在这个讨论中,我们不会讨论PKI和证书分配的细节。我们将尽量像传统的包过滤防火墙一样来配置三周界的ISA防火墙,所以你可以从这篇文章中讨论的原理和过程来推测你的组织中现有的硬件防火墙。
我们在这篇文章中会经历以下步骤:
- 在三周界ISA防火墙上建立DMZ网络;
- 建立从DMZ网络到外部网络的NAT网络规则;
- 建立从内部网络到DMZ网络的NAT网络规则;
- 在三周界ISA防火墙上建立服务器发布策略,转发发往三周界ISA防火墙的外部接口的TCP 80端口的请求到DMZ网络的ISA防火墙上;
- 在三周界ISA防火墙上建立服务器发布策略,转发发往三周界ISA防火墙的DMZ接口的TCP 80端口的请求到内部网络的OWA服务器上;
- 在DMZ网段的单网卡ISA防火墙上安装ISA防火墙软件;
- 在DMZ网段的单网卡ISA防火墙上建立Web发布策略,发布内部网络的OWA站点;
- 在DMZ网段的单网卡ISA防火墙的hosts文件中建立对应项,映射OWA站点的FQDN到三周界ISA防火墙的DMZ接口的IP上;
- 从外部客户上建立连接。
在这个例子中,我们只是建立了需要的策略,虽然很简单,但是已经完全够用了。
在三周界ISA防火墙上建立DMZ网络
在安装三周界ISA防火墙的时候,内部网络就已经建立好了。模拟硬件防火墙的这台计算机拥有三个网卡,其中一个连接到DMZ网段。我们将在三周界ISA防火墙上建立网络对象,这样可以使用访问规则来控制DMZ网络的流量。
执行以下步骤来建立网络:
- 打开 Microsoft Internet Security and Acceleration Server 2004 管理控制台,展开服务器名,展开Configuration ,然后点击 Networks ;
- 在控制台中细节面板中点击 Networks ,点击 Tasks 标签,然后点击Create a New Network连接;
- 在 Welcome to the New Network Wizard 页,在Network name 文本框中输入一个名字,在这个例子中,我们命名为 DMZ,点击 Next;
- 在 Network Type 页,选择 Perimeter 网络选项,然后点击 Next;
- 在 Address Ranges 页,点击 Add Adapter 按钮;
- 在 Select Network Adapter 对话框,勾选DMZ接口,在这个例子中,我们把它命名为 DMZ,注意显示在对话框下面的 Network Interfaces Information ,
然后点击 OK。
- 在Network Addresses页点击 Next;
- 在Completing the New Network Wizard页点击Finish;
- 这个新建的网络会在 Networks中显示出来:
建立从DMZ网络到外部网络的NAT网络规则
我们将在DMZ网络和外部网络之间使用NAT,这样可以隐藏DMZ网络服务器的IP地址。执行以下步骤来在DMZ网络和外部网络之间建立建立NAT关系:
- 同样在 Networks ,在细节面板上点击 Network Rules ;
- 点击任务面板上的 Tasks
标签,然后点击 Create a New Network Rule;
- 在 Welcome to the New Network Rule Wizard
页,在Network rule name文本框中输入规则名字,在此例中我们命名为 DMZ -> External,点击 Next;
- 在 Network Traffic Sources 页,点击 Add 按钮;
- 在 Add Network Entities
对话框,点击 Networks 目录,然后双击 DMZ ,点击Close;
- 在 Network Traffic Sources 页点击Next;
- 在 Network Traffic Destinations 页,点击 Add ;
- 在 Add Network Entities 对话框,点击 Networks 目录,然后双击 External
,点击Close;
- 在 Network Traffic Destinations 页点击Next;
- 在 Network Relationship 页,选择 Network Address Translation 选项,点击 Next;
- 在 Completing the New Network Rule Wizard 页点击 Finish 。
- 建好的网络规则应该如下图所示:
建立从内部网络到DMZ网络的NAT网络规则
第二个网络规则建立内部网络和DMZ网络之间的NAT关系,这允许我们隐藏内部网络主机的IP。
执行以下步骤来建立网络规则:
- 同样在 Networks ,在细节面板上点击 Network Rules ;
- 点击任务面板上的 Tasks 标签,然后点击 Create a New Network Rule;
- 在 Welcome to the New Network Rule Wizard
页,在Network rule name文本框中输入规则名字,在此例中我们命名为 Internal -> DMZ,点击 Next;
- 在 Network Traffic Sources 页,点击 Add 按钮;
- 在 Add Network Entities
对话框,点击 Networks 目录,然后双击 Internal ,点击Close;
- 在 Network Traffic Sources 页点击Next;
- 在 Network Traffic Destinations 页,点击 Add ;
- 在 Add Network Entities 对话框,点击 Networks 目录,然后双击 DMZ ,点击Close;
- 在 Network Traffic Destinations 页点击Next;
- 在 Network Relationship 页,选择 Network Address Translation 选项,点击 Next;
- 在 Completing the New Network Rule Wizard 页点击 Finish 。
- 建好的网络规则应该如下图所示:
建立服务器发布规则,转发进入外部接口的TCP
80端口的连接到DMZ网络的单网卡的ISA防火墙上
因为我们在模拟简单的包过滤防火墙,我们将使用服务器发布策略来替代Web发布规则来发布位于DMZ网络的ISA防火墙的TCP
80端口。执行以下步骤以建立服务器发布策略,转发进入外部接口的TCP 80端口的连接到DMZ网络的ISA防火墙上:
- 在 Microsoft Internet Security and Acceleration Server 2004
管理控制台,展开服务器名,然后点击 Firewall Policy ,在任务面板中点击Tasks ,然后点击 Create a New Server Publishing Rule;
- 在 Welcome to the New Server Publishing Rule Wizard 页,在Server publishing rule name
对话框中输入规则名字,在此我们命名为 Publish ISA Web Proxy ,然后点击 Next;
- 在 Select Server
页,在 Server IP address 文本框中输入服务器的IP地址,在这个演示中是位于DMZ网段的单网卡ISA服务器的IP 172.16.0.2,输入后点击
Next;
- 在 Select Protocol 页,点击 New 按钮;
- 在 Welcome to the New Protocol Definition Wizard
页,在Protocol definition name 文本框中输入新规则的名字,在此我们命名为 HTTP Server,点击
Next。
- 在 Primary Connection Information 页,点击 New 按钮;
- 在 New/Edit Protocol Connection
对话框,在Protocol type选择TCP,Direction 为Inbound,端口
From 和 To 都为80,点击 OK;
- 在Primary Connection Information页点击 Next;
- 在Secondary Connections页点击 Next;
- 在Completing the New Protocol Definition Wizard页,点击 Finish ;
- 在Select Protocol页点击 Next ;
- 在 IP Addresses 页,勾选 External,然后点击 Next;
- 在Completing the New Server Publishing Rule Wizard页,点击 Finish;
- 建好的服务器发布策略应该如下图所示:
建立服务器发布规则,转发进入DMZ网卡的TCP
80端口连接到内部网络的OWA站点的TCP 80端口上
下一步是在三周界的包过滤防火墙上建立服务器发布策略,转发进入DMZ网卡的TCP
80端口的连接到内部网络的OWA站点上,执行以下步骤建立服务器发布策略:
- 在 Microsoft Internet Security and Acceleration Server 2004
管理控制台,展开服务器名,点击 Firewall Policy ,点击任务面板的Tasks标签,然后点击 Create a New Server Publishing Rule;
- 在 Welcome to the New Server Publishing Rule Wizard 页,在Server publishing rule name
文本框中输入规则名字,在此我们命名为 Publish OWA Site ,点击 Next;
- 在 Select Server
页,在 Server IP address 文本框中输入服务器的IP地址,在这个演示中是位于内部网络的OWA服务器的IP
10.0.0.2,输入后点击 Next;
- 在 Select Protocol 页,在Selected protocols 列表选择 HTTP Server
协议,点击 Next;
- 在 IP Addresses 页,勾选 DMZ 然后点击 Next;
- 在 Completing the New Server Publishing Rule Wizard 页点击 Finish ;
- 点击 Apply 保存修改和更新策略;
- 在Apply New Configuration 对话框上点击 OK ;
- 建立好的防火墙策略应该如下图所示:
在DMZ网段的单网卡ISA防火墙上安装ISA防火墙软件
现在我们将注意力放在DMZ网段的单网卡ISA防火墙上。首先需要在这台计算机上安装ISA防火墙软件,执行以下步骤来安装:
- 双击ISA Server
2004安装光盘根目录下的 ISAAutorun.exe ;
- 在autorun页点击 Install ISA Server 2004
;
- 在Welcome to the Installation Wizard for Microsoft ISA Server 2004
页点击 Next ;
- 在License Agreement页,选择 I accept the terms in the license agreement
选项,点击Next;
- 在Customer Information页,输入你的用户名、组织名和序列号,点击 Next;
- 在Setup Type页,选择 Typical 选项,点击 Next;
- 在 Internal Network 页,点击 Add 按钮;
- 在内部网络地址范围,点击 Select Network Adapter 按钮;
- 在 Select Network Adapter 页,取消勾选 Add the following private ranges ,勾选 Add address ranges based on the Windows Routing Table ,然后勾选网卡(只有一个),点击 OK;
- 在提醒你路由表应该正确的配置的 Setup Message 对话框上点击OK ;
- 注意在配置单网卡ISA防火墙的时候,所有的IP地址范围都是作为内部网络,在内部地址范围对话框中点击 OK ;
- 在Internal Network页点击 Next ;
- 在 Firewall Client Connection Settings 页点击 Next ;
- 在Services 页点击 Next ;
- 在 Ready to Install the Program页点击 Install ;
- 在 Installation Wizard Complete 页点击 Finish ;
- 如果这是首次安装ISA防火墙,那么需要重启计算机,重启后以管理员身份登录;
建立Web发布策略,发布内部网络的OWA站点
现在我们可以进行真正的防火墙配置。这个位于DMZ网段的单网卡ISA防火墙将使用Web发布策略来为内部网络的OWA站点接收进入的连接然后转发到内部网络的OWA服务器。不像包过滤“硬件”防火墙,位于DMZ网段的单网卡ISA防火墙将对连接进行状态过滤和应用层过滤,HTTP安全过滤器为OWA发布规则执行应用层状态检查。执行以下步骤以建立Web发布规则:
- 打开 Microsoft Internet Security and Acceleration Server 2004
管理控制台,展开服务器名,点击 Firewall Policy ,点击任务面板的 Tasks 标签,点击 Publish a Mail Server
连接;
- 在 Welcome to the New Mail Server Publishing Rule Wizard
页,在Mail Server Publishing Rule name文本框输入规则名,此例中我们命名为 Web Publish OWA,点击 Next;
- 在 Select Access Type 页,选择 Web client access: Outlook Web Access (OWA), Outlook Mobile Access, Exchange Server ActiveSync
,然后点击 Next;
- 在 Select Services 页,只选择 Outlook Web Access
选项,然后点击 Next. (允许默认设置 Enable high bit characters used by non-English sets ).;
- 在 Bridging Mode 页,选择 Standard connections only
。注意我们只是在这个演示中使用,因为我懒得去配置OWA站点和ISA防火墙之间的证书:)。在一个商用环境中,你应当总是选择SSL to SSL
桥接来保护端到端的连接。点击 Next;
- 在 Specify the Web Mail Server 页,在Web mail server
文本框中输入被发布的服务器的名字或者IP地址。在这个例子中,我们从端到端使用相同的FQDN名字。这样的意思是,外部用户使用 owa.msfirewall.org
来访问到位于DMZ网段的单网卡ISA防火墙,然后单网卡ISA防火墙将使用同样的名字来转发进入的请求到内部的OWA站点上,这是最好也是最有效的方式。注意你在Web mail server
文本框中输入的名字必须能够解析出OWA站点的IP,如果DMZ和内部网络是route的网络关系,则这个名字必须能够解析出OWA服务器的实际IP地址。不过,在我们的例子中,在DMZ和内部网络之间是NAT的路由关系,所以我们只能将这个名字解析到包过滤防火墙的DMZ网卡接口的IP地址上。后面我们将修改hosts文件来提供名字解析的支持,点击 Next;
- 在 Public Name Details 页,输入外部用户用于访问OWA站点的名字,由于我们使用相同的名字,在Public Name
文本框中输入 owa.msfirewall.org ,确认在 Accept requests for 选择了 This domain name (type below)
,点击 Next;
- 在 Select Web Listener 页,点击 New 按钮;
- 在 Welcome to the New Web Listener Wizard 页,在Web Listener name 文本框中输入 HTTP Listener ,点击 Next;
- 在 IP Addresses 页,选择 Internal ,点击 Next;
- 在 Port Specification 页,确认选择了 Enable HTTP 和 HTTP port 是 80,不要勾选 Enable SSL 。如果是启用了SSL连接的商用网络,则可以勾选Enable SSL 。点击 Next;
- 在 Completing the New Web Listener Wizard 页,点击 Finish ;
- 在 Select Web Listener 页点击 Next ;
- 在 User Sets 页点击 Next ;
- 在Completing the New Mail Server Publishing Rule Wizard
页,点击 Finish ;
- 点击 Apply 以保存修改和更新策略;
- 在Apply New Configuration
对话框上点击 OK ;
- 建立好的防火墙策略应该如下图所示:
在位于DMZ网段的单网卡ISA防火墙上建立一个hosts项,映射OWA站点的FQDN到三周界ISA防火墙的DMZ接口IP地址上
我们需要在单网卡的ISA防火墙上建议一个hosts文件项,以解析 owa.msfirewall.org
到三周界ISA防火墙的DMZ接口的IP地址上。记住,我们这样做,只是因为在内部网络和DMZ网络直接是NAT关系,并且在三周界ISA防火墙上已经建立好了一个服务器发布策略,允许从DMZ接口的TCP
80端口来访问内部网络的OWA站点。如果你在DMZ网段和内部网络之间是路由关系,你应该在hosts文件中输入OWA服务器的实际IP地址。
你可以在%systemroot%/system32/drivers/etc/找到hosts文件。添加一行,映射OWA站点的FQDN到DMZ接口的IP地址上,如下:
172.16.0.1 owa.msfirewall.org
添加好后如下图,关闭hosts文件并保存修改;
这个在hosts文件里面添加的FQDN项将立即放置在dns缓存中,你可以使用 ping owa.msfirewall.org
,然后你输入在hosts文件里面的IP地址将马上被解析出来。但是,这个ping操作会失败,因为没有规则允许DMZ网络ping内部网络。
从外部客户上发起连接
现在我们可以准备终场演出了!但是,在进行连接以前,我们得保证这个位于外部网络的Windows XP客户能够解析出OWA站点的FQDN名字,同样的,我们修改hosts文件来达到这一目的。但是在商用网络中,应该是使用dns服务器来完成。
这个解析出来的IP应该能让外部客户到达单网卡的ISA防火墙。但是,在DMZ和外部网络之间是NAT路由关系,外部客户只能通过三周界的ISA防火墙来到达单网卡ISA防火墙。所以,我们在这个hosts文件中,使用三周界ISA防火墙的外部网卡的IP地址。
下图的日志信息记录了单网卡ISA防火墙上的网络活动,检查源和目的IP、使用的规则和HTTP方式。注意,在你使用Web发布规则时,Web
proxy很清楚的了解发送给ISA防火墙的URL和从ISA防火墙发送给OWA站点的URL。
下图是三周界ISA防火墙上的日志信息。你可以看见外部主机连接单网卡的ISA防火墙,和单网卡的ISA防火墙连接内部网络的OWA站点。