很多公司都有控制员工访问外网的需求,例如有的公司不允许员工访问游戏网站,有的公司不允许员工使用QQ等即时通讯工具,有的公司禁止员工下载视频文件,还有的公司只允许访问自家的门户网站等等,这些需求都可以通过ISA2006防火墙策略中的访问规则来加以实现。那么我们来看一下,这中间所涉及到的知识点。
一、策略元素:
每条防火墙策略都是由若干个策略元素组成的,每个策略元素都可以指定防火墙规则的某些参数,ISA已经为我们提供了比较丰富的策略元素,如:协议、用户、内容类型、计划、网络对象等,如下图所示:


1、协议:协议元素限制了用户访问外网时所使用的网络协议。
2、用户:用户元素可以控制有哪些人能访问外网,特别适用于域环境下,用户元素更是可以大显身手。依靠用户元素控制网络访问远比用IP控制来得更方便灵活。但在工作组环境下则不太适合。因为工作组属于分散管理模式。
3、计划:计划元素可以用来表示时间范围,管理员可以根据需要创建相应的时间段。
4、内容类型:内容类型元素负责将访问互联网的数据划分为音频,视频,文本,HTML文档等类型,利用内容类型我们可以更精细地控制用户对网络内容的访问
5、网络对象:网络对象中包括了很多策略元素,例如计算机,计算机集,域名集,URL集等,在访问规则中定义源和目标时经常会用到网络对象。其中不太好理解的可能就是域名集和URL集。域名集:指的是像www.microsoft.com 形式的域名,可以支持通配符,如*.microsoft.com。这和URL集是有所区别的。URL集:所谓的URL,指的就是像http://www.microsoft.com的形式。说白了就是你访问某个网站时的网址。作用是用来在策略中限制哪些URL不可以访问,其他的URL可以访问。可以做到更精细的控制,小到某个站点内的某个链接。
二、网络规则:
一个数据包通过ISA时,ISA首先要检查的就是网络规则。网络规则是ISA中非常重要而又很容易被忽视的一个因素。ISA检查数据包时首先要考虑的就是这个数据包是从哪个网络到哪个网络,这两个网络间的网络规则是什么。也就是说ISA是基于网络进行控制,而不是很多网友认为的基于主机进行控制。网络规则只有两种,路由或NAT。如果A网络到B网络的网络规则为路由,那么数据包从A网络到B网络或者从B网络到A网络都有可能;如果A网络到B网络的网络规则为NAT,那么数据包只有可能从A到B,而不可能从B到A。我们可以把两个网络比喻为两个城市,网络规则就象是城市之间的高速公路,如果两个网络之间的网络规则为路由,那就象是两个城市之间有一条双向高速公路;如果网络规则为NAT,则就相当于两个城市之间有一条单行高速公路。
例如:ISA管理员在ISA的防火墙策略中已经允许外网访问内网,结果外网机器还是访问不进来?原因就是因为ISA认为内网和外网之间的网络规则是NAT, NAT规则决定了只有可能从内网到外网而不可能从外网到内网,因此当外网访问内网时,ISA只需检查网络规则就。
再如:管理员用ISA把DMZ区的一个FTP服务器发布到了外网和内网,结果外网用户访问正常,内网用户却无法访问。为什么,因为DMZ和外网是NAT关系,而DMZ和内网是路由关系。由于从DMZ到外网是NAT关系,外网用户无法通过访问规则直接访问,所以通过发布规则访问是合理的;而内网和DMZ是路由关系,因此内网用户就应该通过访问规则而不是发布规则来访问。
综上所述,网络规则是ISA进行访问控制时所要考虑的第一要务,只有从源网络到目标网络被网络规则许可了,ISA才会继续检查系统策略和防火墙策略;如果网络规则不许可,ISA会直接拒绝访问,根本不会再向下检查系统策略和防火墙策略。
三、系统策略:
如果一个数据包通过了网络规则的检查,ISA接下来就要看看它是否符合系统策略了。ISA2006标准版中预设了30条系统策略,系统策略应用于ISA本地主机,控制着从其他网络到本地主机或者从本地主机到其他网络的通讯,系统策略中启用了一些诸如远程管理,日志,网络诊断等功能。一般情况下,对系统策略只能允许或禁止,或对少数策略的某些属性作一些修改。查看系统策略方法:打开ISA服务器管理,右键点击防火墙策略,如下图所示,在查看中选择“显示系统策略规则”。如图所示:

四、防火墙策略
防火墙策略用来控制源网络和目标网络的通讯,防火墙策略的优先级就是按照规则排列的顺序,而不是按照拒绝优先原则。由于系统策略优先级也是按照序号排列,和防火墙策略优先级完全一样,我们甚至可以把防火墙策略看成是从31开始编号的系统策略。
数据包通过网络规则的检查后,就要面临系统策略和防火墙策略的检查了。ISA将从第一条策略开始检查,检查数据包的访问请求是否匹配策略,如果匹配,就按照策略的规定执行,结果无非是禁止或允许。如果不匹配,ISA就将按顺序检查下一条策略,从第一条系统策略一直检查到最后一条防火墙策略。如果把所有策略都检查完了还不匹配,最后就落到ISA自带的最后一条防火墙策略上,内容是禁止所有网络间的一切通讯。所以,我们在分析防火墙策略时,我们要注意两点,一是策略顺序,二是策略匹配。
所谓策略顺序就是指排在前面的策略优先执行,根据这个原则,我们要好好设计一下防火墙策略的顺序。
所谓策略匹配是指当ISA检测到访问请求时,ISA会检查访问请求能否匹配防火墙策略中的策略元素,策略元素的检查顺序为 协议,从(源网络),计划时间,到(目标网络),用户,内容类型。如果和这些元素都能匹配,ISA就认为访问请求匹配防火墙策略。
介绍到这儿,估计大家限制通过ISA进行一般的访问控制是肯定没有问题的了。那如果要进行一些复杂的限制怎么办呢?例如,公司要限制员工在上班时间通过HTTP协议访问一些具有特定扩展名的文件,如声音文件,如图像文件等;有的企业可能需要禁用QQ或MSN等即时通讯软件;还有的企业禁止用户上网发贴等等,这些都可以通过ISA来完成。下面咱们就来看两个例如:
实例:限制QQ、MSN等即时通讯软件
这就要用到HTTP签名的功能。签名其实就是HTTP数据包中有规律出现的特征数据。我们想阻止一些HTTP应用程序,就可以分析一下这些程序在通讯时有哪些特征数据,然后把这些特征数据以签名的形式提交给ISA,这样ISA就可以阻止这些应用程序了。我们在此以微软的MSN为例:
XP中自带了一个MSN客户端软件Windows Messenger,以此软件为例,Windows Messenger登录服务器时有三种方式:
1、 使用MSN Messenger协议直接连接MSN服务器的 1863端口。
2、 使用HTTP协议连接MSN服务器的80端口。
3、 使用代理服务器连接到MSN服务器的80端口。