1、内容概要
在ISA Server 2004中有个非常好的新特性:可以定时监控从ISA Server到指定的计算机、URL或者任何网络的连通性。你只需要配置连通性验证工具就可以实现监控,但是,你想知道它们是如何工作的吗?它们与哪些访问规则有关?活动是如何被记录的?如果你对这些有兴趣,这篇文章将带给你更多的信息。
通过连通性验证工具的帮助,你可以监视ISA Server到任何网络的指定的服务器之间的连接,你可以通过FQDN或者IP地址来指定;或者通过URL来验证ISA Server和一个指定的Web服务器之间的连接。你可以配置用于决定连通性的方式有以下三种:
-
Ping:当你使用这种方式,ISA Server发送ICMP ECHO_REQUEST到指定的服务器,然后等待ICMP ECHO_REPLY。使用这种方式验证服务器是否在运行,以及 是否可以从ISA Server到达。
-
TCP connect:当你使用这种方式,ISA Server试图建立一个到指定服务器的指定端口的TCP连接。使用这种方式验证服务器是否在运行,以及 是否可以从ISA Server到达。
-
HTTP request::当你使用这种方式,ISA Server发送一个HTTP GET请求然后等待回复。使用这种方式验证服务器是否在运行,以及 是否可以从ISA Server到达。
注意:默认情况下,每30秒检查一次连通性,这是全局设置,并且应用到所有的连通性验证工具。根据ISA帮助文件的说明,你可以使用刷新速率脚本来修改时间间隔,此脚本你可以在ISA Server Coding Corner下载,但是,现在还没有这个脚本。
下一节中我们将继续研究上诉连通性验证工具更多的细节。我们的试验环境为ISA Server 2004 标准版SP1,另外,需要你能理解访问规则的处理过程,你可以看理解ISA 2004访问规则的处理过程。
2、Ping
为了研究Ping方式,我们先建立一个简单的使用Ping方式到www.cevi.be的连通性验证工具,如下图所示:

当Ping连通性验证工具在指定的超时时间内得到一个有效的结果时,表明收到了一个回复,此结果就是Ping的响应时间,否则就会显示错误信息。
如果我们监控ISA的实时日志,并且使用目的地址193.75.143.142 (www.cevi.be)进行过滤,则不会显示任何日志。那Ping请求是如何每30秒发送一次的呢?你可以使用网络监视器来监控,结果如下图所示:

为了理解这个行为,你应该知道任何状态包过滤机制都是基于连接的。连接初始化时和关闭时将被记录,而不是记录单独的数据包。但是,并不是所有协议都是面向连接的,例如ICMP和UDP协议。为了这个问题,ISA将维护一个模拟的连接状态表,它是这样工作的:
-
当防火墙策略允许某个数据包首次发送或者接收时,在连接表中会建立一个连接项,记录下连接的参数,例如源地址、目的地址、协议、源端口和目的端口等等,然后,一个超时时间为60秒的计时器开始计数,最后建立一个新连接初始化的日志项;
-
当后续数据包到达,ISA将检查连接表中首次连接时建立的连接 项,看连接参数是否匹配已经建立的连接,如果匹配,数据包将在同个连接中接收,并且复位计数器;此时不会再进行日志记录,因为数据包属于同个会话。
-
当计数器超时,该连接项将从连接表中移除,然后建立一个 关闭已有连接的日志。如果后面还有数据包到达,ISA会将新的数据包作为新的连接请求并进行初始化。
你可以通过禁止Ping连通性验证工具来验证上述行为。至少过1分钟后,再次观察ISA实时日志。然后你允许Ping连通性验证工具再应用修改,如果你观察ISA日志,你可以发现一条连接初始化的日志,如下图中的第一个日志:

现在,我们再禁止Ping连通性工具,应用修改。回到ISA实时日志,过一会后,你可以看到上图中的第二个日志(正在关闭的连接)。
如果你更为仔细的观察日志,你可以看到Ping连通性验证工具是通过访问规则Allow ICMP requests from ISA Server to selected servers允许的。你建立过这条访问规则吗?没有,它是系统策略的第11条。这条系统策略默认就是启用的。为了验证Ping连通性验证工具与访问规则的关系,我们禁止第11条系统策略,然后新建一个访问规则Ping Access允许本地主机到所有网络的Ping协议。日志如下图所示:

在禁止第11条系统策略和应用修改后,没有任何日志被记录下来,这是因为防火墙策略的修改只对新建的连接有效。记住Ping连通性验证工具是持续活动的,所以在连接表中始终是活动的,直至连接请求超时,此时你就可以看到正在关闭的连接的日志。然后我们禁止再允许Ping连通性验证工具,你会发现和我们设想的一样,Ping被默认规则所拒绝,因为没有匹配允许它访问的规则。现在我们再配置我们的允许Ping访问的规则,你会发现后续的Ping连通性验证会被我们的访问规则所允许。
尽管Ping连通性验证工具不会在ISA的日志中记录下大量信息,你还是可以通过修改规则属性来禁止它做日志记录。右击第11条系统策略,选择属性,然后在动作标签禁止记录匹配规则的请求。
3、TCP Connect
为了研究TCP方式,我们先配置一个简单的到达www.cevi.be的连接FTP端口(TCP 21)的TCP连接连通性验证工具,如下图所示:

当TCP连接连通性验证工具在指定的超时时间内得到一个有效的结果时,表明收到了一个回复,此结果就是TCP连接的响应时间,否则就会显示错误信息。这个响应时间是从发送TCP连接请求(SYN)到收到TCP连接回复(SYN ACK)的时间。
如果你观察ISA实时日志,并使用目的地址193.75.143.142 (www.cevi.be)来进行过滤,你可以看到如下图所示的日志:

如果你仔细的观察日志,你会发现两个奇怪的地方:日志时间和对应的规则。你可以看到关闭连接的时候和紧随的初始化连接的日志时间是一样的,这表明ISA保持FTP连接直到下个连通性验证开始,当关闭连接后马上开始了新的连接。你可以使用网络监视器来进行观察,注意看下图,活动连接是强制关闭的,是通过RST数据包来进行终止的。

其次规则列是空白的。这表明没有已知的系统策略或者防火墙策略显式的允许它访问。因此我们可以说TCP连通性验证工具是没有按照正常的访问规则处理过程进行处理,并且在你创建TCP方式的连通性验证时可能有隐藏的动态系统策略被创建以允许它的访问。我认为这是非常不好的,因为防火墙管理员不能控制它,所以应该在以后的补丁中进行修改。
TCP连通性验证工具产生的流量没有在日志中清楚的区分出来,另外它在日志中建立了大量的信息而你没有办法进行控制,所以,请你尽量少使用TCP方式的连通性验证工具。
4. HTTP Connect
为了研究HTTP方式的连通性验证,我们先配置一个简单的到达www.cevi.be的HTTP连接连通性验证工具,注意在配置向导的最后,提示你确认已经启用了一条系统策略,建立后如下图所示:

通过配置HTTP连通性验证工具,系统策略第18条将会启用以允许本地主机到所有网络的HTTP/HTTPS请求,你可以将目的从所有网络修改为具体的某个计算机集。当你删除了所有使用HTTP/HTTPS的连通性验证工具,这条系统策略将自动禁止。
当HTTP连通性验证工具在指定的超时时间内获得一个有效的回复(正常的HTTP响应代码,例如1xx, 2xx, 3xx or 401)时,结果就是HTTP GET的响应时间。
如果你观察ISA实时日志,使用目的地址193.75.143.142 (www.cevi.be)来进行过滤,你可以看到如下图所示的日志(启用HTTP连通性验证工具后再禁用):

在协议列是大写的HTTP表明是由防火墙组件所记录的,小写的http是由Web代理过滤器所记录的。据我所知,防火墙组件处理TCP连接,而Web代理过滤器对实际的HTTP请求进行过滤,在此是HTTP GET请求。
另外比较有趣的是,我们看到连接初始化和关闭连接的日志各两条。其中第一个连接初始化和关闭连接的日志,是通过第17条系统策略Allow HTTP/HTTPS requests from ISA Server to specified sites来允许的。这非常奇怪,因为第17条系统策略和连通性验证工具没有任何关系。为了验证,我们禁止它,你可以发现HTTP连通性验证工具同样正常的工作。此外,对于第二个连接初始化和关闭连接的日志,规则列是空白的。
和上面提及的一样,HTTP连通性验证工具是通过第18条系统策略Allow HTTP/HTTPS requests from ISA Server to selected servers for connectivity verifiers来允许的,并且和日志中的允许连接的项对应的规则名一致。
我们同样使用网络监视器来观察:

你可以清楚的看到TCP连接请求的三次握手(SYN, SYN-ACK和ACK),,五次HTTP GET请求都成功(HTTP状态码为200),并且最后TCP连接正常的关闭(双向的FIN-ACK和ACK)。
为了找出HTTP连通性验证工具与访问规则的相关性,让我们禁止第18条系统策略然后建立我们的防火墙策略HTTP Access来允许从本地主机到所有网络的HTTP/HTTPS协议,注意第17条系统策略仍然是允许的。

在禁止第18条系统策略后并应用修改后,你可以看到HTTP连接请求如我们预期的那样被默认策略拒绝(顺序为初始化连接,连接被拒绝,关闭连接)。在你建立好自定义的访问规则并应用修改后,你可以看到HTTP连接请求被我们自定义的访问规则允许(顺序为两次初始化连接,允许连接,允许连接等等)。
最后,HTTP连通性验证工具也在日志中建立了大量的信息,每个HTTP连通性验证工具每30秒就会在ISA日中建立日志。不过,你可以禁止它的日志记录。右击第18条系统策略,选择属性,然后在动作标签禁止记录匹配规则的请求。
5. 结论
在这篇文章中,我们测试了ISA 2004连通性验证工具的大部分特性。对于Ping方式,我们知道了ISA Server是如何通过模拟的连接状态表来处理非TCP流量;当使用TCP连接,我们观测到了连通性验证工具没有按照正常的访问规则处理过程来进行处理;最后,我们在使用HTTP方式时发现了未决的日志记录。 【转自世纪安全网 http://www.21safe.com】
|