[原创]Jetico in ubuntu Way 之 : Jetico V1 System IP Table 详解
Sunday, 11. February 2007, 10:39:53
作者:ubuntu
版权声明:本文采用创作共用协议 在遵守创作共用协议,非商用,非盈利以及保留作者和版权声明的前提下,您可以任意转载本文。将本文用于商业用途请先联系作者,以获得授权。作者不对读者使用本文中软件造成的损失承担任何责任。
本文作者保留对违反本声明的行为进行法律诉讼的权利。
System IP Table 对应于 Network Packet filter的 IP filter,所生成的规则都是只和 IP 数据包有关,不涉及具体的应用程序。IP 规则用于控制底层数据包的传入和传出。
Jetico 的规则匹配是由上到下,下面是 System IP Table :

System Blocked Zone、System Trusted Zone:
System Blocked Zone 和 System Trusted Zone 的 IP 可以通过向导设定。我本人 的 Trusted Zone 是空的,没有任何IP,我不会完全信任任何IP地址的。
来自或发送到 System Blocked Zone 的 IP 数据包默认全部阻止。
来自或发送到 System Trusted Zone 的 IP 数据包默认全部放行。
System Internet Zone:
不属于 System Blocked Zone 和 System Trusted Zone 的 IP 被划分到 System Internet Zone 里,这是 System IP Table 的核心,后面再讲。
DHCP broadcasts :
接下来是 Allow DHCP request 和 Allow DHCP reply 这两条是允许 DHCP 广播,默认是启用的。由于我在 System Application Table 里已经启用了 DHCP 规则,所以这两条禁用。
Block All not Processed IP Packets :
最后是 Block All not Processed IP Packets 这条非常重要,阻止一切无规则匹配的数据包,不能禁用。Jetico 安全策略属于默认阻止的防火墙。
System Internet Table :

Drop Bad Packets :
丢弃没有通过数据包校验的所有IP数据包。一般用户用不到,而且有可能影响连接速度。Jetico V2 目前已经取消这条规则。Comodo 有数据校验。
Deny All Fragmented Packets :
丢弃IP碎片包,Comodo 也有。
Deny TCP w/o flags (NULL scan) :
TCP NULL scan 这种方法向目标端口发送一个不包含任何标志的封包。根据RFC793,对于所有关闭的端口,目标系统应该返回RST标志。
Comodo 通过协议分析和攻击检测搞定。
Deny TCP with flags FIN PSH URG (Xmas scan) :
TCP Xmas scan 这种方法向目标端口发送一个含有FIN, URG,和PUSH标志的封包。根据RFC793,对于所有关闭的端口,目标系统应该返回RST标志
Comodo 通过协议分析和攻击检测搞定。
Allow outgoing DNS:
DNS规则,由于我关闭了 DNS Client ,所以这两条规则可以禁用了,使用 Application Table 的两条 DNS 规则就可以。如果开启 DNS Client ,可以启用这两条规则,禁用 Application Table 的两条 DNS 规则。
ICMP
Allow ICMP Ping
Allow ICMP Ping
Allow incoming ICMP Unreachable
Allow incoming ICMP Time Exceeded
这是最典型的 ICMP 规则:允许 Ping 他人和 允许返回 ICMP Unreachable 和 ICMP Time Exceeded
Allow ICMP out 8
Allow ICMP in 0/3/11
Stateful UDP Inspection : UDP 状态检测
Stateful TCP Inspection:TCP 状态检测
System IP Table 最重要的两条规则,有了 TCP/UDP SPI (Stateful Packet Inspection) 的 System IP Table,已经很完美了,不需要添加规则。
Jetico 的 SPI 引擎会根据 Application Table 里 应用程序的规则,放行程序需要的数据包。就像一个筛子,只允许应用程序需要的数据包通过,不符合的由下面的规则处理 (被 Block All 拦截)。
Allow incoming UDP broadcasts :
允许 接收 UDP 广播,默认禁用。一般用户不需要接收 UDP 广播,可以改成 reject 然后启用。
前面讲过 System IP Table 已经很完美了,任何不恰当的修改只会破坏 SPI 的正常工作,不会给你带来任何好处。
下面介绍一下,比较合理的修改方法。
Jetico 的 SPI 默认是对所有 65536 个TCP/UDP 端口都阻止的,所谓的 Stealth Mode 隐身模式。 除非在 Application Table 的某个程序规则要求对本机某个端口的访问放行,SPI 才会允许通过。还有一种办法就是通过在 System Internet Zone SPI 规则之上 添加强行允许或禁止某些端口的规则,属于对 SPI 的破坏,所以我只会添加 禁止访问某些端口的规则,允许的规则还是交给 SPI 。
比如说 像135 这种高危端口,我根本不在乎是否有程序需要,也不在意 SPI 是 怎么处理,我唯一能做的就是阻止任何发送到 135端口的数据包。那么,需要添加一条规则:
Action : reject
Description : Deny DCOM RPC UDP
Log level : disabled
Protocol : UDP
Event : incoming packet
Source address : any
Source port : any
Destination address : any
Destination port : 135
可以再添加 137-139、445 等等端口,如图所示。所有这些阻止特定端口的规则可以放到一个 Table 里。

继续强调,有了 TCP/UDP SPI (Stateful Packet Inspection) 的 System IP Table,已经很完美了,基本不需要添加规则。
无节制的破坏 SPI 真的能使你更安全吗?
所有规则仅供参考,照搬出了问题,我是概不负责。









Anonymous # 11. February 2007, 14:38
无意坐沙发了,呵呵
用Jetico差不多一个月了,感觉很好,比以前的Mcafee防火墙强很多,现在对它很放心。
希望2.0不要收费:P