查看: 31065|回复: 66
收起左侧

[讨论] COMODO程序网络规则是如何得来(修正)

[复制链接]
伯夷叔齐
发表于 2008-4-28 11:12:36 | 显示全部楼层 |阅读模式
此贴仅仅是针对中级基础防火墙知识的个人防火墙用户所作,由于自身水平所限,很多东西不能上升到理论水平,只能从实践中利用COMODO的优秀功能去学习和运用COMODO。对于防火墙安全性有多大提升,见仁见智,毕竟COMODO是一款优秀的HIPS和全面实现SPI的防火墙,其智能和强大非我这样的个人防火墙中级用户所能够揣测,所以这样的设置是否必要,都需要探讨,但个人相信,通过此篇,一定会给喜爱COMODO的朋友一定裨益,在体味到COMODO强大功能的同时,更能够直观的从运用中摸索到一定的网络知识。

1、此帖没有太高深度,完全是利用谁都会用的COMODO强大而灵活的功能而进行的探索性设置;
2、此帖同时也是一个方法论,而非绝对“硬性”的规则贴,主要讨论的是一种方法;
3、此帖完全是从网络知识“平民化”入手,希望把复杂的理论通过实践而简单化,易懂、易学、易理解为宗旨;
4、此贴安全上的意义有一部分,但更大的意义是在于抛砖引玉,通过把各个程序网络通讯规律从“后台”展现在“前台”,让用户对程序网络通讯规律的认识由模糊走向清晰,以让人们对各个程序网络行为进行更多、跟深入、更广泛的讨论。

一、设置为“规则提取模式”,并提取精细规则————要求系统必须干净
1、在所有连网程序中,最容易造成安全隐患的有浏览器、客户端邮件管理软件、QQ系列、网游、P2P原理程序如迅雷等软件,对于这一系列软件,我们首先就要在D+里阻止其接近DNS/RPC如果允许,程序将调用SVCHOST.EXE,执行递归网络连接访问网络。

阻止程序接近DNS客户端服务此项,程序只有去直接连接特定的DNS服务器站点的53端口。允许此项,那么就可能留下外部针对性的DNS溢出漏洞,为DNS溢出攻击和递归攻击的隐患,个人建议阻止以上程序的此项行为。允许DNS客户端服务,可能会造成DNS递归攻击,(DDOS分布式拒绝服务攻击的一种)恶意攻击会制造上千的欺骗请求,如果程序有漏洞,运行环境恶劣,就可能被木马或黑客利用到。

个人PC主机有自己的DNS解析缓存,当用户主机的解析缓存以前没有记录你现在需要访问的具体域名的IP时,那么程序再通过SVCHOST.EXE访问DNS服务器,这个时候,所有D+中用到本机DNS客户端服务的程序就会用SVCHOST.EXE用UDP协议去访问指定的DNS服务器的53端口。如果直接提供解析的DNS服务器不知道这个域名的IP,那么它就会去连接其他DNS服务器以查找,再次,到根域名服务器的镜像去查找(最上级就是全世界的那13个根域名服务器,12个在美国,1个在日本)...........这个过程就是递归解析。

比如:百度,我们当要访问百度主页时,输入 www.baidu.com给域名服务器,程序就会通过UDP协议通过直接访问远程DNS服务器 或 SVCHOST.EXE递归访问DNS服务器的方式,去发送解析请求,询问百度的具体IP,DNS服务器就会通过自己的DNS缓存找出IP 220.181.37.55这个地址给客户,然后程序访问上面这个百度的地址,通讯就建立。如果是用SVCHOST.EXE通过递归访问,那么这个时候,你的本机DNS缓存也会记录下这个域名的IP。如果不先去解析百度的DNS,除非以前通过DNS递归访问到DNS服务器解析过,本机DNS解析缓存里还有这个域名的具体IP记录。

程序在D+里禁用DNS客户端服务,访问具体站点就会直接到DNS远程服务器解析,而不访问本机解析缓存,当然,这种直接解析的方式在得到具体IP地址后,也不会存到本机解析缓存,供其他需要SVCHOST.EXE递归访问的程序调用,这样,就建立了进一步的安全性。
递归攻击和DNS溢出攻击就是利用了很多程序利用递归解析的毛病,制造IP地址欺骗。很欣慰的是,COMODO的D+能够提供阻止DNS客户端服务,阻止让程序用递归访问方式访问DNS缓存的一个优秀的HIPS。

在CMD里去运行:
ipconfig /displaydns  查看本机DNS解析缓存都有哪些记录
ipconfig /flushdns  清空本机解析缓存。


我们就用傲游浏览器做示范,首先我们在程序发出此项询问时,阻止掉它,并记忆为规则:



2、如果已经建立允许规则,那么我们就到D+里去改动允许为阻止:


3、我们先在MY PORT SETS中建立两个端口段,分别为:

SYSTEM DYNAMIC PORTS 1024-5000

High system dynamic ports(49152-65535)
DYNAMIC PORTS(1024-65535)

4、准备工作已做完,现在我们要做的就是设置防火墙安全模式,以让大家在提取规则中,做到既不烦扰用户,又可以提取到非常精细的规则:

5、删除以前的浏览器网络规则,然后运行浏览器,让其自动提取规则,我用的是傲游,就以傲游作示范:

注意:(1)这个过程中,我们必须访问自己熟悉并信任的安全站点,同时充分运行浏览器里的各项子功能以提取规则

2)由于我开了红伞网页监控,因此浏览器并没有生成访问远程各IP站点的80端口,原因后面我们会谈到,如果没有用到红伞网页监控的朋友,就不会遇到这样的“问题”



二、还原到高安全模式,在有限的防火墙知识基础下,进行规则“提炼”
1、当规则提取到一定程度,然后我们定位到CUSTOM POLICY MODE——VERY这个模式下。我个人更喜欢此模式,因为报警和规则细致度都很严厉,同时,报警项怎么都不要变动,如果变动,会造成以后生成的规则不细,导致重复涵盖,从而失去了我们提炼规则和学习的意义,也不便于规则分析。例如:









[ 本帖最后由 伯夷叔齐 于 2008-7-9 19:40 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1魅力 +1 收起 理由
某某猫 + 1 精品文章

查看全部评分

伯夷叔齐
 楼主| 发表于 2008-4-28 11:13:00 | 显示全部楼层
2、先用CTRL+SHIFT+鼠标左键进行同一类型规则排序,然后开始“提炼”,得到如下规则,在提炼出规则后,我们让防火墙在程序运行时,一旦触发到这些允许规则,就记录到事件日志,以观察其状态:(目的之一主要是看出站时,都调用的端口段。以及某些功能项的连接目标IP,是否是随机的。比如后面谈到的收藏夹功能,看是否始终目标IP为211.99.31.19,如果是固定的,那么每次进行收藏时,在记录日志后,日志始终都会显示出来,否则就无法判断)



三、参考教程和防火墙预设规则,进行进一步“提纯”

1、我们到predefined firewall policies(预设规则)里去看看浏览器默认规则,看来收集的这些规则里,有多余的,甚至是有安全隐患的规则,那些应该是傲游浏览器一些附加功能的网络连接,再去看看U版的浏览器默认设置:

Allow Outgoing HTTP Requests  
[Allow TCP Out From IP Any To IP Any Where Source Port Is In [Dynamic Ports 1025-5000] And Destination Port Is HTTP Ports]
Allow Outgoing FTP Requests
[Allow TCP Out From IP Any To IP Any Where Source Port Is In [Dynamic Ports 1025-5000] And Destination Port Is 21]
Allow Outgoing DNS Requests
[Allow UDP Out From IP Any To In [OpenDNS] Where Source Port Is In [Dynamic Ports 1025-5000] And Destination Port Is 53]
Allow Access to Loopback Zone
[Allow IP Out From IP Any To In [Loopback Zone] Where Protocol Is Any]
Block and Log All Unmatching Requests


2、我们可以看到,U版的浏览器规则比防火墙默认的预设浏览器规则要精细得多,1024-5000端口充分的派上了用场,但同样也有多余,原因是U版写这个规则时,不可能知道不同地区的用户,用到的具体DNS服务器。下面我们根据用户自身的实际情况来建立最终傲游浏览器规则。先看在运行傲游时,防火墙日志记录:


3、看来浏览器利用1024-5000这段系统动态端口动态的连接到61.128.192.68这个DNS服务器地址去解析域名,经在http://www.ip138.com/IP查询:,这个地址61.128.192.68属于重庆电信的一个DNS服务器,看来域名解析重庆电信用户用到的就是本地电信的DNS服务器(不同地方、不同电信的用户,DNS服务器地址都不一样,此文仅仅是探讨一个方法);同样,从0.0.0.0(所有不清楚的主机和目的网络)到127.0.0.1本机,是一个作为本地代理转发接收来监控的过程,程序也利用系统动态端口在连接44080这个端口。(后面我们会讲到)在整个规则“提纯”中,出站连接都是用到的1024-5000这个端口段。

4、接下来我们通过日志,再看看连接到远程服务器的9000端口的状态,结果通过无数次重复启动傲游浏览器,均显示是本地5000端口在连接此远程IP9000端口,通过“百度”,得知这个连接的目的是在线上传收藏夹,以方便收藏夹丢失或重装系统和傲游浏览器的情况下,在线同步恢复收藏夹。而对其他的远程端口如:67893333102753407490008000等端口,傲游官方自己都没有一个明确解释,那么从安全角度出发,我们移除这些不明连接。

通过U版教程、防火墙预设规则、防火墙日志记录、动态连接状态等参照,结合自己需要,最终,我们得到最后的规则,看看是否够细致:



5、规则解释:
allow UDP out from IP any to IP 211.99.31.19 where source ports is 5000 and destination port is 9000————傲游浏览器收藏夹上传服务,5000端口会用UDP协议连出到IP211.99.31.19的9000端口

【allow TCP out from IP any to IP any where source ports is 1024-5000 and destination port is 80,8080————浏览不同非加密网页,会用HTTP(超文本传输协议)去访问不同网站的服务器的80和8080端口,如果安装有红伞,那么此两项目标端口分别为80和8080端口的规则,将不会生成,除非关闭网页监控。】

allow TCP out from IP any to IP any where source ports is 1024-5000 and destination port is 443————浏览加密网页,会用到HTTPS(安全超文本传输协议))去访问不同网站的服务器的443端口,红伞网页应该不监控这个加密网页,也监控不了。

allow UDP out from IP any to IP 61.128.128.68 where source ports is 1024-5000 and destination port is 53————根据地域不同,不同电信,浏览器连接到特定的DNS服务器的53端口,用户根据自己需要提取

allow UDP out from IP any to IP 61.128.192.68 where source ports is 1024-5000 and destination port is 53————同上,一般情况下,各个电信服务商都有两个DNS服务器,其中一个作为备用。如果程序在D+里允许访问系统DNS客户端服务,那么程序将通过程序间的组件进行通讯,因此网络规则里也不会生成此两项,或产生的此两项规则就没有生效。以上两条访问DNS服务器的设置规则,如果是7月8日升级了新补丁的XP用户,请把动态端口设置为49152-65535,否则无法访问网络!

alow TCP out from IP any to IP any where source ports is 1024-5000 and destination port is 21————利用文件传输协议访问远程服务器的21端口,以进行FTP协议的文件上传和下载;

alow TCP out from IP any to IP any where source ports is 1024-5000 and destination port is 1024-65535————通过下载被动FTP资源,浏览器将会与远程服务器的1024-65535端口段进行通讯;


allow TCP out from IP any to 127.0.0.1 where source ports is 1024-5000 and destination port is 44080————对80和8080端口的HTTP通讯,红伞网页监控将作为本地代理转发和接收,以此来监控网络连接;

当然,如果没有用到类似上面这条网页监控规则的朋友,那么在与各个站点通讯时,除了用到80 443端口外,还会用到服务器的8080端口,那么把前面目标端口(destination ports)为80 443 8080的规则合并为一条:
allow TCP out from IP any to IP any where source ports is 1024-5000 and destination port is HTTP。    HTTP可以在端口组去导入。

1024-5000端口是为系统分配的动态端口,大部分程序连接网络时,这个端口段逐次循环使用

注:windows xp新7月8日新升级的用户,大部分程序访问DNS服务器将会用到49152-65535端口段


四、红伞网页监控用到的监听端口是44080端口,邮件监控端口用到的是44110端口。在之前浏览器网络连接规则提取中,始终没有提取出浏览器连接远程服务器的80端口,因为小红伞网页监控作为本地代理转发和接收来进行网页安全监控。


1、当我们设置好规则后,关闭红伞网页监控,再运行浏览器,这个时候,浏览器程序出现提示框,显示程序连接远程80端口,询问是否建立连接远程80端口的规则,80端口用于访问网页的HTTP协议。如果阻止,浏览器将不能访问该网页,看来这个时候,ALLOW TCP OUT FROM IP ANY TO IP 127.0.0.1 WHERE SOURCE PORT IS IN [SYSTEM DYNAMIC PORTS]AND DESTINATION PORT IS44080规则失效;

2、当红伞网页监控开启时,如果把上面的规则改为阻止,那么浏览器也无法连接到指定的网页。

五、“工程封顶”
规则设置完毕后,再经过一段的反复验证,阻止其他不需要连接后,浏览器运行正常,接下来我们只需要把最后那条Block And Log IP In From IP Any To IP Any Where Protocol Is Any修改为:
Block And Log IP In/out From IP Any To IP Any Where Protocol Is Any即可,这样,防火墙就不会出现针对傲游浏览器的任何报警,而对不符合上面规则的连接一并阻止。

六、程序网络规则秀
当然还有很多程序,各有不同。所以以上举例为典型的浏览器规则。这样的提炼规则方法对于单纯访问固定地址的升级程序,往往更安全,也更简单,比如一般的升级程序等。最后,只有通过发图的形式,来展示一下我的COMODO“网络规则秀”,以提供大家以参考:(以下规则均为单机ADSL规则)


由于原标题太耸动,可能造成了一些理解上的误会,现在特此更改为《COMODO程序网络规则是如何得来》,以表达此帖的真正目的。

(完)

[ 本帖最后由 伯夷叔齐 于 2008-12-25 03:04 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 2经验 +16 收起 理由
polly5771 + 8 值得学习:-)
klovecui + 8 期待您更多精彩的文章。:)

查看全部评分

wolfmei
发表于 2008-4-28 11:16:57 | 显示全部楼层
插队。。

增加见识的时候到了。
langzi1
发表于 2008-4-28 11:47:44 | 显示全部楼层
感觉有点复杂,看的头晕晕的
某某猫
发表于 2008-4-28 12:16:54 | 显示全部楼层
从大量规则提炼精华,U版打磨也是这样出来的
支持LZ多发好帖
8600569
发表于 2008-4-28 15:11:49 | 显示全部楼层
楼主的帖子很不错正在学习
hulu2006
发表于 2008-4-28 15:13:09 | 显示全部楼层
坚决支持
学习长见识
抓抓
发表于 2008-4-28 15:53:15 | 显示全部楼层
呵呵,这么繁琐的事情我绝对不会干。。。。
伯夷叔齐
 楼主| 发表于 2008-4-28 16:22:01 | 显示全部楼层
原帖由 抓抓 于 2008-4-28 15:53 发表
呵呵,这么繁琐的事情我绝对不会干。。。。
所以帖子开始我就说明,这样的设置只适合个人防火墙的初级、中级用户。
我还是有几点理由的:
1、可能你有所不知,其实很多朋友看到很多高手的规则时,羡慕的同时,也让人摸不着头脑,此帖更多是释疑贴和程序网络连接行为的探索贴,受益者将是很多初级中级用户,比如我,从实践探索中,的确可以学到太多;
2、个人防火墙防内很重要,尽管COMODO有很强大的HIPS,但谁也不能保证由于用户的疏忽,或木马猖獗,而反泄漏在防火墙部分失败,那么如果之前这样限定了连出,比如域名解析,我们连出到61.128.192.68的53端口,而如果不这样限制,那么很有可能木马通过默认下的笼而统之的允许所有IP出站连接到所有IP的所有端口,而连到黑客那儿;同样我也从你的帖中了解到现在的木马外连端口不定,正因为如此,我们才要限定其外连目的地,做到尽可能的相对安全。你有所不知,专业测试站点的防火墙部分的很多反泄漏测试,用到了相当多的这种手段;
3、复杂吗?!我为了写这个贴,用到的是一个典型程序,当然,迅雷这个程序这样设置将更麻烦,但同样可以通过设置达到更精确的限定和更大的安全,如果用这样的方法去设置某某程序升级,简直是太简单了,而且一步到位,我相信个人用户电脑里的20多个左右的程序里,更多的是这样的程序。所有的设置,都是“一劳永逸”的目的;
4、不知道你以前用的墙是什么,但很显然,我认为你的水准显然高出我这样的中级用户很大一部分;但同时,个人感觉,你在防火墙规则设置的思维上还是有点没有脱离包过滤墙的传统设置思维,也许更多的是思路上的不同吧。

很多防火墙上的问题,以后还要更多的向你请教呀,非常感谢你的支持。抓抓回帖,已经是蓬荜生辉,求教角度,我不得不接招。

[ 本帖最后由 伯夷叔齐 于 2008-5-26 01:37 编辑 ]
wolfmei
发表于 2008-4-28 16:45:30 | 显示全部楼层
原帖由 伯夷叔齐 于 2008-4-28 16:22 发表
所以帖子开始我就说明,这样的设置只适合个人防火墙的初级、中级用户。
我还是有几点理由的:
1、可能你有所不知,其实很多朋友看到很多高手的规则时,羡慕的同时,也让人摸不着头脑,此帖更多是释疑贴和程序网络连 ...


的确比较麻烦,我承认我是一个懒人,也是一个大忙人,我除非在我非常无聊或者空闲的时候才这样做,有时候自己搞好了规则,也想写点教程出来跟各位分享下,但是我实在是忙(主要是懒,打字不用说了,截图啊那个烦啊)。所以我也挺佩服LZ的精神跟毅力,研究的同时还写出心得分享给我们。(更不用说U版的打磨贴了,简直是不可能完成的任务)所以LZ我支持你,顶!~!!

但是抓抓说话的方式有点不妥,正所谓说者无心,听者有意。既然LZ写了心得分享,总不能这样说,稍微婉转一下大家都好过,不是么?

[ 本帖最后由 wolfmei 于 2008-4-28 16:47 编辑 ]
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-19 22:31 , Processed in 0.126732 second(s), 19 queries .

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

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