【IT168 技术】在上一篇中,我们介绍了ISA Server 2006的安装及客户端的使用方法,即ISA作为代理方面的应用,发现ISA标准版特别适合中小企业网络构建,三种客户端可以完全满足企业的需求。今天咱们来介绍一下ISA 作为最优秀的一款软件防火墙,如何为企业的网络安全助力。在此我们会介绍两大方面的内容:ISA的访问控制及服务器发布功能。
访问控制:
很多公司都有控制员工访问外网的需求,例如有的公司不允许员工访问游戏网站,有的公司不允许员工使用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端口。
其中第一种和第二种连接方式是很容易控制的,我们在ISA上封掉MSN服务器即可,虽然MSN服务器数量不少,但毕竟只是时间问题。第三种方法就不太好控制了,访问者通过代理服务器绕到MSN服务器上,从ISA的角度来看这只是内网的一台客户机访问外网的一台服务器而已。我们不可能封掉所有的代理服务器,这时就要靠签名了,我们要找出MSN客户端通过代理服务器访问MSN服务器时的特征数据,依靠这个来封掉MSN。
那么关键问题来了,怎么找出这个特征数据,也就是咱们所说的签名呢,有的网站上已经公布出来一部分,如微软就已经把MSN的公布出来了:
▲ 图:MSN的部分签名
那如果有的应用程序没有公开的签名怎么办,那就需要大家自己动手来找出特征数据了,这就要用到协议分析软件,又称抓包软件,那如果我们要的签名在表中没有怎么办呢?我们可以通过抓包来分析。常用的抓包软件有Windows系统自带的网络监视器,或者是Ethereal,sniffer等。 但在此要求管理员非常熟练的使用协议分析软件。而且有些程序的签名也不是一承不变的。可能会发生改变。所以最好结合连接服务器列表,以QQ为例,可以找出所有的QQ连接服务器,做一个计算机列表。然后做一个访问规则,拒绝从内网到这些目标的通讯即可。但找出这些服务器地址,也是一个费神的工作。唉,不多说了。
以上咱们介绍的是ISA的访问控制,可以看到作为全球成熟品牌秀的软件防火墙,ISA在功能和易用性方面还是当之无愧的。下面我们再来介绍一下如何利用ISA的服务器发布功能来保护企业内部的服务器。