以前学习ISA对访问规则和策略方面理解的不到位,今天听过岳老师的课后又有了更深刻的理解,在此将个人见解给大家分享一下。
ISA将经由自己的数据包通过规则和策略决定其是允许、拒绝或者是丢弃,有明确的匹配顺序。ISA是通过网络划分界限的,即它是基于网络进行控制的。如将内部主机看做是内部网络,将自身当做本地主机,等等。
重新认识ISA规则和策略_ISA
如上图所示,当数据包通过ISA时,ISA查找匹配项是有顺序的,它将从第1项网络规则开始匹配,如果和规则匹配,将直接放行,反之,将拒绝或丢弃该数据包;只有当网络规则许可后才和系统策略比较,如果能与系统策略匹配,则直接放行,与后面的防火墙策略想比较,反之,将拒绝该数据包;如果前两项都比较而且通过了,才和防火墙策略想比较,如果匹配,则允许通过,否则,将拒绝该数据包。具体看下图:
重新认识ISA规则和策略_休闲_02
1.当和网络规则匹配时,如果不符合网络规则,将直接丢弃该数据包;如果符合网络规则,可以放行(让其与下面的策略匹配),但能否收到外部数据,还要看是双方是什么关系:
①路由关系:数据既可以出,又可以入。可以当做是双向的通道;
②NAT关系:数据可以出,但是不能入。可以当做是单向的通道。
举个例子让大家增加一些感性认识,如下图,是ISA的三个网络规则,其中前两个是路由关系,第一个代表本地主机可以访问所有的网络,所有网络也可访问本地主机;第二个是×××客户端和被隔离的×××客户端可以访问内部网络,内部也可访问他们,都是双向可以通讯。第三个是NAT关系,即×××客户端、被隔离的×××客户端和内部网络和访问外部网络,但是外部的网络却不可以访问它们,大概就是这个意思。
重新认识ISA规则和策略_ISA_03
特例:有一种特殊的情况,即使是路由关系也做NAT处理。如下图所示环境:
重新认识ISA规则和策略_规则_04
如果此时内网的客户机和DMZ区域的Web服务器是路由关系,但是实际中ISA会当做NAT处理,内部可以访问Web服务器,但是服务器不能访问内网。其实这也不能怪ISA,这是微软设计的问题,主要就是ISA中Web筛选器的缘故,它在这种环境下会将路由当做NAT来处理。其实,有时很多莫名其妙的问题也是出在筛选器的身上,工作中多注意一下。
2.当通过网络规则后,才有资格和系统策略想匹配。ISA会将所有的策略按序号(排列顺序)依次列出,从第一条策略自上而下开始一条条匹配,如果和前面的一条匹配,直接和防火墙策略比较,如果和策略不匹配,则拒绝此数据。ISA内置了30条系统策略,关于ISA必要的规则均有,可以在“服务器名—防火墙策略—查看—显示系统策略规则”里看到。
重新认识ISA规则和策略_ISA_05
重新认识ISA规则和策略_ISA_06
大家容易忽视网络规则和系统策略,有时认为没有做什么防火墙策略,怎么可以和外网ping通呢?或者是其他的问题,等等吧,这时候就要在网络规则和系统策略里找了,不再一一枚举。
3.当前面的网络规则和系统策略都许可的情况下,再和防火墙策略想比较,如果和防火墙策略匹配,才可以通过,反之,将被拒绝。防火墙策略和系统策略其本质是一致的,防火墙的第一条策略可以看成是第31条系统策略,后面以此类推。注意,最后有一条是隐式拒绝。如果和前面的规则、策略都不匹配时,它将会把该数据包拒绝掉。有时你自定义的规则或者策略不准时,不能让数据和其匹配,也将被它所拒,这和ACL中的规则很相像。