看到这儿,有些朋友可能得出结论了,哦,原来用域名禁止访问某个网站是不成立的。错!如果202.108.22.5的反向解析结果为,那么拒绝百度的防火墙策略就是成立的!
还是来认真分析一下原理吧,当客户机用HTTP访问目标网络时,ISA判断目标网络的根据是HTTP主机头,主机头的内容显然源自我们在浏览器中的输入。当我们在浏览器中输入www.baidu.com时,ISA开始检查访问请求能否匹配第一条防火墙策略,也就是拒绝内网访问百度的那条策略。ISA先检查,从(源网络),计划时间三个元素,这三个元素都能和访问请求匹配,然后ISA检查到(目标网络)元素,ISA根据主机头内容判断访问请求中的目标网络是www.baidu.com,而防火墙策略中的目标网络元素也包含了www.baidu.com,因此ISA判断访问请求和到(目标网络)元素也能匹配上。然后ISA检查用户和内容类型两个元素也可以匹配,所以ISA判断访问请求和拒绝访问百度的防火墙策略完全匹配,于是按照防火墙策略的要求拒绝了这次访问请求。
当我们在浏览器中输入202.108.22.5时,ISA是这么检查的。首先还是判断 协议,从(源网络),计划时间三个元素匹配策略,然后检查到(目标网络)元素,ISA判断访问请求的目标是202.108.22.5,而防火墙策略的目标网络是包含www.baidu.com的域名集,这时ISA会对202.108.22.5进行DNS反向解析,如果解析的结果等于www.baidu.com。,ISA就认为访问请求的目标网络和策略的目标网络也是匹配的。如果反向解析的结果不等于www.baidu.com(解析的结果确实不是百度的域名),ISA就认为访问请求的目标网络和防火墙策略的目标网络不匹配。这样ISA就会停止匹配第一条拒绝访问百度的防火墙策略,转而匹配第二条允许内网任意访问的防火墙策略,匹配结果是完全成功,因此ISA执行第二条防火墙策略规定的动作,允许了对202.108.22.5的访问。
如果客户机不是用HTTP协议访问目标网络,那么匹配的过程又稍微有些不同。例如客户机用FTP协议访问www.baidu.com,那么客户机在发送访问请求时不会把www.baidu.com作为目标网络,而是先对www.baidu.com进行域名解析,然后把解析出来的IP作为目标网络发送给ISA。ISA对访问请求进行匹配时,如果被匹配的防火墙策略用域名描述目标网络,ISA就会对访问请求发来的IP进行反向解析,看解析出的域名能否和防火墙策略的目标网络相匹配。根据这个结论,我们用IE访问www.baidu.com会被拒绝,因为刚才分析过了,此时客户机将域名www.baidu.com作为访问请求中的目标网络发送给ISA,ISA认为访问请求和拒绝访问百度的防火墙策略完全匹配,因此客户机被拒绝访问。但如果客户机在命令行下输入telnet www.baidu.com 80,如下图所示,直接连接百度的80端口,ISA会如何处理呢?
如下图所示,ISA对访问请求放行了,显然这次的访问请求没有和拒绝访问百度的策略匹配上,原因是什么呢?

我们可以总结一下,客户机使用HTTP协议访问时,目标网络取决于主机头,而访问者输入的主机头既可能是域名也有可能是IP(一般以域名居多);。客户机使用其他协议访问时,目标网络一定是以IP进行描述!
现在我们考虑一下应该如果用ISA禁止用户访问某个目标网络,那这个目标网络应该如何描述,显然只用域名描述是不严谨的,除非你确信DNS反向解析的结果对你有利(大部分情况下你会失望的)。如果保险一些,我们应该用域名+IP来描述目标网络。以刚才的限制百度为例,用nslookkup查出www.baidu.com的域名解析结果为202.108.22.43和202.108.22.5。创建一个计算机集将这两个地址包含进去,如下图所示。
分页: [1] [2] [3]
TAG: ISA 防火墙 策略 分析