Comodo Firewall 的特点


状态检测

Comodo Firewall V3除了传统包过滤以外,还实现了TCP/UDP/ARP SPI全状态检测(
Stateful Packet Inspection
)

判断一个防火墙是不是状态检测防火墙,有一个简单的办法,就是看IP规则的数量,数量少的极有可能是。

Comodo V3自带的Global Rules 很少,更容易使用,更安全。

对于普通用户,可以由防火墙引擎自动处理的,就不需要添加外部规则了。

P2P模式 只有1条

隐身模式 4条



什么是状态检测?

每个网络连接包括以下信息:源地址、目的地址、源端口和目的端口,协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息叫作状态(Stateful),能够检测每个连接状态的防火墙叫作状态包过滤防火墙。
它除了能够完成简单包过滤防火墙的包过滤工作外,还在自己的内存中维护一个跟踪连接状态的表,比简单包过滤防火墙具有更大的安全性,更高的执行效率。

Comodo的状态检测不仅支持TCP协议,而且支持无连接的UDP协议,通过建立一个虚拟UDP连接,来实现,叫Pseudo UDP SPI 。

最新的V3 还加入了对ARP 数据包的状态检测。


传统包过滤,监视的是每个数据包,割裂了数据包之间的有机联系。

状态检测最显著的特点,就是通过以前的数据包建立一个内在存中跟踪连接状态的表,然后,比较当前数据包和连接的关系,判断是已有连接的延续[通过动态建立临时规则来放行],还是新的连接。
状态检测追踪的不是一个数据包,而是数据流。
还可以有一个名字叫
动态包过滤
,以区别于传统的静态包过滤。





Comodo Firewall 规则综述





Comodo Firewall 是双层过滤:应用程序过滤和互联网过滤
Comodo Firewall 规则分为 Application Rules 应用程序过滤和 Global Rules 互联网过滤。
Application Rules 设置的是一个或一组程序的网络访问规则。
Global Rules 控制的是所有的网络访问,独立于应用程序。

你可以把Global Rules看作一个独立的许出不许进的软路由器或硬件防火墙,要在本机开放端口,需要在路由中进行端口映射。


从某种意义上说,当你安装 Comodo V3 并重启后,你处于隐身模式中,端口对外是不可见的 (当然不是拔了网线那种)。外来的连接请求将被拒绝,数据包被丢弃。


只有两种可能会允许外部的数据包通过:
1. 由本机发起的连接,你主动连接别人,会产生应答数据包,Comodo会允许外部传入的正常回应的数据包通过,在这里 Comodo的 TCP SPI / UDP Pseudo SPI 会起作用,它可以判断哪些数据包是属于目前存在的已经建立好的本地连接。简单的说是“许出不许进,或者有条件的进 No Money,No Pass”
2. 通过添加规则,强行允许外部连接,允许数据包通过某些特定的端口。简单的说“我的眼里只有你  you are the only one in my heart”


Global Rules 和 Applications Rules 是没有优先级的,只是作用的范围和时间不同,一个程序要正常的访问网络,需要在Global Rules 和 Applications Rules 都进行设置。Global Rules 是全局规则,对所有程序有效,Applications Rules 对应的是特定的程序。

一个连出请求,需要先检测Applications Rules,通过以后才是Global Rules
本机 -> Applications Rules -> Global Rules -> 外部网络
一个连入请求,需要先检测Global Rules,通过以后才是Applications Rules
外部网络-> Global Rules -> Applications Rules -> 本机



借助于 Comodo 的强大数据包过滤,是的强大。第一种情况,我们通常只需要添加Application Rules,而不需要改动Global Rules。但是,当碰到一些作为服务运行的程序和P2P程序、某些网络游戏时,必须允许外部主动连接我们,只设置 Applications Rules 是不行滴,我们要修改 Global Rules,和端口映射很像。


Comodo 的状态检测和其它防火墙的区别,还有一点,就是状态包检测和程序规则的绑定

一般的包过滤防火墙当添加一条P2P规则,开放本机的某一个端口以后

当程序运行时,端口是开放的;当程序关闭以后,端口只能做到关闭,而不是隐藏。


而Comodo 的动态包过滤是自适应的,可以自动调整。

当在Global Rules 建立一条允许开放P2P端口的规则以后

当程序运行时,端口是开放的;当程序关闭以后,端口自动隐藏。

即使用只有一条规则的P2P模式,也是如此。





Global Rules  全局规则


我主要讲隐藏端口模式,又叫隐身模式的设置。 适用于较少使用P2P或者使用固定P2P端口的用户。

P2P 模式 只要参考我写的新人指南,进行修改就可以。

P2P 模式规则




以下是经过我强化以后的 Global Rules,Network Zone 和 Port Sets参考前文。

隐身模式规则




Allow All Outgoing Requests If The Target Is In [Local Area Network]
Allow All Incoming Requests If The Sender Is In [Local Area Network]
Allow All Outgoing Requests If The Target Is In [Special & Local Multicast]
Allow All Incoming Requests If The Sender Is In [Special & Local Multicast]
这四条是局域网规则,不用局域网的可以删掉
Allow TCP In From IP Any To IP Any Where Source Port Is In [Dynamic Ports 1025-65535] And Destination Port Is In [P2P TCP In]
Allow UDP In From IP Any To IP Any Where Source Port Is In [Dynamic Ports 1025-65535] And Destination Port Is In [P2P UDP In]
P2P 开放端口规则
Allow TCP In From IP Any To IP Any Where Source Port Is 20 And Destination Port Is In [Dynamic Ports 1025-65535]
主动FTP规则
Block And Log TCP OR UDP Out From IP Any To IP Any Where Source Port Is In [Dangerous Ports] And Destination Port Is Any
阻止“危险”端口的连出
Allow And Log TCP OR UDP Out From IP Any To IP Any Where Source Port Is In [Privileged Ports] And Destination Port Is Any
允许和记录Privileged Ports 0-1024 端口的连出
Allow TCP OR UDP Out From IP Any To IP Any Where Source Port Is In [Dynamic Ports 1025-65535] And Destination Port Is Any
允许一般的网络应用
Allow IP Out From IP Any To IP Any Where Protocol Is GRE
允许×××连出,不用×××可以删掉
Allow ICMP Out From IP Any to IP Any Where ICMP Message Is ECHO REQUEST
允许 ICMP Ping 他人
Allow ICMP In From IP Any to IP Any Where ICMP Message Is ECHO REPLY
允许 ICMP Ping 他人
Allow ICMP In From IP Any to IP Any Where ICMP Message Is TIME EXCEEDED
允许 ICMP 追踪路由
Allow ICMP In From IP Any to IP Any Where ICMP Message Is PORT UNREACHABLE
允许 ICMP 端口不可达 
Allow ICMP In From IP Any to IP Any Where ICMP Message Is FRAGMENTATION NEEDED
允许 ICMP需要分片
Block And Log IP In/Out From IP Any To IP Any Where Protocol Is Any
阻止一切IP连接