Netexpert FAQ 网络分析专家学习建议入口 @netexpert成员申请指南
netexpert积分规则的说明 Netis招贤纳士(2008年11月22日更新)
发新话题
打印

<zt>Windows 自带的防火墙究竟是不是“stateful firewall”?

<zt>Windows 自带的防火墙究竟是不是“stateful firewall”?

Windows 自带的防火墙究竟是不是“stateful firewall”?


https://www.microsoft.com/techne ... s1001.mspx?mfr=true

注意看,ICF's engine uses addresses, ports, sequence numbers, and flags in its state table. For TCP, the outgoing request must have only the SYN flag turned on; incoming replies must have only the "ACK" and "SYN" flags turned on; the next outgoing packet must have only the "ACK" turned on. If this sequence is violated, ICF terminates the connection. Also, ICF will drop any incoming packet (including "ACK-SYN") that can't be associated with (using addresses, ports, and sequence numbers) a previous outgoing "ACK." ICF also drops any incoming unsolicited "SYN" unless it matches a user-defined exception (see the next section). When ICF discards packets, it does so silently; it never returns an "RST."

ICF会检查“TCP 序列号”。 这个功能只有chx-i是正面明确表示使用的,8signs在官方网站上没有详细说明,只是在防火墙安装目录下的帮助文件里提了一下,而且,8signs防火墙从来就没有stateful logging,也就是说,即使它丢弃了一些有危害的数据包(TCP 序列号欺骗),管理员也并不知道。
至于其他任何市面上的personal firewall ,无论LnS,Outpost还是ZA,都没有这个功能。

继续往下读我们还可发现,ICF甚至还有UDP 的SPI

因此,说Windows自带墙形同虚设,不是“专业”的防火墙,是站不住脚的。恰恰相反,在一般的网络情况下(即普通公网),ICF的防外能力足以与chx相媲美。


对于ICF的诟病 通常有如下两种:
1. 没有应用程序对外连接的控制,这样木马就可以顺利地发送私密信息了

回应:倘若木马技术仍保持在最原始的状态,这样说从某种意义上是讲得通的;不过这种档次的木马,最原始的antivirus也应该毫无困难地查出并杀之。可惜,现在的木马是需要由HIPS来监控才可能防止的,木马(trojan,spyware,keylogger,rootkit etc) 都是运用隐蔽的技术插入合法的进程或从底层直接绕过网络层的监控。传统的TDI过滤对此是毫无办法的。
再者,ICF并非是无提示的防火墙,对要求Server rights的应用程序,ICF都会给出提示,实际上,这比CHX-I还做得好,对于没有经验的用户来说,不必为BT或QQ等软件编写规则即可方便的使用了。
第三,ICF的stateful log在reason上虽不像CHX那样精确,但相比其他防火墙而言,已是相当详尽了

2. 没有ARP等等协议的保护,无法保证内网的上网安全。

这个可从两个方面来谈论,而且有趣的是,也可拉扯上CHX-I。
先请各位阅读下文:
http://technet.microsoft.com/en-us/library/bb878072.aspx

大致说来,Windows自带的过滤从外到内是IPSEC到filter-hook(ipfltdrv.sys)再到firewall-hook(Ipnat.sys)

所谓的IPSEC也就是我们曾经用过的IP安全策略,通过封锁一些端口来达到安全的目的。

filter-hook driver 据说微软不推荐第三方厂商用这种技术来开发防火墙,但是大名鼎鼎的CHX-I 2.82就是运用的这个技术。至于CHX更早的版本用的是什么方式现在已不得而知,但就最鼎盛时期而言,作为最后一个稳定的官方释放版本,却并没有用微软推荐、大部分防火墙所使用的 NDIS层过滤,然而在兼容性、稳定性、资源占用以及包过滤的强度,则是首屈一指的。 chx 3.0 为了支持更多的协议,才改用NDIS 层过滤的,要知道8signs在诞生的第一天起就用NDIS IM driver了。

firewall-hook 同样微软不推荐第三方厂商使用这技术。自带墙就是这一层。装了HIPS的用户可能知道,如果第一次激活ICF,会跳出询问Services.exe调用ipnat.sys的驱动,这就对了。

NDIS在最底层,严格上讲,当然可以过滤任何协议,不过大部分个人防火墙虽然是NDIS层,却都无法对用户进行有效的ARP保护。ICF的层面太高,是不可能支持非IP协议的。这是它所处结构的位置而被限制的。不过,互联网通用的协议还是TCP/IP协议,所以ICF还是可以发挥极大的作用的。再者,由于所处层面和其他防火墙不同,就保证了可以安装任何别的防火墙来作ARP保护却不会产生冲突。但若同时安装两个以上第三方防火墙就难保不出现问题了。




关于TCP序列号的几点说明:
序列号发明的初衷应该是为了效率而不是安全的原因。
个人电脑被序列号欺骗的可能性几乎为零。而且对服务器而言,即使遭遇欺骗,应用层如果没有什么已知的漏洞,黑客也难以下手。真正的破坏是高层的,欺骗无非是隐藏自己的真实地址而已。
即使CHX日志显示 invalid sequence no. 也并非说明是坏的数据包,绝大多数情况是 out of order。有兴趣大家可以Google搜寻相关信息。
你总是默默无语。看着你对我笑,其实我知道你也不快乐。你的眼睛,又快乐又悲哀!

TOP

楼主说的防火墙我没有看明白是怎么回事,我用的是瑞星的,没有觉得有这么多问啊。

TOP

发新话题
版块跳转