查看: 5029|回复: 17
收起左侧

[讨论] 关于Comodo V3 的防火墙部分全局规则和应用程序规则之间的关系。

[复制链接]
XMAN4
发表于 2008-6-12 23:43:19 | 显示全部楼层 |阅读模式
隐隐约约听见有人以前说过,Comodo 防火墙部分全局规则和程序规则优先级是这样:对于入站请求,全局规则优先于应用程序规则,出站则相反。

在此想问一下:第一,某个端口在全局规则中放行(例如P2P的监听端口),没有运行相应程序时,这个端口是隐藏、关闭还是开放?

第二,当全局规则和应用程序规则中都设置了某个程序的相应端口,开启这个程序然后退出,相应的端口是隐藏、关闭还是开放?


个人感觉,全局规则和应用程序都打开相应端口的时候,对于入站请求,运行程序之后再退出该程序,端口仍然开放,因为全局规则仍然允许该端口;对于出战请求,关闭程序,这个端口会相应关闭,不知道这个理解对不对?
伯夷叔齐
发表于 2008-6-13 00:24:57 | 显示全部楼层
原帖由 XMAN4 于 2008-6-12 23:43 发表
隐隐约约听见有人以前说过,Comodo 防火墙部分全局规则和程序规则优先级是这样:对于入站请求,全局规则优先于应用程序规则,出站则相反。

在此想问一下:第一,某个端口在全局规则中放行(例如P2P的监听端口),没 ...

不管全局规则和程序规则怎么设置,只要程序没有运行,这些端口都处于隐藏状态。规则只是开放一个通道而已,用到这些端口的是程序。

[ 本帖最后由 伯夷叔齐 于 2008-6-13 00:26 编辑 ]
XMAN4
 楼主| 发表于 2008-6-13 00:41:11 | 显示全部楼层
是不是可以这么说,即使全局里面一条规则也没有,程序规则中不允许某个端口,或者不运行程序,那么这些端口就一直处在隐藏状态。
伯夷叔齐
发表于 2008-6-13 00:47:20 | 显示全部楼层
原帖由 XMAN4 于 2008-6-13 00:41 发表
是不是可以这么说,即使全局里面一条规则也没有,程序规则中不允许某个端口,或者不运行程序,那么这些端口就一直处在隐藏状态。

完全正确,但有一点就是,如果全局规则本来都有的都删除掉后,会造成别人可以轻易PING到你的电脑。

再根据KTANGO在后面的解释,我也补充一下,是否正确,希望KTANGO指正。那就是:从这里可以看出,COMODO还没有实现ICMP层面的“虚拟”SPI。

[ 本帖最后由 伯夷叔齐 于 2008-6-13 09:42 编辑 ]

评分

参与人数 1经验 +6 收起 理由
某某猫 + 6 感谢解答: )

查看全部评分

XMAN4
 楼主| 发表于 2008-6-13 01:08:18 | 显示全部楼层
明白了,那我就加上一条,Block In ICMP  Request
ktango
发表于 2008-6-13 07:49:59 | 显示全部楼层

回复 1楼 XMAN4 的帖子

1)COMODO防火墙V3的全局规则应该是使用NDIS技术而应用程序规则是应该使用TDI技术,入站的数据包当然是先通过全局规则再到应用程度规则,出站的数据包当然是先通过应用程序规则再到全居规则,
2)COMODO防火墙V3有TCP及UDP的SPI,所有关於这两个协议主动入站的数据包都应该会被拦截,理论上所有端囗都是隐藏的。

评分

参与人数 2经验 +12 收起 理由
某某猫 + 6 版区有你更精彩: )
rushmore + 6 版区有你更精彩!:)

查看全部评分

伯夷叔齐
发表于 2008-6-13 09:39:29 | 显示全部楼层
原帖由 ktango 于 2008-6-13 07:49 发表
1)COMODO防火墙V3的全局规则应该是使用NDIS技术而应用程序规则是应该使用TDI技术,入站的数据包当然是先通过全局规则再到应用程度规则,出站的数据包当然是先通过应用程序规则再到全居规则,
2)COMODO防火墙V3有TCP ...
非常棒的解释。但如果KTANGO能够就TDI和NDIS针对程序网络规则和全局网络规则再进行详细的解释(比如怎么分析得来,其他防火墙是否也是同样的方式,这样的好处等),那就更好了,也让我们从实践到理论,得到一次技术的升华。

再次感谢ktango。

引用一段:

流氓软件和木马在各种防火墙和杀毒软件的“打压”之下已经开始逐步向内核“退缩”,传统的依靠查看本地打开的端口与进程的关系的方法检查非法网络访问已经不再适用,个人防火墙已经成为装机必备的软件。目前主流的个人防火墙软件都是构建在Windows内核之上的,但是Windows的内核驱动是分层的,防火墙工作在哪一层实际上就决定了防火墙的性能,工作在TDI层的防火墙是无论如何也不能知道NDIS层的数据收发情况的,因为TDI驱动层在内核中是高于NDIS驱动层的。过去的木马(上个世纪九十年代以前)都是构建在Windows应用层上的普通程序,工作在TDI层的防火墙可以轻易地觉察并阻断它们非法的网络访问,但是对付缩进内核的木马和流氓软件,单纯的依靠TDI层拦截已经显得力不从心。内核木马的特点是不依赖句柄,不绑定端口(NDIS),可以工作在TDI层,甚至在NDIS层,所以,真正可靠的防火墙应该在NDIS层建立防线。

    虽然真正可靠的防火墙应该工作在NDIS层,但是,个人防火墙和用于服务器的防火墙毕竟还是有一些不同之处,工作在服务器端的防火墙只需要根据协议、地址和端口判断是转发还是丢弃就行了,高级一点还可以分析包内容,根据预设的专家系统判断是正常的数据包还是非法攻击数据包,这样的防火墙还可以用硬件实现。但是个人防火墙的特别之处就是需要与用户交互,用户数据多是基于IP协议的,并且用户并不关心协议的细节(掌握这些对大多数用户来说有点难度),所以个人防火墙除了通过IP层的协议进行过滤之外,更主要的手段是根据用户的意愿允许还是阻止某个进程(程序)访问网络,在这个粒度上用户比较容易理解和控制。从这一点上讲,工作在TDI层的防火墙的优势就是能够在网络访问发生的时候追踪到发起访问的进程名称,从而给用户一个提示,而工作在NDIS层的防火墙则不容易做到这一点。因为发送数据时上层驱动将数据包提交到NDIS的发送队列中后就返回了,当数据包被真正投递的时候已经无从确定是哪个程序(进程)发送的了,对于收到的数据包需要根据端口号判断是哪个程序的,但是在NDIS层并不知道端口号和进程的对应关系,所以无论数据发送还是接收都无法有效地确定是属于哪个进程的数据。如果不能确定哪个进程访问网络,只是根据地址、端口和协议进行过滤对(大多数)用户来说是很不友好的,所以最好的个人防火墙(不一定是最安全的)应该是TDI+NDIS双保险:TDI层根据进程级访问过滤,NDIS层根据地址、端口和协议过滤。


[ 本帖最后由 伯夷叔齐 于 2008-6-13 11:25 编辑 ]

评分

参与人数 1经验 +6 收起 理由
某某猫 + 6 版区有你更精彩: )

查看全部评分

ktango
发表于 2008-6-13 12:47:15 | 显示全部楼层

回复 7楼 伯夷叔齐 的帖子

COMODO防火墙使用NDIS技术已经得到官方证实,NDIS的缺点是并不能针对应用程序设置规则,所有规则都是全局规则,就是这个原因个人认为COMODO防火墙的全局规则是使用NDIS技术,个人认为应用程序规则是使用TDI技术的原因是它只能为TCP及UDP协议设置规则,而不能为ICMP协议设置规则,这正是使用TDI技术的缺点------不支持ICMP协议,当然COMODO防火墙也有可能使用比TDI更高层的技术,但这样防火墙比使用TDI技术就更不安全,COMODO防火墙当然不可能这样做,当出站数据包通应用程序规则(TDI)到全局规则(NDIS)并在NDIS层记录用来对进入的数据包进行状态检测(SPI),在NDIS层的防火墙只准许乎合SPI的数据包进入,这样所有入站的数据包都在NDIS层进行过滤而出站的数据包又能联系到应用程序,这样就能发挥TDI及NDIS这两个技术的优点。

P.S. : Jetico及LNS都使用TDI及NDIS技术进行过滤。

评分

参与人数 1经验 +6 收起 理由
某某猫 + 6 版区有你更精彩: )

查看全部评分

XMAN4
 楼主| 发表于 2008-6-13 13:06:31 | 显示全部楼层
受教了,经过几位高人指点,又学了不少东西 [:26:]
ktango
发表于 2008-6-13 13:36:15 | 显示全部楼层

回复 4楼 伯夷叔齐 的帖子

根據伯夷叔齐兄的說法,COMODO應該还没有实现ICMP层面的“虚拟(pseudo)”SPI,否則别人應該不能PING到本機电脑。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-3 05:22 , Processed in 0.109761 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表